天天看点

《语义网基础教程(原书第3版)》—— 2.8 RDF和RDFS的一个直接推理系统

本节书摘来自华章出版社《语义网基础教程(原书第3版)》一 书中的第2章,第2.8节,作者:(希)grigoris antoniou(荷)paul groth(荷)frank van harmelen(荷)rinke hoekstra ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

如前所述,在2.7节中详细介绍的公理化语义可以用作rdf和rdf模式的自动化推理。但是,它需要一阶逻辑证明系统来实现。这是一个很重的需求,并且当涉及数以百万计(亿计)的声明时很难扩展(例如,数以百万计的type(?r, ?c)形式的声明)。

出于这个原因,rdf也被赋予了一个基于rdf三元组的语义(以及针对这种语义的完备的推导系统),取代基于一阶逻辑来重述rdf,正如在2.7节中介绍过的公理化语义。

推导系统包含如下形式的规则:

if e包含某些三元组

then添加一些额外的三元组到e

(其中e是任意一个rdf三元组的集合)。

这里不再重复所有的推导规则(这些规则可以在官方的rdf文档中找到),在这里给出几个基本的例子:

if e包含三元组(?x, ?p, ?y)

then e也包含三元组(?p, rdf:type, rdf:property)

这表明任何一个用于一个三元组的属性位置的资源?p可以推导出它是rdf:property类的一个成员。

一个或许更加有趣的例子是下面的规则:

if e包含三元组(?u, rdfs:subclassof, ?v)和(?v, rdfs:subclassof, ?w)

then e也包含三元组(?u, rdfs:subclassof, ?w)

这体现了子类关系的传递性。

相关的规则包括:

if e包含三元组(?x, rdf:type, ?u)和(?u, rdfs:subclassof, ?v)

then e也包含三元组(?x, rdf:type, ?v)

这定义了rdfs:subclassof含义的本质。

最后一个例子常令第一次了解rdf模式的人感到惊讶:

if e包括三元组(?x, ?p, ?y)和(?p, rdfs:range, ?u)

then e也包含三元组(?y, rdf:type, ?u)

这个例子说明任何一个资源?y作为一个属性?p的值出现时,它可以被推导出是?p的值域的一个成员。这说明rdf模式中的值域定义不是用来约束一个属性的值域,而是推导值域的成员关系。

规则闭集的总数不超过几十个,并且无需经验丰富的定理证明技术来高效实现。