繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM