VirtuosoにはHTTP経由でクエリを投げることができる。
以下は実装例。
import com.hp.hpl.jena.query.*;
import com.hp.hpl.jena.rdf.model.RDFNode;
import com.hp.hpl.jena.sparql.util.StringUtils;
public class Virtuoso {
public static void main(String[] args) {
String service = "http://dbpedia.org/sparql";
String queryString =
"PREFIX rdfs: "+
"SELECT ?x ?y "+
"WHERE {?x rdfs:label ?y}";
Query query = QueryFactory.create(queryString);
QueryExecution qe = QueryExecutionFactory.sparqlService(service, query);
try {
ResultSet results = qe.execSelect();
for (; results.hasNext();) {
QuerySolution soln = results.nextSolution();
RDFNode x = soln.get("x");
RDFNode y = soln.get("y");
System.out.println(x.toString());
System.out.println(y.toString());
}
} catch (Exception e) {
System.out.println("Query error:" + e);
} finally {
qe.close();
}
}
}
0 件のコメント:
コメントを投稿