3

我想为关于发布的 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 参考的正确(即最有益的)方式是什么?

4

1 回答 1

5

首先,您需要参考RDF/XML 规范,但通常您要查找的是 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 序列化。

于 2012-08-21T14:31:01.870 回答