package inf.unibz.ontop.sesame.tests.general; import java.util.List; import junit.framework.TestCase; import org.openrdf.model.Value; import org.openrdf.query.BindingSet; import org.openrdf.query.QueryLanguage; import org.openrdf.query.TupleQuery; import org.openrdf.query.TupleQueryResult; import org.openrdf.repository.Repository; import org.openrdf.repository.RepositoryConnection; import sesameWrapper.SesameVirtualRepo; public class SesameVirtualTest extends TestCase { public void test() throws Exception { //create a sesame repository RepositoryConnection con = null; Repository repo = null; try { String owlfile = "C:/Project/Test Cases/Book.owl"; String obdafile = "C:/Project/Test Cases/Book.obda"; //create a Quest Sesame Virtual Repository giving name, owl and obda-file, // existential reasoning [true|false], rewriting technique [TreeWitness|Default] repo = new SesameVirtualRepo("my_name", owlfile, obdafile, false, "TreeWitness"); //Repositories always must be initialized first repo.initialize(); //Get the repository connection con = repo.getConnection(); // query the repository using the connection String queryString = "PREFIX : \n" + "SELECT ?x ?y WHERE {?x a :Book; :title ?y}"; TupleQuery tupleQuery = con.prepareTupleQuery(QueryLanguage.SPARQL, queryString); TupleQueryResult result = tupleQuery.evaluate(); //get the binding names and print out List bindingNames = result.getBindingNames(); System.out.println(bindingNames); while (result.hasNext()) { //get next bindingSet from result BindingSet bindingSet = result.next(); //for each binding get value and printout for (String binding : bindingNames) { Value value = bindingSet.getValue(binding); System.out.println(value.toString()); } } //Close result set to release resources result.close(); // Finally close connection to release resources System.out.println("Closing..,"); con.close(); } catch (Exception e1) { e1.printStackTrace(); } System.out.println("Done."); } }