/** * Creates an RDF model of publications and vcards, then uses RDQL * to query the model. */ //Java IO classes. import java.io.PrintWriter; import java.io.Writer; import java.io.InputStreamReader; import java.io.FileInputStream; import java.io.InputStream; import java.io.IOException; import java.io.BufferedReader; import java.io.FileReader; import java.io.OutputStream; //Java utility classes import java.util.StringTokenizer; import java.util.Vector; import java.util.Iterator; //The Dublin Core import com.hp.hpl.mesa.rdf.jena.vocabulary.DC; //The VCARD class import com.hp.hpl.mesa.rdf.jena.vocabulary.VCARD; //Use the memory model implementation import com.hp.hpl.mesa.rdf.jena.mem.ModelMem; //Model package imports import com.hp.hpl.mesa.rdf.jena.model.Model; import com.hp.hpl.mesa.rdf.jena.model.Resource; import com.hp.hpl.mesa.rdf.jena.model.Property; import com.hp.hpl.mesa.rdf.jena.model.Statement; import com.hp.hpl.mesa.rdf.jena.model.StmtIterator; import com.hp.hpl.mesa.rdf.jena.model.RDFNode; import com.hp.hpl.mesa.rdf.jena.model.RDFException; import com.hp.hpl.mesa.rdf.jena.model.ResIterator; //RDQL imports import com.hp.hpl.jena.rdf.query.Query; import com.hp.hpl.jena.rdf.query.QueryExecution; import com.hp.hpl.jena.rdf.query.QueryEngine; import com.hp.hpl.jena.rdf.query.QueryResults; import com.hp.hpl.jena.rdf.query.ResultBinding; public class DublinCoreEx7 { //Some URIs for people with VCARDS. String[] nameUris={"http://cgl.indiana.edu/people/GCF", "http://cgl.indiana.edu/people/MEP", "http://cgl.indiana.edu/people/DBC"}; //Some URIs for VCARDs. Model model=null; public DublinCoreEx7() throws Exception { model=new ModelMem(); new DublinCoreEx7(model); } public DublinCoreEx7(Model model) throws Exception { this.model=model; DublinCoreEx5 dc5=new DublinCoreEx5(model); dc5.init(); dc5.printRDFXML(model,System.out); } //Process a query string public QueryResults processQuery(String queryString,Model model) { Query query=new Query(queryString); query.setSource(model); QueryExecution qe=new QueryEngine(query); QueryResults results=qe.exec(); return results; } //Print the results of the query public void printQueryResults(QueryResults results) { for(Iterator iter=results;iter.hasNext();) { ResultBinding res=(ResultBinding)iter.next(); System.out.println(res.toString()); } } public static void main(String[] args) throws Exception{ Model model=new ModelMem(); DublinCoreEx7 dc7=new DublinCoreEx7(model); String queryString="SELECT ?x, ?fname "+ "WHERE (?x, ,?fname)"; dc7.printQueryResults(dc7.processQuery(queryString,model)); } }