前言
从头开始
从零到构建某领域完整的本体模型
一、定义
T.R.Gruber的定义,R.Studer修订的:
一个本体是一个概念体系的一种显式的、形式化的规约。
An ontology is an explicit and form specification of a conceptualization.
通常,一个本体形式化地描述了一个论域。典型地,一个本体由一个包含术语以及术语间的有限列表组成。
二、相关概念
Horn逻辑
规则形式“如果前提,那么结论”,其中前提和结论是简单的声明,并且只有有限个对象需要被考察,这个逻辑子集成为Horn逻辑,是易处理的并且由高效的推理工具支持。
RDF
RDF(资源描述框架)恰好提供了这样一个灵活且领域无关的数据模型。它的基础构件是一个实体-属性(attribute)-取值的三元组,称为声明(statement)。
因为RDF不针对任何领域及使用,对用户而言必须定义他们在这些声明中使用的术语。因为需要利用RDF模式(RDFS)。RDFS允许用户精确地定义它们的词汇表(vocabulary,即它们的术语)应该如何解释。
综合起来,这些技术定义了在不同机器间交换任意数据的一种标准化语言的组成部分:
RDF——数据模型
RDFS——语义
Turtle/RDFa/RDF-XML——语法
尽管RDF主要是指数据模型,它也经常被用来作为上述所有的总称。
资源
我们可以认为资源是一个对象,我们希望谈论的一个“事物”。每个资源都有一个URI,一个URI可以是一个URL或者另一种唯一的标识符。URI提供了一种机制来无歧义地标识我们想要谈论的一个“事物”。
解决困扰分布式数据表示的一词多义问题。
链接数据原则(Linked Data principle)
(1)使用URI作为事物的全称。
(2)使用HTTP URI,以便人们可以查询到这些名称。
(3)当某人查询到一个URI时,使用标准(RDF)来提供有用的信息。
(4)包含到其它URI的链接,以便可以发现更多的事物。
虽然RDF数据模型不要求我们必须遵循这些原则,但是通过这样做可以使我们从他人贡献的知识中获益。
命名图
一个显式的标识符(URL)被赋予一个声明或声明集合。然后这个标识符就可以在普通的三元组中引用。这是一种更加直接地定义声明和图的机制。简言之,一个命名图允许圈出一个RDF声明的集合并为这些声明提供一个标识符。
Turtle
一种标准的机器可解释的语法,是基于文本的RDF语法。Turtle文本文件使用的后缀名是“.ttl”。如下是用Turtle写一个声明:
<http://www.semanticwebprimer.org/ontology/apartment.ttl#BaronWayBuilding>
<http://dbpedia.org/ontology/location>
<http://dbpedia.org/resource/Amsterdam>
URL包含在尖括号中。一个声明的主语、属性和宾语依次出现,由句号结尾。事实上,我们能够仅使用这种方法来编写整个RDF图。
<http://www.semanticwebprimer.org/ontology/apartments.ttl#>
<http://www.semanticwebprimer.org/ontology/apartments.ttl#isPartOf>
<http://www.semanticwebprimer.org/ontology/apartments.ttl#BaronWayBuilding>.
<http://www.semanticwebprimer.org/ontology/apartments.ttl#BaronWayBuilding>
<http://dbpedia.org/ontology/location>
<http://dbpedia.org/resource/Amsterdam>.
除Turtle外,可用于编写RDF的其它语法:RDF/XML及RDFa。
RDF/XML
RDF/XML是RDF在XML语言中的编码。下有,主语在一个rdf:Description元素中通过rdf:about定义(包含在尖括号内)。与主语关联的谓语和宾语也包含在rdf:Descrpition元素中。命名空间可以通过XML命名空间结构(xmlns:)被使用。所有的RDF/XML必须被包含在一个rdf:RDF元素中。
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:dbpedia-owl="http://dbpedia.org/ontology/"
xmlns:dbpedia="http://dbpedia.org/resource/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:swp="http://www.semanticwebprimer.org/ontology/apartments.ttl#">
<rdf:Description
rdf:about="http://www.semanticwebprimer.org/ontology/apartments.ttl#BaronWayApartment">
<swp:hasNumberOfBedrooms
rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">
3
</swp:hasNumberOfBedrooms>
</rdf:Description>
<rdf:Description
rdf:about="http://www.semanticwebprimer.org/ontology/apartments.ttl#BaronWayApartment">
<swp:isPartOf
rdf:resource="http://www.semanticwebprimer.org/ontology/apartments.ttl#BaronWayBuilding"/>
</rdf:Description>
<rdf:Description
rdf:about="http://www.semanticwebprimer.org/ontology/apartments.ttl#BaronWayBuilding"/>
<dbpedia-owl:location
rdf:resource="http://dbpedia.org/resource/Amsterdam"/>
</rdf:Description>
<rdf:Description
rdf:about="http://www.semanticwebprimer.org/ontology/apartments.ttl#BaronWayBuilding"/>
<dbpedia-owl:location
rdf:resource="http://dbpedia.org/resource/Netherlands"/>
</rdf:Description>
</rdf:RDF>
RDFa
RDF的一个用例是描述或标注HTML网页的内容。为了使其更加简单,引入RDFa语法来帮助实现这个用例。
使用的形式语言是谓词逻辑(predicate logic),它作为所有(符号)知识表示的基础被广泛接受。在形式化过程中使用的公式被称为公理(axiom)。
三、构建过程
本体的构建一般分为两大部分:第一部分是确定本体的概念及其关系,第二部分是利用各种工具、方法使概念及其关系形式化。
核心概念的归纳整理需要参照本体构建的两个基本原则,即,本体中类的设计应当秉承独立性和共享性原则。前者指的是这个类可以独立存在,不依赖于特定的领域;后者指的是类是可以共享的,即有被复用的可能和必要。
关系是本体的核心基本要素,它是对领域中的概念、实例之间的相互作用的描述。关系直接决定了本体知识图谱的知识丰富程度以及基于知识图谱构建的其它应用系统的功能范围。
参考资料:
《语义网基础教程》
《一种准确而高效的领域知识图谱构建方法》