RDF图蕴涵

RDF图蕴涵,rdf,rdfs,Rdf,Rdfs,我刚刚读到RDF(ResourceDescriptionFramework)的蕴涵概念。有人能给我举一个两个RDF图的蕴涵例子并解释一下吗 谢谢假设您有以下各项: ex:book1 rdf:type ex:Publication . ex:book2 rdf:type ex:Article . 因此,像SELECT{s rdf:type ex:Publication}这样的Sparql查询将只返回ex:book1 如果添加的事实(或数据集中包含该事实的图形)表明: ex:Article rd

我刚刚读到RDF(ResourceDescriptionFramework)的蕴涵概念。有人能给我举一个两个RDF图的蕴涵例子并解释一下吗


谢谢

假设您有以下各项:

ex:book1 rdf:type ex:Publication . 
ex:book2 rdf:type ex:Article .
因此,像SELECT{s rdf:type ex:Publication}这样的Sparql查询将只返回ex:book1

如果添加的事实(或数据集中包含该事实的图形)表明:

ex:Article rdfs:subClassOf ex:Publication
如果您的sparql引擎处理蕴涵,那么应该推断出ex:Article也是ex:Publication

因此,SELECT{s rdf:type ex:Publication}将同时返回ex:book1和ex:book2


PS:关于更多信息,这个例子来自

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

按照传统术语,如果I(E)=真,I满足E,如果满足S的每个成员的每个解释也满足E,则一组RDF图(简单地)包含一个图E。在后面的章节中,这些概念将适用于其他类别的解释,但在本节中,“蕴涵”应解释为简单蕴涵

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

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

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

  • 每个图都包含空图
  • 每个图都包含它的每个子图
当RDF图中存在空白节点时,事情会变得更加复杂,因为空白节点被解释为存在变量。例如,考虑只有一个三元组的图(其中<代码>:z 为空白节点):

由于
\uz:z
是一个存在变量,这意味着当且仅当存在一个单独的x,使得like的解释包含一对[a,x]时,解释满足图。如果一个图有空白节点,那么用实际术语替换这些空白节点将生成该图的一个实例。比如说,

a likes b
是该图的一个实例

a likes _:z
链接文档还提到了

  • 图的每个实例都包含该图
这很容易看出:如果一个解释满足
a喜欢b
,那么它对喜欢的解释必须包含[a,b],因此肯定存在一个x(即b),它包含[a,x],因此它也满足
a喜欢z


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

我编辑了答案,添加了有关示例的w3c资源(以及更多…;),这是RDFS蕴涵的示例。有些推理规则说“从‘A意味着B’和‘A’,推断‘B’”。在RDF中,有些规则说“从‘A RDFS:子类B’和‘x是A’,推断‘x是B’”。这很重要,但与RDF蕴涵不同。不需要RDF,涵盖了不同类型的图表之间的蕴涵。感谢Joshua的更正,我似乎专注于蕴涵部分,跳过了部分之间的图表:PNo担心,我一开始是以完全相同的方式阅读的。我添加了一个关于RDF蕴涵的答案,但在结束时提出警告,我认为RDF(以及OWL和基于规则的)蕴涵对于大多数RDF用户的日常工作更为重要。谢谢您的回复!但正如Joshu所说,我想要一个graph=S之间rdf蕴涵的例子
a likes _:z