【发布时间】:2013-05-15 09:10:57
【问题描述】:
我刚刚阅读了 RDF(资源描述框架)的蕴涵概念。谁能告诉我两个 RDF 图的蕴涵示例并解释一下。
谢谢
【问题讨论】:
我刚刚阅读了 RDF(资源描述框架)的蕴涵概念。谁能告诉我两个 RDF 图的蕴涵示例并解释一下。
谢谢
【问题讨论】:
假设你有以下:
ex:book1 rdf:type ex:Publication .
ex:book2 rdf:type ex:Article .
所以像 SELECT ?s { ?s rdf:type ex:Publication } 这样的 Sparql 查询将只返回 ex:book1
如果您添加以下事实(或数据集中带有该事实的图表):
ex:Article rdfs:subClassOf ex:Publication
如果你的 sparql 引擎处理蕴涵,它应该推断出一个 ex:Article 也是一个 ex:Publication
所以 SELECT ?s { ?s rdf:type ex:Publication } 将返回 ex:book1 和 ex:book2
PS:更多信息,示例来自http://www.w3.org/TR/2009/WD-sparql11-entailment-20091022/
【讨论】:
还有另一个关于 RDFS 蕴涵的答案,这很重要,也是 RDF 日常工作的重要组成部分,但 RDFS 蕴涵与 RDF 蕴涵不同。 RDF 蕴涵是整个 RDF 图之间的关系,并给出了一种说法:“如果 RDF 图 x 成立,那么 RDF 图 y 也成立。” RDF Semantics 文档的simple entailment section 描述了基本蕴涵:
按照传统术语,如果 I(E)=true,则 I 满足 E,如果满足 S 的每个成员的每个解释也满足 E,则 RDF 图的集合 S(简单地)包含图 E。在后面的部分中,这些概念将适应其他类型的解释,但在本节中,“蕴涵”应解释为简单蕴涵。
这假定理解图E的解释,表示为I(E)。解释将每个属性映射到一组对。例如,解释应该将属性 rdfs:subClassOf 映射到对集合 {[x, y] :x 是 y}。对于满足图的解释,解释将属性映射到的对集合必须包含至少那些在图中实际观察到的对。例如,如果图表包含
a likes b.
b likes c.
然后当且仅当 I(likes) 包含对 [a,b] 和 [b,c] 时,解释满足图。图 G1 包含 图 G2 当且仅当 每个 满足 G1 的解释也满足 G2。如果图中没有空白节点,这很简单。
RDF 语义文档中的链接部分列出了一些简单的结果:
当 RDF 图中存在空白节点时,事情会变得更加复杂,因为空白节点被解释为存在变量。例如,考虑只有一个三元组的图(_:z 是一个空白节点):
a likes _:z
由于_:z是一个存在变量,这意味着当且仅当存在一个个体x的解释满足图>likes 包含一对 [a,x]。如果一个图有空白节点,那么用实际术语替换这些空白节点会生成该图的一个实例。例如,
a likes b
是图的一个实例
a likes _:z
链接的文档还提到了
这很容易看出:如果一个解释满足a likes b,那么它对likes的解释必须包含[a,b],所以肯定有一个x (即b)使得它包含[a,x],所以它也满足a likes _:z。
这些只是 RDF 图蕴涵的几个简单示例。我不知道这种类型的蕴涵实际上在 RDF 的日常工作中得到了很多使用。更常见的是 RDFS 蕴涵(在另一个答案中描述)、OWL 蕴涵和基于规则的推理。
【讨论】: