在RDF中引用URN的目的是什么?

时间:2012-08-21 13:17:29

标签: rdf semantic-web urn

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

1 个答案:

答案 0 :(得分:5)

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

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

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

我猜您正在使用Java,在这种情况下,您应该在编写应用程序时查看JenaSesame。如果您使用.Net,那么您应该查看dotNetRdf。其他语言可能是一个混合包,我知道库存在Python&amp; PHP,但我没有足够使用它们来提供有关使用内容的建议。

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