我正在尝试将 resultset
转换为 XML/RDF 格式,但使用以下代码:
ResultSet result = rmParliament.selectQuery(select);
System.out.println(ResultSetFormatter.asText(result));
ResultSetFormatter.outputAsRDF(System.out, "RDF/XML", result);
代码的第二行是验证查询的正确行为(有效!),但我在控制台中得到以下输出:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rs="http://www.w3.org/2001/sw/DataAccess/tests/result-set#" >
<rdf:Description rdf:nodeID="A0">
<rs:size rdf:datatype="http://www.w3.org/2001/XMLSchema#int">0</rs:size>
<rs:resultVariable>value</rs:resultVariable>
<rs:resultVariable>property</rs:resultVariable>
<rs:resultVariable>name</rs:resultVariable>
<rdf:type rdf:resource="http://www.w3.org/2001/sw/DataAccess/tests/result-set#ResultSet"/>
</rdf:Description>
</rdf:RDF>
不包含我的数据,我的代码有什么问题?
最佳答案
问题是您的打印调试实际上消耗了所有结果,最后留下了 ResultSet
。当您尝试将其输出为 RDF/XML 时,没有更多可用结果。
您可以通过生成 ResultSet
来修复它 rewindable :
ResultSetRewindable result =
ResultSetFactory.makeRewindable( rmParliament.selectQuery(select) );
System.out.println(ResultSetFormatter.asText(result));
result.reset(); // back to the start
ResultSetFormatter.outputAsRDF(System.out, "RDF/XML", result);
关于java - 在 Jena 中将结果集转换为 RDF/XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27168750/