且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《语义网基础教程(原书第3版)》—— 2.5 RDF模式:语言

更新时间:2022-10-04 08:33:46

本节书摘来自华章出版社《语义网基础教程(原书第3版)》一 书中的第2章,第2.5节,作者:(希)Grigoris Antoniou(荷)Paul Groth(荷)Frank van Harmelen(荷)Rinke Hoekstra ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.5 RDF模式:语言

RDF模式提供建模原语来表达2.5节中的信息。一个必须做的决定是使用什么样的形式语言。使用RDF本身并不让人吃惊:RDF模式的建模原语使用资源和属性定义。通过观察图2-6可以验证这个决定。我们将这个图表达为一个类/属性的层次以及实例,但是它本身当然也仅仅是一个带标签的图,可以用RDF编码。记住RDF允许表达有关任何资源的声明,并且任何拥有URI的事物都可以作为资源。因此,如果想让类“apartment”是“residential unit”的一个子类,我们可能会
1)为apartment、residential unit和subClassOf定义所需的资源;
2)定义subClassOf为一个属性;
3)编写三元租(apartment subClassOf residential unit)。
所有这些步骤都包含在RDF的表达能力中。因此,一个RDFS文档仅仅是一个RDF文档,而我们可以使用某种RDF标准语法来编写。
现在,我们定义RDF模式的建模原语。

2.5.1 核心类

核心类包括:
rdfs:Resource,所有资源的类。
rdfs:Class,所有类的类。
rdfs:Literal,所有文字(字符串)的类。
rdf:Property,所有属性的类。
rdf:Statement,所有具体化声明的类。

2.5.2 定义联系的核心属性

用来定义联系的核心属性包括:
rdf:type,将一个资源关联到它的类(参见2.4.1节)。该资源被声明为该类的一个实例。
rdfs:subClassOf,将一个类关联到它的超类。一个类的所有实例都是它的超类的实例。注意,一个类可能是多个类的子类。例如,类femaleProfessor可能同时是female和professor的子类。
rdfs:subPropertyOf,将一个属性关联到它超属性中的一个。
这里有一个例子,表达了所有的公寓都是居住单元:
《语义网基础教程(原书第3版)》—— 2.5 RDF模式:语言

注意,rdfs:subClassOf和rdfs:subPropertyOf被定义为传递的。并且很有趣的是,rdfs:Class是rdfs:Resource的一个子类(所有的类都是资源),同时rdfs:Resource是rdfs:Class的一个实例(rdfs:Resource是所有资源的类,因此它是一个类!)出于同样的原因,每个类都是rdfs:Class的实例。

2.5.3 限制属性的核心属性

用来限制属性的核心属性包括:
rdfs:domain,指定一个属性P的定义域,声明任何拥有某个给定属性的资源是定义域类的一个实例。
rdfs:range,指定一个属性P的值域,声明一个属性的取值是值域类的实例。
这里有一个例子声明当任何资源有一个地址时,它(通过推理)是一个单元并且取值是一个文字:
《语义网基础教程(原书第3版)》—— 2.5 RDF模式:语言

2.5.4 对具体化有用的属性

下面是一些对具体化有用的属性:
rdf:subject,将一个具体化声明关联到它的主语。
rdf:predicate,将一个具体化声明关联到它的谓语。
rdf:object,将一个具体化属性关联到它的宾语。

2.5.5 容器类

RDF还允许用一个标准的方式表达容器。可以表达包、序列或选择。
rdf:Bag,包的类。
rdf:Seq,序列的类。
rdf:Alt,选择的类。
rdfs:Container,所有容器类的超类,包括前面提到的3种。

2.5.6 效用属性

一个资源可以在万维网上的许多地方被定义和描述。下列属性允许我们定义链接到这些地址:
rdfs:seeAlso,将一个资源关联到另一个解释它的资源。
rdfs:isDefinedBy,它是rdfs:seeAlso的一个子属性,将一个资源关联到它的定义之处,一般是一个RDF模式。
为人类读者提供更多的信息常常很有用。这可以通过以下属性来实现:
rdfs:comment,注释,一般是长的文本,可以与一个资源关联。
rdfs:label,将一个人类友好的标签(名字)与一个资源关联。其中的一个目的是用作RDF文档的图形化表示中节点的名称。

2.5.7 示例:住房供给

我们展示一个住房供给的例子,并提供该领域的概念模型,即一个本体。
《语义网基础教程(原书第3版)》—— 2.5 RDF模式:语言
《语义网基础教程(原书第3版)》—— 2.5 RDF模式:语言

2.5.8 示例:汽车

这里,我们介绍一个简单的汽车本体。图2-7展示了它的类层次。
《语义网基础教程(原书第3版)》—— 2.5 RDF模式:语言
《语义网基础教程(原书第3版)》—— 2.5 RDF模式:语言