[英]Create RDF model with typed classes and rdf:id
我想到了一个问题: 如何在CIM / RDF中匹配JAXB元素? 寻找使用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>
当找到相同的ID时,RDF(或仅仅是JENA,我不知道确切)嵌套了这些类。 然后,要处理数据,我们需要以某种方式解析rdf:resource字符串以删除#
因此,在这种情况下,我的问题是...
1)如何编写rdf:id
而不是rdf:about
2)如何用我自己的类名替换rdf:Descritpion
myns:Object1
,例如myns:Object1
谢谢!
要回答问题2,我必须以这种方式创建资源:
Resource object1 = model.createResource(idObject1,
model.createResource(Basics.getURI()+ Object1.class.getSimpleName()))
因此,这种方式的输出如下所示:
<myns:Object1 rdf:about="idObject1">
<myns:GeneralObject.Object2 rdf:resource="#idObject2"/>
<cim:IdentifiedObject.aliasName>GT01</cim:IdentifiedObject.aliasName>
</myns:Object1>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.