万维网之父蒂姆·伯纳斯·李(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系列标准规范体系的内容框架
2.1 概述
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个标准文件的内容。
2.2 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]。
2.3 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个标准文件进行交叉阅读。
2.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个标准文件的同时,可针对某个具体构造元素在该文档中进行相关参阅。
2.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指南文档也对版本信息的概念、使用及示例作了全面描述。
2.6 OWL的正式语义
从事OWL推理器和其它语义工具的开发者需要对OWL的正式语义有所了解。W3C工作组在OWL语义和抽象语法文档中提供了OWL的两个正式语义。在文档
第三部分定义的语义是一个以抽象语法形式书写的,用于OWL本体标准模型语义;另一个在文档第五部分介绍的语义,是RDF语义[RDF
Semantics]的一个词表扩展,以RDF向图形式为OWL本体提供语义。第二个语义有两个版本,一个版本类似于直接语义(为OWL
DL所用的语义);另一个版本适用于将类当作个体(individuals)的形式或抽象语法不能处理的形式(即为OWL
Full所用的语义)。这两个版本实际上非常接近,只是在如何分割论域(domain of discourse)时有一些不同。
2.7 OWL的相关技术问题
2.7.1 数据聚集与安全保护 语义网中的资源和数据是分散的,如何把这些分散的资源及数据有效地聚集及融合是一个值得考虑的问题,W3C工作组在制定
该标准体系时已充分考虑这方面的重要性,分别在OWL指南文档和OWL参考文档中专门列出一节进行说明。虽然语义网具有可连接多种来源数据的优势,可应用
在多个领域。但这种合并多源数据的性能,再结合上OWL的语义推断性能,却有可能被滥用。因此,在使用OWL的某些可能与其它源数据或本体与单个数据合并
时,应特别注意。工作组还提供了相关链接SAML和P3P等一系统优化解决方案。
2.7.2 本体映射 本体被广泛地共用及再利用,利于提高其影响力,降低开发成本。但将一批本体融合起来将是一个挑战,需要支持工具保持一致性。目前国际上对语义网及本体的研究热点在于如何按照需要进行本体映射。
OWL语义与抽象语法文档首先讨论了OWL DL和OWL Lite抽象语法到OWL交换语法(即RDF/XML[RDF
Syntax])的映射。此映射(及其反向映射)提供了抽象语法和交换语法之间的标准化的关系,并提供了转换至RDF有向图的转换表,给出了将抽象语法转换至OWL交换语法的转换规则。
OWL指南文档针对本体融合的问题的类和属性之间的等值、个体之间的等同性及不同的个体的融合情况分别作了详细说明。
2.8 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使用案例及要求文档的相关部分。这里介绍两个目前讨论较多的问题。
3.1 OWL:多还是少
语义网在发展本体语言方面经过了大量的研究,确定OWL作为目前最合适的标准[8]。目前讨论较多的一个关键问题是OWL是否需要很复杂?一种简单本体语
言的优势在于更高效的推理支持并且更为简单易用,这对于语义网的顺利构建也能起到至关重要的作用。因此,对用户来说,OWL三个子语言中较简单易用的
OWL Lite语言可以说是通向语义网正确发展方向的第一步。在OWL标准体系的未来发展中也可对OWL
Lite投入更多的关注,一旦其发展成熟,将更有利于语义网的建设。
3.2 模块与引入本体
OWL标准体系制定的规范允许用户在建立本体时引入一个事先定义好的本体。但OWL的这一引入机制价值并不大。因为它仅允许引入一个事先已指定好地址的完
整本体。即使用户仅希望使用该引入本体的一小部分,他也不得不同时引入该本体全部。编程语言中的模块建设是以信息藏匿这一概念为基础的,模块给外部环境提
供了一定的功能性(模块的输出子句),但引入模块并不需要关心如何达到这一功能性。因此,这是一个开放性研究问题,即关于本体的信息藏匿概念的讨论以及如
何较好地利用信息藏匿为一个良好的引入机制建设服务。
4 结束语
OWL标准体系由W3C基于目前语义网的发展水平组织开发并发布,它对世界各国从事语义网及网络本体语言开发的研究机构和人员起到了规范和指导作用。但我
国目前在语义网方面的研究才刚刚起步,与世界上先进的发展水平还有差距。欲充分理解并有效利用该标准体系建立中文网络本体语言,首先应基于语义网构成的标
准体系的前三层,即Unicode+URI、XML+NS+xmlschema及RDF+rdfschema开发成熟的基础上。其次,在应用OWL标准体
系构建中文网络本体语言时应充分考虑到中文语言的逻辑特点,因此对该标准体系需经我国的研究人员对其解析,并进行消化改进使其与中文语言相适应后再加以利
用,而不是全盘照收。
【参考文献】
1 朱礼军,陶兰,黄赤.语义万维网的概念、开发及应用.[2004-07-10].
2 McGuinness
D,van Harmelen F eds.OWL Web Ontology Language
Overview.[2004-07-10].
3 Smith
M,Welty C,McGuinness D eds.OWL Web Ontology
Language:Guide.[2004-07-10].
4 Dean
M,Schreiber G.OWL Web Ontology Language
Reference.[2004-07-10].
5 Patel-Schneider P F,Hayes P,Horrocks I eds.OWL Web Ontology
Language:Semantics & Abstract
Syntax.[2004-07-10].
6 Heflin J
ed.OWL Web Ontology Language:Use Cases and
Requirements.[2004-07-10].
7 Carroll
J,De Roo J eds.OWL Web Ontology Language:Test
Cases.[2004-07-10].
8 Antoniou
G,Harmelen F.A Semantic Web
Premier,[2004-07-10].% E9%
A6% 96% E9% A1% B5
总结:
这篇文章给出了学习本体的经典文章,如下:
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]。