RDF中具体化的简单示例

时间:2009-08-21 15:42:07

标签: rdf reification

有没有人能够在RDF中给我一个简单的具体化例子?我想知道我是否理解正确。

例如,我建议以下案例

Tolkien -> wrote -> Lord of the rings
           /|\
            |
        Wikipedia said that

如何用和编写而不用具体化(即作为一个简单的RDF语句而不需要具体化)?

4 个答案:

答案 0 :(得分:35)

“托尔金写的指环王”可以表达为一个简单的陈述(主语,谓词,宾语),如下:

:Tolkien :wrote :LordOfTheRings .

顺便说一句,这是使用RDF的Turtle表示法。有tools在线将其转换为RDF / XML。

使用reification,您可以拥有一个代表语句的单独资源,以便您可以声明有关语句本身的其他信息,例如“Wikipedia说的那样”:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
_:x rdf:type rdf:Statement .
_:x rdf:subject :Tolkien .
_:x rdf:predicate :wrote .
_:x rdf:object :LordOfTheRings .
_:x :said :Wikipedia .

在现实生活中,你会想要使用共享词汇表,这样任何使用RDF的人都知道你在谈论那个 Tolkien和那个 LOTR :

  

http://dbpedia.org/resource/The_Lord_of_the_Rings
  http://dbpedia.org/property/author
  http://dbpedia.org/resource/dbppedia/J._R._R._Tolkien

答案 1 :(得分:6)

更好的方法是使用单例属性方法。

例如,您创建一个singleton属性来将此语句表示为:

Tolkien wrote#1 "Lord of the rings" .

wrote#1 rdf:singletonPropertyOf wrote .

wrote#1 asserted_by Wikipedia .

您可能希望在论文中阅读更多相关信息&#34;不要像RDF Reification一样?使用singleton属性制作关于语句的陈述&#34;或其幻灯片http://www.slideshare.net/ntkimvinh7/www2014-singleton-propertyfinal ...

答案 2 :(得分:2)

不幸的是,到目前为止,关系实例(即W3C文档中称为关系扩展的元素)或数学中称为对的元素(即关系的元素)尚未被认为是成为头等公民。

语义网络生态系统宣称AAA口号,任何人都可以说任何事情。但是,如果此处的第一个“任何内容”是图形的单个边缘,则情况并非如此。即使RDF本身有能力表达关于单个边缘的知识,W3C RDF语义文档也会尽力而为,而不是支持这种表达。

基本上,有4种方法可以对边缘进行说明: -不受欢迎,膨胀的RDF语句松散 -物业单身人士 -名为图的单个语句(四边形中的第四个元素是图ID) -关联节点(类似于UML关联类)

属性单例绝对是解决该问题的最简单方法,因为它们不添加任何内容-您只是在避免犯错以[再]一遍又一遍地[重用]类级别的属性标识符。对元建模(例如,MOF)有清晰理解的其他建模生态系统,很少会犯这种错误。类级边缘连接类级节点,而实例级边缘连接实例级节点。就是这样。

如果您正确地做到了这一点(如Vinh和他的同事所建议的那样),那么您将处于推理者的冲突之路上,这些推理者根据W3C RDF语义文档进行了硬编码。

您可以暂时犯下此错误(只要W3C尚未标准化属性单例),就可以进行另一个设计缺陷,并将属性单例实现为类级属性的subPropertyOf-s(而不是使其成为实例)。 。 然后,当前的RDFS推理程序将从 :my_label_0815 rdfs:subPropertyOf rdfs:label。 :some_node:my_label_0815“ some_string”。 那 :some_node rdfs:label“ some_string”。 这是一个肮脏的解决方法,因为它破坏了元级别的明确分离。

我们那里有很多设计得很糟糕的模型,只是因为,我们没有一种直接的方式来表达关于引用(实例级边缘)的信息。

答案 3 :(得分:0)

从2020年开始,您可以按以下方式使用RDF *:

<<:Tolkien:写:LordOfTheRings >>:说:Wikipedia。

在2020年,许多领先的三元店都采用了这种方法。还有一些工具可以将标准版本转换为RDF *,以减少三倍膨胀。 Ontotext的GraphDB Triple存储区以及其他几个存储区报告说,这种方法在三元组的数量和加载数据的速度方面都是有效的。

您可以在https://arxiv.org/pdf/1406.3399.pdf

处了解此方法的起源