RDF图形蕴涵

Anu*_*dhi 8 xml rdf graph rdfs

我刚刚读到了关于RDF(资源描述框架)的蕴涵概念.任何人都可以告诉我两个RDF图的蕴涵示例并稍微解释一下.

谢谢

Max*_*Max 9

假设您有以下内容:

ex:book1 rdf:type ex:Publication . 
ex:book2 rdf:type ex:Article .
Run Code Online (Sandbox Code Playgroud)

所以像SELECT?s {?s rdf:type ex:Publication}这样的Sparql查询只返回ex:book1

如果您添加事实(或数据集中的图形与事实),则说明:

ex:Article rdfs:subClassOf ex:Publication
Run Code Online (Sandbox Code Playgroud)

如果您的sparql引擎处理蕴含,它应该推断出ex:Article也是ex:Publication

所以选择s?{S RDF:?类型Ex:出版}将返回前两者:BOOK1和前:第二册

PS:有关更多信息,示例来自http://www.w3.org/TR/2009/WD-sparql11-entailment-20091022/


Jos*_*lor 6

还有另一个关于 RDFS 蕴涵的答案,这很重要,也是 RDF 日常工作的重要组成部分,但 RDFS 蕴涵与 RDF 蕴涵不同。RDF蕴涵是整个RDF图之间的关系,并给出了一种说法“如果RDF图x成立,那么RDF图y也成立”。RDF 语义文档的简单蕴涵部分描述了基本蕴涵:

遵循传统术语,如果 I(E)=true,则 I 满足 E,并且如果满足 S 的每个成员的每个解释也满足 E,则一组 RDF 图(简单地)包含图 E。在后面的部分中,这些概念将被修改其他类别的解释,但在本节中,“蕴涵”应被解释为简单的蕴涵。

这假定理解图E解释,表示为I(E)。解释将每个属性映射到一组对。例如,解释应该将属性映射到一组对 {[ x , y ] : xy }的子类。对于满足图的解释,解释将属性映射到的对集必须至少包含图中实际观察到的那些对。例如,如果图形包含rdfs:subClassOf

a likes b.
b likes c.
Run Code Online (Sandbox Code Playgroud)

那么当且仅当 I(likes) 包含 [a,b] 和 [b,c] 对时,解释才满足图。图 G1包含图 G2 当且仅当满足 G1 的每个解释也满足 G2。如果图中没有空白节点,这很简单。

RDF 语义文档中的链接部分列出了一些简单的结果:

  • 每个图都包含空图。
  • 每个图都包含它的每个子图。

当 RDF 图中存在空白节点时,事情会变得更加复杂,因为空白节点被解释为存在变量。例如,考虑只有一个三元组的图(其中_:z是一个空白节点):

a likes _:z
Run Code Online (Sandbox Code Playgroud)

由于_:z是存在变量,这意味着当且仅当存在个体x使得喜欢的解释包含一对 [a, x ] 时,解释满足图。如果图形有空白节点,则用实际项替换这些空白节点会生成该图形的实例。例如,

a likes b
Run Code Online (Sandbox Code Playgroud)

是图的一个实例

a likes _:z
Run Code Online (Sandbox Code Playgroud)

链接文件还提到了蕴涵关系

  • 图的每个实例都包含图

这很容易看出:如果一个解释满足a likes b,那么它对喜欢的解释必须包含 [a,b],所以肯定有一个x(即b)使得它包含 [a, x ],所以它也满足a likes _:z

这些只是 RDF 图蕴涵的几个简单示例。我不知道这种类型的蕴涵实际上在 RDF 的日常工作中得到了很多使用。更常见的是 RDFS 蕴涵(在另一个答案中描述)、OWL 蕴涵和基于规则的推理。