我遇到了这个问题: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:资源的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
谢谢!
答案 0 :(得分:0)
要回答问题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>