我需要创建如下所示的 RDF:
<rdf:Description rdf:about='uri1'>
<namespace:level1>
<rdf:Description>
<namespace:blankNode rdf:resource='uri2'/>
<namespace:text></namespace:text>
</rdf:Description>
</namespace:level1>
</rdf:Description>
<rdf:Description rdf:about="uri2">
some properties here
</rdf:Description>
如您所见,有嵌套结构,也有空白节点。 (我不知道这是否是我结构中“blankNode”属性的确切术语。)如果我使用
model.write(System.out, "RDF/XML-ABBREV");
然后连空白节点都被嵌套了,这是我不想要的。有没有办法使用耶拿获得这种结构?或者是否有任何其他 Java 库可以更好地处理这个问题?
最佳答案
我认为你的做法是错误的。
嵌套是一个只有在谈论树时才有意义的概念。但 RDF 与树无关,它与三元组有关。暂时忘掉 XML 的结构,想想在 XML 中编码的三元组。我发现 model.write(System.out, "N-TRIPLES");
对此最有用。
您首先需要了解您希望 RDF/XML 文件表达哪些三元组。只要它表达正确的三元组,一个节点是否嵌套在另一个节点中或事物出现的顺序都无关紧要。这些纯粹是“装饰性”问题,例如缩进。
关于java - 如何从 Jena 获取嵌套的 RDF/XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10476022/