在RDF中引用URN的预期方式是什么?

在RDF中引用URN的预期方式是什么?,rdf,semantic-web,urn,Rdf,Semantic Web,Urn,我想对关于发布的RDF/XML语句建模(在名称空间中,比如“myns”)。我知道这份出版物是在特定的瓮下发行的。在RDF中引用该URN的正确方法是什么?我可以想出许多不同的方法来做到这一点,例如: <myns:Publication rdf:about="item42"> <myns:urn>urn:abc:xy:123-456789</myns:urn> </myns:Publication> <myns:Publication

我想对关于发布的RDF/XML语句建模(在名称空间中,比如“myns”)。我知道这份出版物是在特定的瓮下发行的。在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:abc:xy:123-456789
urn:abc:xy:123-456789
urn:abc:xy:123-456789

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

首先,您需要引用,但通常您需要的是rdf:resource属性,例如:

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

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

我猜您使用的是Java,在这种情况下,您应该在编写应用程序时查看其中一个。如果您使用的是.Net,那么您应该查看。其他语言可能是一个混合包,我知道Python和PHP的库存在,但我没有充分使用它们来对使用什么提出好的建议

最后,除非需要使用基于XML的RDF序列化,否则不要使用RDF/XML。这本书很难看,也很难阅读,如果你一直坚持用手去做,就像你看起来那样,很容易出错。我的建议是使用更人性化的RDF序列化