【问题标题】:Is it possible to add XML attributes to RDF/XML property elements?是否可以将 XML 属性添加到 RDF/XML 属性元素?
【发布时间】:2016-04-11 05:16:54
【问题描述】:

我正在处理一个 RDF 文档,我想在其中将属性 b:type="OAId" 添加到属性元素,如下所示。这可能吗?我正在使用耶拿。

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:b="http://example.com/pred">

<rdf:Description   
    rdf:about="http://example.com/pred/I995aa63fa85411e28578f7ccc38dcbee">
    <rdf:type>Company</rdf:type>
    <b:markedText>OKLAHOMA CORPORATION COMMISSION</b:markedText>
    <b:target b:type="OAId">5026393404</b:target>  <!-- extra attribute b:type -->
    <!-- ... -->
</rdf:Description>

【问题讨论】:

  • 你能用自然语言解释你想要实现的目标吗?
  • 有没有办法将自定义文字添加到类似于 Jena API 的类型化文字的属性中。

标签: java xml rdf jena


【解决方案1】:

如果您在想要添加的位置添加 XML 属性,您将不再拥有合法的 RDF/XML。如果我将您的 sn-p 粘贴到 W3C's validator,我会收到错误消息:

错误:{E201} 此属性元素上的属性不允许与任何内容一起使用;期待结束元素标签。[Line = 8, Column = 39]

【讨论】:

  • 谢谢泰勒。但是 Apache Jena 提供了 Typed literals,如下所示: w3.org/1999/02/22-rdf-syntax-ns#" xmlns:eg="example.org" > example.org/company"> example.org/party"> 0456253 其中 rdf:datatype="OAID" 是一个类型化的文字,它是 谓词的属性。类似的方式我们可以创建自定义文字吗?
  • @hyma 当然,您可以使用所需的任何数据类型创建文字,但属性上的 xml 属性将是 rdf:datatype,而不是 b:type,就像在您的示例中一样。 rdf:datatype 属性的 是文字的数据类型。
  • 谢谢约书亚。这很有帮助