Rdf 从Java查询TDB不返回任何内容
我试图从DBpedia数据集中查询一个TDB数据库,该数据库有几个RDF条目用于测试,稍后它将有更多条目。 我使用的是在中找到的建议,但程序不返回任何内容Rdf 从Java查询TDB不返回任何内容,rdf,jena,dbpedia,Rdf,Jena,Dbpedia,我试图从DBpedia数据集中查询一个TDB数据库,该数据库有几个RDF条目用于测试,稍后它将有更多条目。 我使用的是在中找到的建议,但程序不返回任何内容 public static void main(String[] args) throws Exception { String directory = "C:\\Users\\MyPC\\Fuseki\\Fuseki-0.2.0\\mydatasets"; Dataset dataset = TDBFactory.creat
public static void main(String[] args) throws Exception {
String directory = "C:\\Users\\MyPC\\Fuseki\\Fuseki-0.2.0\\mydatasets";
Dataset dataset = TDBFactory.createDataset(directory);
Model model = dataset.getDefaultModel();
String queryString = "SELECT * WHERE { ?s ?p ?o }";
Query query = QueryFactory.create(queryString);
QueryExecution qexec = QueryExecutionFactory.create(query, model);
try {
ResultSet results = qexec.execSelect();
for (; results.hasNext();) {
QuerySolution soln = results.nextSolution();
System.out.println(soln);
RDFNode x = soln.get("varName"); // Get a result variable by name.
Resource r = soln.getResource("VarR"); // Get a result variable - must be a resource
Literal l = soln.getLiteral("VarL"); // Get a result variable - must be a literal
}
} catch (Exception e) {
System.err.print("Error:"+e.getMessage());
} finally {
qexec.close();
}
}
当调试器进入forfor(;results.hasNext();){
循环时,它只跳过try块,进入底部的qexec.close()
。我知道我的存储中有数据,因为我可以从Fuseki执行相同的查询并获取所有数据行
有人能给我指出正确的解决方法吗?我尝试了不同的方法,但没有成功。听起来好像没有结果。尝试添加:
System.err.printf("Model size is: %s\n", model.size);
要查看模型有多大:我怀疑答案是0
您是如何加载数据的?是否确定
C:\\Users\\MyPC\\Fuseki\\Fuseki-0.2.0\\mydatasets
是正确的位置?听起来好像没有结果。请尝试添加:
System.err.printf("Model size is: %s\n", model.size);
要查看模型有多大:我怀疑答案是0
你是如何加载数据的?你确定
C:\\Users\\MyPC\\Fuseki\\Fuseki-0.2.0\\mydatasets
是正确的位置吗?我发现了我的问题!愚蠢的我输入了存储所在的错误数据目录!谢谢我发现了我的问题!愚蠢的我输入了存储所在的错误数据目录!谢谢