网络本体语言(OWL)的标准体系解析
万维网之父蒂姆·伯纳斯·李(Tim Berners-Lee)将万维网的演变分为两个阶段[1]。第一个阶
段,万维网应该是一个有利于人们合作的强大工具;第二个阶段,则是蒂姆·伯纳斯·李所
定义的语义网阶段。通俗地说,语义网就是一种能够理解人类语言的智能 网络 ,它能够
使人与 计算 机的交流变得像人与人交流一样轻松。我们 目前 正处于新一代万维网 发展
的边缘,即致力于第二代网络——语义网的 研究 、开发阶段。在语义网的开发进程中,
网络本体语言(Web Ontology Language,OWL)作为实现其功能的核心语言工具,其开发意
义重大。为了给 OWL 系统的开发奠定基础,万维网联盟(W3C)于 2003 年 12 月 15 日发
布了由其下属的网络本体工作组开发的 OWL 系列标准规范文件,紧接着又对各标准文档
进行了改进,于 2004 年 2 月 10 日公布了该系列体系的最新版本。本文将对最新版本的
OWL 系列标准规范体系进行探讨和解析,并对中文网络本体语言开发中的标准建设提出一
些建议,以期为国内 OWL 系统的研究开发提供借鉴
1 OWL 系列标准规范体系的构
为了更好地描述语义化本体模型和进行知识表述,W3C 首先提出用来描述资源及其之
间关系的语言规范:资源描述框架(Resources Description Frame,RDF),在此基础上,欧
洲开发了语义交互语言(Ontology Interchange Language,OIL),美国开发了 DAML(DARPA
Agent Markup Language)。这两种网络本体语言都是对 RDF 类似的扩展,因此后来合并为
DAML+OIL,随后 W3C 将其规范为理解力更强的网络本体语言(Web Ontology
Language,OWL)。 OWL 系列标准规范体系由 6 个推荐性标准文档组成,分别从 理论 、
实例及规范性定义的角度对 OWL 进行了全面、简洁及规范化的阐述,它们是: ●《网
络本体语言概述》(OWL Web Ontology Language:Overview):通过列出 OWL 的语言特征并
给出其简要的描述,对 OWL 进行简单介绍。它通过对 OWL 各子语言特征的非形式化描述
,提供了 OWL 的入门知识[2]。 ●《网络本体语言指南》(OWL Web Ontology
Language:Guide):通过一个扩展的例子说明如何使用 OWL 语言,同时也给出了这些文档
中用到的术语的解释[2]。具体 内容 包括如何使用 OWL 本体语言定义类和类的属性,以
形成一个形式化的域;定义个体并确定它们的属性,并且对这些类和个体进行推断,以达
到网络本体语言的形式化语义的许可程度[3]。 ●《网络本体语言 参考 》(OWL Web
Ontology Language:Reference):该文档对 OWL 语言的整体构造进行了结构化的非形式化
描述[2],使用 RDF/XML 语法对 OWL 的所有建模原语进行子系统及详尽的描述,试图为
构建 OWL 的用户提供参考[4]。 ●《网络本体语言语义与抽象语法》(OWL Web
Ontology Language:Semantics and Abstract Syntax):对 OWL 进行了最终的、形式化的规
范性定义[2]。 ●《网络本体语言测试用例》(OWL Web Ontology Language:Test Cases)
:该文档包含了 OWL 的大量测试用例集合[2]。其中,许多测试用例说明了 OWL 语言的形
式语义和正确使用 方法 ,其它测试用例则说明了工作组所面临的亟需解决的 问题 [5]。
●《网络本体语言 应用 案例和需求》(OWL Web Ontology Language:Use Cases and
Requirements):该文档包含了一个 Web 本体语言的应用案例集合和关于 OWL 的需求集合
[2],详细阐述了本体语言的使用方式、目的和要求。其目的之一是确定网络本体语言需要
什么。网络本体语言的要求将被潜在的使用案例和普通设计目标所激发,而这些潜在的使
用案例和普通设计目标同时考虑到了将本体标准运用于网络这一独特环境时的困难[6]。
接下来将对 OWL 标准体系的内容框架进行介绍
2 OWL 系列标准规范体系的内容框
概述 W3C 制定 OWL 标准体系的目的是为了引起人们对规范的注意并且使其在
更广范围的被采纳与使用[5]。在推荐标准文件时,W3C 将主要注意力放在制定规范和改
进全面部署能力方面,这无疑增强了网络的功能性和互操作性[4]。W3C 网络本体工作组
采用一系列文档对 OWL 语言进行描述,每一个文档实现一个目的,以满足不同读者的需
要[2],分别适合某些相关研究人员和技术人员使用。并且按照从易到难,由浅入深的顺序
对 OWL 系统进行了全面、透彻的阐述。 总体来说,OWL 标准体系结构严谨、语言简练
、表达直观,易于为用户所接受。每个标准文件各有侧重点,从不同的角度制定了 OWL
的规范,看似独立,但在内容上又互相服务,理论和示例各有侧重,互为补充,这表现为
在具体内容的阐述上提供了到其它标准文件的相关链接。 具体来说,OWL 概述文档主
要针对 OWL 的初步接触者,以简洁、直观的语言阐述了 OWL 的基本概念、原理以及 OWL
三个子语言的语言特征,使用户对 OWL 的基础知识架构有了一个清晰的了解,解决了用
户从对 OWL 一无所知到初步入门的问题。文档对各部分内容作了更详细的阐述,提供了
到其它 5 个文档的链接,用户可交互参阅,达到全面 学习 掌握 OWL 的目的。 假设用
户首先阅读完 OWL 概述文档后,可阅读 OWL 指南文档获知使用该语言的理论方法和例子
。用户在对纯理论描述进行阅读时,往往容易产生理解上的障碍。该文档在对 OWL 构成
元素进行描述时,贯穿了建立酒和食物的主体关系的例子,生动的示例对用户理解和掌握
OWL 起到良好的作用。文档除对 OWL 的构造元素做了进一步的阐述外,也对属性特征及
属性限制等描述机制进行了详细说明,进一步解决了 OWL 本体语言对信息内容进行更好
的表达的问题同时,对数据合并与本体映射等相关技术问题作了一定的讨论,为相关机构
及人员日后的进一步研究提供了关注重点。 OWL 参考文档类似于一本使用手册,OWL
中所有建模原语的相关描述以及使用时的限制和注意事项都可在该文档中进行查阅。用户
在阅读其它 5 个标准文件的同时,可针对某个具体构造元素在该文档中进行相关参阅。
文档通篇围绕类、个体及属性对相关的建模元语进行非形式化描述,对每个元语的描述
一般从理论阐述、举例说明及使用时的注意事项三个方面展开,理论与示例相结合,内容
详尽、丰富。文档的参考 文献 提供了 OWL 每个语言构造元素的索引及快速参考。同时,
附录记录了自 DAML+OIL 发展至 OWL 的变化,利于阅读时的承前启后。 OWL 语义和抽
象语法文档为用户提供了 OWL 语言的标准语法,此文件运用模式论式的语义学对语义进
行了精确定义。一些概念如 OWL 的连贯性等在文件中都有所论述,该文档适用于那些对
OWL 技术细节感兴趣的用户;OWL 解析器及其它句法工具的开发者会对第二和第四部分
特别感兴趣;OWL 推理器和其它语义工具的开发者会对第三和第五部分特别感兴趣,但不
适用于那些首先应该阅读 OWL 概述文档的普通读者。 以上 4 个标准文件补充性两个文
档 OWL 测试用例和 OWL 使用案例及要求。OWL 测,试用例文档提供了 OWL 语言的测试
用例,OWL 使用案例及要求文档阐述了 OWL 语言的实际应用领域和 OWL 本体语言构建所
需的必要条件。值得一提的是,OWL 使用案例及要求中列举了 6 个网络本体的使用案例
,其中一些是基于 工业 和学术界实际应用案例,另一些是带前瞻性应用的案例。这些案
例有助于用户了解 OWL 应用的实际意义,便于有的放矢地开发 OWL 和研究语言,从而为
语义网开发服务。 总的来说,W3C 推荐的该标准体系综合阐述了以下主要内容,下面
综合介绍这 6 个标准文件的内容
OWL 的概念及开发的必要性 OWL 概述和 OWL 指南文档的引言部分对本体和
OWL 的基本概念进行了阐述。我们讨论的本体是表达术语及其词间关系[2]。这里补充一
个更标准的定义,即由 Borst 给出的:“Ontology 是共享概念模型的形式化规范说明”。
OWL 是定义和例示网络本体的一种语言。一个 OWL 本体包括类、属性和它们的实例的
描述[3]。它可以明确表示词汇表中术语的意义及其词间关系[2]。 由于 OWL 概述文档是
为 OWL 入门者设计的,因此文档对开发 OWL 的必要性进行了详细说明。未来的语义网应
是“构建于 XML 自定义标签模式的能力以及 RDF 灵活的描述数据的方式之上的”。而根据
蒂姆·伯纳斯·李提出的著名的语义网构成的标准体系结构,语义 Web 需要在 RDF 之上增加
的第一个层次,是一种能够对 Web 文档中的术语含义进行形式化(指计算机可读的)描
述的本体语言。如果希望机器能够对这些 Web 文档进行有效的推理工作,这一本体语言
必须超越 RDF Schema 的基本语义。因此,OWL 被设计以满足 Web 对本体语言的要求[2]
。其优势表现为,在表达意义和语义方面,OWL 比 XML、RDF 和 RDF-S 更方便,并且与
这些语言相比,OWL 表示的网络内容更容易被机器所理解。OWL 是 DAML+OIL 网络本体
语言的修改版,它结合了 DAML+OIL 的设计和应用中得到的经验教训[2]
OWL 的三个子语言 OWL 由三个子语言 OWL Lite/OWL DL/OWL Full 组成。OWL
Lite 用于执行简单任务,并且提供给用户一个功能性子集使他们在初次使用 OWL 时就能
轻易上手。OWL DL(这里 DL 是指“描述逻辑”)提供令人满意的语言子集用以支持推理系
统实现其计算性能。OWL FULL 适当放宽了对 OWL DL 的限制,目的是为了突出其某些特
点使其对数据库及知识表示系统发挥作用[4]。对 OWL 的描述实质上就是对这三个子语言
的描述,6 个标准文档从不同的角度对这三个子语言作了详细说明。 OWL 概述文档在
分别阐述了三个子语言的总体特征、适用用户及各个子语言之间的关系之后,着重列出了
OWL Lite 的语言构造元素,并对元素的特征进行了非正式描述。 由于 OWL Lite 对 OWL
语言使用的约束较多,因此 OWL 的某些构造元素不包含其中。文档接着对 OWL DL 和
OWL Full 相对于 OWL Lite 增加的语言构造元素的特征做了进一步的非正式描述。 OWL
指南文档的描述与 OWL 概述类似。OWL 参考文档对三个子语言作了更详细的描述,主要
侧重于具体使用时的注意事项,如详细列出了 OWL DL 和 OWL Lite 中被限制使用的语言
构造元素,为用户在具体选择使用这三个子语言时提供了参考。OWL 语义与抽象语法文档
的第二部分从语法描述的角度对用于 OWL Lite 和 OWL DL 子语言的抽象语法进行了详细
说明,具体内容包括 OWL Lite 和 OWL DL 的类公理、限制或约束以及属性公理。 这 4
个标准文档分别从三个子语言的基本概念、使用时的注意事项及语法描述的角度对其进行
了详细说明,实质上是对 OWL 语言作了全面的补充性描述,用户可在了解该部分内容时
对 4 个标准文件进行交叉阅读
OWL 本体构成 OWL 本体包括类、属性和它们的实例(即个体)的描述[3]。因
此该部分是描述的重点。OWL 概述文档从对 OWL Lite 的语言特征进行描述出发,对类、
个体及属性进行了定义和简单说明。“一个类定义了一组具有某些共同属性的个体。例如
类 Person、类 Animal。个体是类的实例,例如一个名为 Deborah 的个体可以被描述为类
Person 的一个实例。而属性能够用来声明个体间的关系或者从个体到数据值之间的关系。
例如属性 hasEmployer 可用来将个体 Deborah 关联到个体斯坦福大学”。其后,对相关的
类描述、属性特征、属性约束、数量约束中 应用 的语言构造元素进行了说明。 为了对
OWL 进行更生动的说明,OWL 指南文档是描述与示例相结合,恰如酒和食物的关系一样
。同时基于一个 OWL 本体的大多数语言构成元素都涉及了类、属性、类的实例以及这些
实例之间的关系。因此,在阐述如何建立酒和食物本体的过程中,文档的第三、第五部分
对建立简单的类、个体、属性及实例中应用的语言构造元素到建立复杂的类所用到的语言
构造元素一一进行了阐述及例示,使用户进一步掌握 OWL 的构成元素。 OWL 参考 文档
通篇围绕类、个体及属性对与它们相关的建模原语进行了非形式化描述,对每个原语的描
述从 理论 阐述、举例说明及使用时的注意事项三个方面展开,理论与例子相结合, 内容
详尽、丰富。 OWL 语义与抽象语法文档在定义抽象语法时,对 OWL Lite 和 OWL DL 中
的类公理、限制及属性公理进行了规定。 这 4 个标准文件同样按照从易到难的顺序对
类、个体及属性的定义、构造元素及应用语法等进行了描述,尤其是 OWL 参考文档对类
、个体及属性中所有的语言构造元素进行了详细的描述。用户在阅读其它 5 个标准文件的
同时,可针对某个具体构造元素在该文档中进行相关参阅
OWL 本体附属信息 本体标头(Header)、引入(ioports)及版本信息(rersioninf)是构建
一个本体必不可少的元素。OWL 概述文档首先对本体标头、引入及版本信息进行了简要说
明,并建议用户参阅 OWL 参考文档获取更多细节,参阅 OWL 指南文档获取更多示例。
OWL 参考文档对本体标头、引入及版本信息作了详细说明。“一个本体就是一个资源,它
可利用 OWL 的属性和其它命名空间来对其进行描述,例如:<owl:Ontology rdf:about=""
>是一个本体标头,指出这一块描述的是当前本体。” 可利用一个 owl:imports 陈述来引
用另一个已定义好的 OWL 本体来建立新的本体,这样直接的引入可避免资源的重复建设
,以利于整合语义网中分散的资源。关于该引入陈述的使用注意事项及示例分别在 OWL
参考文档和 OWL 指南文档中有详细说明。 本体像软件一样,是可维护的,且随着时间
变化会发生变化。因此可利用 owl:versionInfo、owl:priorVersion、owl:backward
Compatible With 等介绍当前版本、前一版本及版本的兼容情况,利于本体的维护及扩充
。OWL 参考文档和 OWL 指南文档也对版本信息的概念、使用及示例作了全面描述
OWL 的正式语义 从事 OWL 推理器和其它语义工具的开发者需要对 OWL 的正式
语义有所了解。W3C 工作组在 OWL 语义和抽象语法文档中提供了 OWL 的两个正式语义。
在文档第三部分定义的语义是一个以抽象语法形式书写的,用于 OWL 本体标准模型语义
;另一个在文档第五部分介绍的语义,是 RDF 语义[RDF Semantics]的一个词表扩展,以
RDF 向图形式为 OWL 本体提供语义。第二个语义有两个版本,一个版本类似于直接语义
(为 OWL DL 所用的语义);另一个版本适用于将类当作个体(individuals)的形式或抽象语
法不能处理的形式(即为 OWL Full 所用的语义)。这两个版本实际上非常接近,只是在
如何分割论域(domain of discourse)时有一些不同
OWL 的相关技术 问题 数据聚集与安全保护 语义网中的资源和数据是
分散的,如何把这些分散的资源及数据有效地聚集及融合是一个值得考虑的问题,W3C
工作组在制定该标准体系时已充分考虑这方面的重要性,分别在 OWL 指南文档和 OWL 参
考文档中专门列出一节进行说明。虽然语义网具有可连接多种来源数据的优势,可应用在
多个领域。但这种合并多源数据的性能,再结合上 OWL 的语义推断性能,却有可能被滥
用。因此,在使用 OWL 的某些可能与其它源数据或本体与单个数据合并时,应特别注意
。工作组还提供了相关链接 SAML 和 P3P 等一系统优化解决方案。 本体映射
本体被广泛地共用及再利用,利于提高其 影响 力,降低开发成本。但将一批本体融合起
来将是一个挑战,需要支持工具保持一致性。 目前 国际上对语义网及本体的 研究 热点在
于如何按照需要进行本体映射。 OWL 语义与抽象语法文档首先讨论了 OWL DL 和 OWL
Lite 抽象语法到 OWL 交换语法(即 RDF/XML[RDF Syntax])的映射。此映射(及其反向映
射)提供了抽象语法和交换语法之间的标准化的关系,并提供了转换至 RDF 有向图的转换
表,给出了将抽象语法转换至 OWL 交换语法的转换规则。 OWL 指南文档针对本体融合
的问题的类和属性之间的等值、个体之间的等同性及不同的个体的融合情况分别作了详细
说明
OWL 的使用案例、要求与测试用例 OWL 使用案例及要求文档和 OWL 测试用例
文档与前 4 个文档不同。OWL 使用案例及要求文档列举了本体在 网络 、知识管理、智能
数据库及 电子 商务等领域应用的 6 个典型案例,并描述了 8 个设计目标,从而根据使用
案例与设计目标对网络本体语言提出了一些要求,这对网络本体语言今后的 发展 方向提
供了有益的参考[7]。 OWL 测试用例文档包含由 Web 本体工作组通过的 Web 本体语言
测试用例。其中,许多测试用例说明了 OWL 语言的形式语义和正确使用 方法 ,其它测试
用例则说明了工作组亟需解决的问题。OWL 文档和 OWL 文档检查器(OWL document
checkers)之间的一致性也得到了详细说明。这些测试用例用于解释和进一步说明 OWL 语
义与抽象语法文档中的标准化定义,该文档是一个补充性的文档。 总的来说,这两个文
档重点在于具体应用,在对前 4 个文档补充说明的同时,也使用户认识到网络本体语言在
具体领域的应用价值及前景,同时提出了一些亟待解决的问题,为今后的研究方向提供参
考
3 OWL 系列标准规范体系的未来发展趋
很显然,W3C 目前推荐的网络本体语言(OWL)标准并不是适用于语义网应用的本体语言
标准的最终形式,OWL 使用案例及要求文档中已经提出了大量工作组,其中包括未在该标
准文件中讨论的、留待以后继续研究的特性。工作组在这部分共提出 14 个有待进一步讨
论的语言特性,同 时代 表了 OWL 系列标准体系未来的发展趋向。对此感兴趣的用户可参
阅 OWL 使用案例及要求文档的相关部分。这里介绍两个目前讨论较多的问题
OWL:多还是少 语义网在发展本体语言方面经过了大量的研究,确定 OWL 作
为目前最合适的标准[8]。目前讨论较多的一个关键问题是 OWL 是否需要很复杂?一种简
单本体语言的优势在于更高效的推理支持并且更为简单易用,这对于语义网的顺利构建也
能起到至关重要的作用。因此,对用户来说,OWL 三个子语言中较简单易用的 OWL Lite
语言可以说是通向语义网正确发展方向的第一步。在 OWL 标准体系的未来发展中也可对
OWL Lite 投入更多的关注,一旦其发展成熟,将更有利于语义网的建设
模块与引入本体 OWL 标准体系制定的规范允许用户在建立本体时引入一个事先
定义好的本体。但 OWL 的这一引入机制价值并不大。因为它仅允许引入一个事先已指定
好地址的完整本体。即使用户仅希望使用该引入本体的一小部分,他也不得不同时引入该
本体全部。编程语言中的模块建设是以信息藏匿这一概念为基础的,模块给外部环境提供
了一定的功能性(模块的输出子句),但引入模块并不需要关心如何达到这一功能性。因
此,这是一个开放性研究问题,即关于本体的信息藏匿概念的讨论以及如何较好地利用信
息藏匿为一个良好的引入机制建设服务
4 结束
OWL 标准体系由 W3C 基于目前语义网的发展水平组织开发并发布,它对世界各国从事
语义网及网络本体语言开发的研究机构和人员起到了规范和指导作用。但我国目前在语义
网方面的研究才刚刚起步,与世界上先进的发展水平还有差距。欲充分理解并有效利用该
标准体系建立中文网络本体语言,首先应基于语义网构成的标准体系的前三层,即
Unicode+URI、XML+NS+xmlschema 及 RDF+rdfschema 开发成熟的基础上。其次,在应
用 OWL 标准体系构建中文网络本体语言时应充分考虑到中文语言的逻辑特点,因此对该
标准体系需经我国的研究人员对其解析,并进行消化改进使其与中文语言相适应后再加以
利用,而不是全盘照收。
【参考 文献 】 1 朱礼军,陶兰,黄赤.语义万维网的概念、开发及应用.[2004-07-
10].http://bbs, 2 McGuinness D,van Harmelen F
Web Ontology Language Overview.[2004-07-
10]. 3 Smith M,Welty
C,McGuinness D Web Ontology Language:Guide.[2004-07-
10]. 4 Dean M,SchrEiber
Web Ontology Language Reference.[2004-07-
10]. 5 Patel-SchnEIder P
F,Hayes P,Horrocks I Web Ontology Language:Semantics & Abstract
Syntax.[2004-07-10]. 6
Heflin J Web Ontology Language:Use Cases and Requirements.[2004-07-
10]. 7 Carroll J,De Roo J
Web Ontology Language:Test Cases.[2004-07-
10]. 8 Antoniou G,Harmelen
Semantic Web Premier,[2004-07-10]. E9%
A6% 96% E9% A1% B5