我刚刚读到了关于RDF(资源描述框架)的蕴涵概念。任何人都可以告诉我两个RDF图的蕴涵示例并稍微解释一下。
由于
答案 0 :(得分:9)
假设您有以下内容:
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/
答案 1 :(得分:4)
关于RDFS蕴涵的另一个答案是重要的,并且是RDF日常工作的重要部分,但RDFS蕴涵与RDF蕴涵不同。 RDF蕴涵是整个RDF图之间的关系,并提供了一种说法“如果RDF图 x 成立,那么RDF图 y 也是如此。” RDF语义文档的simple entailment section描述了基本的蕴涵:
按照传统术语,如果I(E)=真,我满足E,并且如果满足S的每个成员的每个解释也满足E,则RDF图集(简单地)需要图E:在后面的部分中这些概念将适用于其他类别的解释,但在本节中,“蕴涵”应被解释为简单的蕴涵。
这假设理解了图 E 的解释,表示为 I(E)。解释将每个属性映射到一组对。例如,解释应该将属性rdfs:subClassOf
映射到一对{{ x , y ]: x 是一个子类of y }。对于满足图形的解释,解释将属性映射到的对的集合必须至少包含 在图中实际观察到的那些对。例如,如果图表包含
a likes b.
b likes c.
然后,当且仅当I(喜欢)包含对[a,b]和[b,c]时,解释才满足该图。当且仅当满足G1的每个解释也满足G2时,图G1 需要图G2。如果图中没有空白节点,这很简单。
RDF Semantics文档中的链接部分列出了一些简单的结果:
当RDF图中有空白节点时,事情会变得更复杂,因为空白节点被解释为存在变量。例如,考虑只有一个三元组的图形(其中_:z
是一个空白节点):
a likes _:z
由于_:z
是一个存在变量,这意味着当且仅当存在个体 x 时,解释才能满足图形赞包含一对[a, x ]。如果图形具有空白节点,则用实际术语替换这些空白节点会生成该图形的实例。例如,
a likes b
是图表的实例
a likes _:z
链接文件还提到了蕴涵关系
这很容易看出:如果解释满足a likes b
,那么它对喜欢的解释必须包含[a,b],所以肯定有 x (即 b )使得它包含[a, x ],因此它也满足a likes _:z
。
这些只是RDF图形蕴涵的一些简单示例。我不知道这种蕴涵实际上在RDF的日常工作中得到了很多用处。更为常见的是RDFS蕴涵(在另一个答案中描述),OWL蕴涵和基于规则的推理。