使用类型化类和rdf:id创建RDF模型



我得到了这个问题:如何匹配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>

RDF(或者只是JENA,我不确切知道(当找到相同的id时,它会嵌套类。然后,为了处理数据,我们需要以某种方式解析 rdf:resource 字符串以删除 #

所以,在这种情况下,我的问题是...

1(如何编写rdf:id而不是rdf:about

2( 如何用我自己的类名替换rdf:Descritpion,例如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>

最新更新