rdf:resource,rdf:about和rdf:ID之间的概念差异是什么?我做了一些调查,但他们之间的区别对我来说还不清楚。例如,在第一次声明资源时是否使用rdf:ID,rdf:resource用于引用已存在的资源等。
如果你提供一些小例子,我会很高兴的。
要清楚这只是关于编写rdf的一种特殊方式:即RDF / XML。其他语法没有这些差异。
原文链接:https://www.f2er.com/xml/293164.html有了免责声明:
我们要做的是写下表格的陈述:
subject predicate object
特别是:
subjectURI predicate objectURI
那么我们如何在RDF / XML中引入主题和对象URI呢?
> rdf:about设置语句的主题URI,它可以是绝对的(http://example.com/)或相对于文档的BASE解析(例如/ foo / bar,#fra)。 (像html中的href一样)
> rdf:resource再次设置语句的对象URI,绝对或相对。
> rdf:ID设置主题URI,但它只能在此文档中。 ID也只能使用一次。非常喜欢< a name =“baz”>或者html中的id =“baz”。
rdf:不鼓励ID
>你可以用rdf:about或rdf:资源替换它,片段为#baz和
>如果您多次使用相同的ID,它可能会导致xml问题。
也就是说,它是多余的并且是潜在的错误来源。
回想起来,通常只需要一个属性来指定URI,因为从RDF / XML语法中可以看出某些东西是主题还是对象:
<ex:Foo ...> - subject <ex:prop ... /> - property then object </ex:Foo> <ex:Foo ...> - subject <ex:prop> - property <ex:Bar ... /> - subject (and implictly an object chaining from prevIoUs) ...
(经验法则:奇数行rdf:约,偶数行,rdf:资源)
并且在元素上使用rdf:about和rdf:resource几乎总是一个错误(你要么处于主题位置,要么处于对象位置)。
TL;博士
避免使用rdf:ID。使用rdf:about和rdf:resource非常像href,前者用于主题,后者用于对象。
额外
忘了提一下rdf:ID可以在一个属性元素上使用,但是它可能会发现一些你可能意想不到的东西:它会重新启用三元组。避免使用rdf:ID。