【问题标题】:Create RDF model with typed classes and rdf:id使用类型化类和 rdf:id 创建 RDF 模型
【发布时间】:2018-05-22 11:06:26
【问题描述】:

我遇到了这个问题: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: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

谢谢!

【问题讨论】:

  • 您不应该使用 Jena 解析 RDF,然后根据需要创建 XML 吗?
  • 我不知道,我为什么要问。我正在从一组 JAVA 类创建 RDF(现在手动创建,因为我正在学习如何做) 创建 XML... 通过 DOM 或 JAXB,你的意思是?我期待使用 JENA API 来操作 RDF。如果不是这样,JENA 中应该有一些方法可以处理?
  • RDF/XML 序列化是技术性的——您可能必须深入研究 Jena(或 RIOT)的内部结构。请在 Jena 邮件列表 上提出这个问题,开发人员更清楚该怎么做。从语义的角度来看,只要 RDF 三元组编码正确,序列化对大多数人来说并不重要。
  • 谢谢@AKSW 我将使用耶拿邮件列表!同时,我把问题留在这里,希望其他人以前也遇到过这个问题!

标签: java xml rdf jena


【解决方案1】:

要回答问题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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    相关资源
    最近更新 更多