【发布时间】:2018-05-22 11:06:26
【问题描述】:
我遇到了这个问题:How match JAXB elements in CIM/RDF? 正在寻找使用 RDF 创建 CIM/XML 文件的方法。 通过这个问题,我学会了如何获取这种格式的 RDF 文件
<rdf:Description rdf:about="idObject2">
<myns:Object2.Property rdf:resource="#idAnotherObject"/>
<cim:IdentifiedObject.aliasName>CP01</cim:IdentifiedObject.aliasName>
</rdf:Description>
<rdf:Description rdf:about="idObject1">
<myns:GeneralObject.Object2 rdf:resource="#idObject2"/><cim:IdentifiedObject.aliasName>GT01</cim:IdentifiedObject.aliasName>
</rdf:Description>
CIM 标准在 rdf:resource 的 id 中添加了一个 #,因此我们不会得到像这样更分层的格式
<rdf:Description rdf:about="idObject1">
<myns:GeneralObject.Object2>
<rdf:Description rdf:about="idObject2">
<iso:Object2.Property rdf:resource="#idAnotherObject"/>
<cim:IdentifiedObject.aliasName>CP01</cim:IdentifiedObject.aliasName>
</rdf:Description>
</myns:GeneralObject.Object2>
<cim:IdentifiedObject.aliasName>GT01</cim:IdentifiedObject.aliasName>
</rdf:Description>
RDF(或者只是 JENA,我不太清楚)当找到相同的 id 时,它会嵌套类。然后,要处理数据,我们需要以某种方式解析 rdf:resource 字符串以删除 #
因此,在这种情况下,我的问题是......
1) 我如何写rdf:id 而不是rdf:about
2) 我如何用我自己的类名替换rdf:Descritpion,例如myns:Object1
谢谢!
【问题讨论】:
-
您不应该使用 Jena 解析 RDF,然后根据需要创建 XML 吗?
-
我不知道,我为什么要问。我正在从一组 JAVA 类创建 RDF(现在手动创建,因为我正在学习如何做) 创建 XML... 通过 DOM 或 JAXB,你的意思是?我期待使用 JENA API 来操作 RDF。如果不是这样,JENA 中应该有一些方法可以处理?
-
RDF/XML 序列化是技术性的——您可能必须深入研究 Jena(或 RIOT)的内部结构。请在 Jena 邮件列表 上提出这个问题,开发人员更清楚该怎么做。从语义的角度来看,只要 RDF 三元组编码正确,序列化对大多数人来说并不重要。
-
谢谢@AKSW 我将使用耶拿邮件列表!同时,我把问题留在这里,希望其他人以前也遇到过这个问题!