【问题标题】:What is the intended way to reference a URN in RDF?在 RDF 中引用 URN 的预期方式是什么?
【发布时间】:2012-08-16 20:22:34
【问题描述】:

我想为一个关于发布的 RDF/XML 语句建模(在命名空间中,比如“myns”)。我知道这个出版物在给定的 URN 下是已知的。在 RDF 中引用该 URN 的正确方法是什么?我可以想到许多不同的方法来做到这一点,例如:

<myns:Publication rdf:about="item42">
    <myns:urn>urn:abc:xy:123-456789</myns:urn>
</myns:Publication>

<myns:Publication rdf:about="item42">
    <rdfs:seeAlso>urn:abc:xy:123-456789</rdfs:seeAlso>
</myns:Publication>

<myns:Publication rdf:about="item42">
    <owl:sameAs>urn:abc:xy:123-456789</owl:sameAs>
</myns:Publication>

<myns:Publication rdf:about="item42">
    <owl:sameAs rdf:reference="urn:abc:xy:123-456789" />
</myns:Publication>

提供 URN 参考的正确(即最有益的)方式是什么?

【问题讨论】:

    标签: rdf semantic-web urn


    【解决方案1】:

    首先,您需要引用RDF/XML spec,但通常您要查找的是 rdf:resource 属性,例如:

    <owl:sameAs rdf:resource="urn:abc:xy:123-456789"/>
    

    但是,您应该从不手动创建 RDF/XML。我知道的每个工具包都提供了某种类型的 RDF 图形对象表示和用于为您处理这些事情的各种 RDF 格式的序列化程序。

    我猜您正在使用 Java,在这种情况下,您应该在编写应用程序时查看 JenaSesame。如果您使用.Net,那么您应该查看dotNetRdf。其他语言可能好坏参半,我知道 Python 和 PHP 的库存在,但我使用它们的程度不足以对使用什么提出好的建议。

    最后,除非您需要使用基于 XML 的 RDF 序列化,否则不要使用 RDF/XML。它丑陋且难以阅读,如果你坚持手工操作,就像你看起来那样,很容易出错。我的建议是使用Turtle,这是一种更加人性化的 RDF 序列化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      • 2018-08-07
      • 2012-10-29
      • 2017-04-22
      相关资源
      最近更新 更多