java - 在 Jena 中将结果集转换为 RDF/XML

标签 java xml rdf jena

我正在尝试将 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/

相关文章:

java - java项目中xsl文件放在哪里?

python - python 中的 XML 解析 : expaterror not well-formed

web - SPARQL查询中的评论?

java - 如何将 rdf xml 转换为 n-triples?

java - Eclipse Mars保存后始终无法解决导入问题,但是仅清理项目就可以解决

java - 必需的列表参数 'state' 不存在错误

java - 使用 java 创建重复的 xml 元素

java - Android Studio findViewById 在查找 EditText 时抛出错误

jquery - mxGraph 自定义用户对象,具有 xml 子元素读取和写入

rdf - 使用 SPARQL 和 Jena 检索 OWL 类层次结构中的所有路径