我提出了这个问题:How match JAXB elements in CIM/RDF?正在寻找使用RDF创建CIM文件的方法。通过这个问题,我了解了如何获得这种格式的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
谢谢!
发布于 2018-06-04 22:11:00
要回答问题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>https://stackoverflow.com/questions/50466154
复制相似问题