谁能给我一个在 RDF 中具体化的简单例子?我想看看我是否理解正确。
例如,我提出以下案例
Tolkien -> wrote -> Lord of the rings
/|\
|
Wikipedia said that
无论有没有具体化,你将如何编写它(即作为一个不需要具体化的简单 RDF 语句)?
谁能给我一个在 RDF 中具体化的简单例子?我想看看我是否理解正确。
例如,我提出以下案例
Tolkien -> wrote -> Lord of the rings
/|\
|
Wikipedia said that
无论有没有具体化,你将如何编写它(即作为一个不需要具体化的简单 RDF 语句)?
“托尔金写的指环王”可以表达为一个简单的陈述(主语、谓语、宾语),如下所示:
:Tolkien :wrote :LordOfTheRings .
顺便说一句,这是使用 RDF 的Turtle表示法。有在线工具可以将其转换为 RDF/XML。
使用reification,您可以拥有一个表示语句的单独资源,以便您可以说明有关语句本身的其他内容,例如“Wikipedia said that”:
@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 的任何人或任何事物都会知道您在谈论那个托尔金和那个LOTR:
http://dbpedia.org/resource/The_Lord_of_the_Rings
http://dbpedia.org/property/author
http://dbpedia.org/resource/dbppedia/J._R._R._Tolkien
更好的方法是使用单例属性方法。
例如,您创建一个单例属性来将此语句表示为:
Tolkien wrote#1 "Lord of the rings" .
wrote#1 rdf:singletonPropertyOf wrote .
wrote#1 asserted_by Wikipedia .
您可能想在论文“不喜欢 RDF 物化?就使用单例属性的语句发表声明”或其幻灯片http://www.slideshare.net/ntkimvinh7/www2014-singleton-propertyfinal中阅读有关它的更多信息。 .
不幸的是,到目前为止,关系实例,即 W3C 文档中所说的关系扩展元素,或者在数学中你称之为对的东西,即关系的元素,不被认为是一流的公民。
语义网生态系统声称 AAA 的口号是任何人都可以对任何事情说任何话。但这不是真的,如果这里的第一个“任何东西”是图的一条边。即使 RDF 本身有表达关于单个边的知识的方法,W3C RDF 语义文档也会尽力而为,而不是支持这种表达性。
基本上,有 4 种方法可以说明优势:
属性单例绝对是该问题的最简单解决方案,因为它们不添加任何内容——您只是避免犯错误,一次又一次地[重新]使用类级别的属性标识符。其他对元建模(例如 MOF)有清晰理解的建模生态系统不太容易犯这样的错误。类级边连接类级节点,实例级边连接实例级节点。就是这样。
如果你做对了(正如 Vinh 和他的同事所建议的那样),你就处于与推理机冲突的道路上,这些推理机是沿着 W3C RDF 语义文档硬编码的。
您可以通过制造另一个设计缺陷并将您的属性单例实现为类级属性的 subPropertyOf-s [而不是使其成为它的实例] 来暂时规避这一点(只要 W3C 尚未标准化属性单例)。那么当前的 RDFS 推理器将从
:my_label_0815 rdfs:subPropertyOf rdfs:label .
:some_node :my_label_0815 "some_string" .
那
:some_node rdfs:label "some_string" .
这是一个肮脏的解决方法,因为它破坏了元级别的清晰分离。
我们有很多设计得很糟糕的模型,只是因为我们没有直接的方式来说明引用(实例级边缘)。
从 2020 年起,您可以按如下方式使用 RDF*:
<<:托尔金:写:LordOfTheRings >>:说:维基百科。
2020 年,许多领先的三合店都实施了这种方法。还有一些工具可以将标准具体化转换为 RDF* 以减少三重膨胀。正如 Ontotext 的 GraphDB Triple store 和其他几个所报告的那样,这种方法在三元组的数量和加载数据的速度方面是有效的。
您可以在此处阅读有关此方法的起源https://arxiv.org/pdf/1406.3399.pdf