【发布时间】:2014-05-12 15:46:44
【问题描述】:
我已将 RDF 数据存储加载到 OpenRDF 存储库中,然后我尝试查询存储库并根据查询检索某些数据。我正在运行一个非常简单的查询来获取所有主题谓词和对象。但是当我尝试打印查询结果时,它只显示第一个三元组。我给出了只做查询工作的方法的代码,请检查并告诉我有什么问题。-
private static void queryingRDF(Repository repo) {
try{
RepositoryConnection con = repo.getConnection();
try{
String queryString = "SELECT ?s ?p ?o WHERE { ?s ?p ?o } ";
TupleQuery tupleQuery = con.prepareTupleQuery(QueryLanguage.SPARQL, queryString);
TupleQueryResult result = tupleQuery.evaluate();
try {
BindingSet bindingSet = result.next();
Value valueOfX = bindingSet.getValue("s");
Value valueOfY = bindingSet.getValue("p");
Value valueOfZ = bindingSet.getValue("o");
System.out.println(valueOfX);
System.out.println(valueOfY);
System.out.println(valueOfZ);
}
finally {
result.close();
}
}
finally{
con.close();
}
}
catch(OpenRDFException e){
System.out.println("Query error");
}
}
【问题讨论】:
-
我只是注意到这在user documentation 中不够清楚,代码示例有点混乱。现已修复。