本体模式分类研究综述
李晓辉1,2,3, 孙坦1, 宋文1
1中国科学院国家科学图书馆 北京 100190
2中国科学院研究生院 北京 100049
3哈尔滨师范大学图书馆 哈尔滨 150025
摘要

本体模式分类研究是对其认识的最初阶段,也是应用的基础。目前共有三种本体模式分类方式:Blomqvist提出的本体模式总的分类框架、NeOn项目和曼彻斯特大学维护的模式社区对本体设计模式的分类。逐一对各具体模式类型进行说明,提出存在的问题和研究展望。

关键词: 本体; 本体模式; 本体设计模式; 本体模式分类
中图分类号:G250
Review of the Ontology Patterns Classification
Li Xiaohui1,2,3, Sun Tan1, Song Wen1
1National Science Library, Chinese Academy of Sciences, Beijing 100190, China
2Graduate University of Chinese Academy of Sciences, Beijing 100049, China
3Harbin Normal University Library, Harbin 150025, China
Abstract

Ontology patterns classification research is the first stage of understanding and the basis of patterns using. There are 3 kinds of Ontology patterns classification: the whole Ontology patterns Classification framework proposed by Blomqvist, NeOn, and the Ontology design patterns classification researched by the University of Manchester. This paper describes each kind topology by examples, then proposes existing questions and future work.

Keyword: Ontology; Ontology patterns; Ontology design patterns; Ontology patterns classification
1 引 言

本体模式是目前本体领域研究中的一项重要内容。本体模式是一套本体元素、结构或构建原则,用来解决具体的本体工程问题,可再次使用,以准确复制或改编的形式出现在某些本体集中,或者出现在将来的本体中[ 1]。本体模式是可以复用的解决方案,能够减少不经过专家构建本体的模糊性和武断性。20世纪90年代中期模式在知识工程中出现,并被软件工程的发展所驱动[ 2]。随着语义网和本体工程的涌现,模式作为可复用的设计问题的解决方案被应用于本体工程[ 3, 4]。2004至2005年间,W3C成立了本体工程和模式任务组(Ontology Engineering and Patterns Task Force,OEP),并提出本体设计模式(Ontology Design Patterns,ODPs)及其复用,主要是关于逻辑模式,表达领域独立的建模问题的解决方案,用OWL语言描写[ 5]。2008年,相似的倡议被 NeOn(Networked Ontologies)项目提出,建立了ODPs社区,并不断扩大,覆盖各种类型的本体设计模式,它是时下最大的语义Web本体模式社区[ 6]。曼彻斯特大学也维护着一个ODPs目录——本体设计模式公共目录(Ontology Design Patterns Public Catalog),主要收集生物知识领域的本体设计模式[ 7]。本体模式的会议(Workshop on Ontology Patterns,WOP)已于2009和2010年召开了两次,WOP系列拓展了以前关于本体模式的研究范围,包括了所有与本体相关的模式设计和用于语义Web的知识工程[ 8, 9]。从2009年本体模式的国际研讨会开始,相关研究渐多,基于模式的本体设计成为本体建设过程中一个重要的理念和方法。

本体模式分类是对其认识的最初阶段,也是研究和构建本体模式的基础。有了对本体模式一致的分类,就有了统一的词汇用语便于模式社区的讨论,方便研究者之间的交流和进一步的工作;不同类型的模式在本体构建过程中的作用不同,全面深入地认识模式是正确利用模式的前提。目前,共有三个相关研究涉及到本体模式分类,即:瑞典林雪平(Linköping)大学Blomqvist的研究,NeOn的研究和曼彻斯特大学维护的本体设计模式仓储。这三个相关研究从不同的角度和层次对本体模式进行了分类。Blomqvist关注于本体发展的全过程,提出本体模式的概念,并将其分为4大类。NeOn研究只关注于本体生命周期中本体设计阶段,将其分为6类,比Blomqvist研究的范围小,对于本体应用和本体构建的内容没有涉及。曼彻斯特大学模式社区分类所关注的也是本体设计这一阶段,只研究了本体设计模式,按模式在本体设计中的应用分为三类。本文将对这三个研究进行详述,总结本体模式分类研究进展、存在问题并进行研究展望。

2 本体模式的分类

Blomqvist的本体模式分类覆盖了本体生命周期全过程,分为本体应用模式(Ontology Application Patterns)、本体构建模式(Ontology Architecture Patterns)、本体设计模式(Ontology Design Patterns)和本体句法模式(Ontology Syntactic Patterns)[ 10],如图1所示:

图1 本体模式分类框架[ 10]

本体模式按三个成对的因素来描述:抽取和建立;结构和内容;抽象程度和粒度。粒度这里涉及到模式的范围,说明是本体的一个小部分还是整个本体;抽象程度是隐藏一些结构细节,为了方便描述结构的某一方面;抽取是指模式的构建方式是从其他本体或模式中抽取而来,建立是通过人工从无到有构建的。

(1)本体应用模式

本体应用模式致力的问题是本体构建的目标及其如何在软件系统中被应用。本体应用模式按目标、情境、界面等来描述已完成的本体如何被应用的通用方法。本体应用模式是一种软件体系结构模式,该模式描述了利用本体来创建其功能的软件系统,还介绍了本体或系统中本体的属性,以及本体和系统其他部分之间的连接。这类模式关注于如何使用本体和提供功能,提供与软件模式的连接。迄今为止,还没有本体的应用模式,但是有许多本体使用模型,这些模型显示了一个具体系统中的不同的本体如何相互作用、相互依靠,它们可以抽象为本体应用模式。

(2)本体构建模式

本体构建模式致力的问题是本体的结构组成,如何划分为不同组分、模块或层次。本体构建模式是描述本体整体结构的模式,或用来约束要完成本体的设计模式,以实现本体的需求目标。这可以参考其他领域的经验,如一些软件构建模式也许能被本体社区利用,以构建本体构建模式。在这一水平上,不考虑本体的描述(概念和关系),也不考虑如何用逻辑语言实现本体。根据目前已知情况,还没有文献提到这一分类方法中的本体构建模式。

(3)本体设计模式

本体设计模式致力的问题是描述本体的设计和内容,包括有哪些概念、关系和公理,也就是个体需求如何在整体结构中被实现。本体设计模式是一套本体元素、结构或构建原则,解决了清晰定义的特定建模问题。本体设计模式用逻辑本体建模语言在抽象的水平上描述了解决方案。设计模式分为结构设计模式和内容设计模式。结构本体设计模式是一个逻辑词汇,有一个空的签名,只有模式的结构,没有具体元素。内容设计模式是一个或几个逻辑设计模式的实例,由一些本体元素组成,是非空的签名,结合起来解决具体的建模问题。模式完成后可以构建成一个小的本体(或是一个组份或模块),模式需足够具体,允许它们自动或半自动使用,同时还要足够通用,以便在一定领域的不同本体之间使用。

(4)本体句法模式

本体句法模式致力的问题是本体的表达,即本体在语句上如何构成。如:表达本体的逻辑语言,推理效果,如何命名概念和属性,或本体本身的命名。本体句法模式是运用特殊的表达语言来实现其他本体模式。

从本体应用模式到本体句法模式,越来越具体,覆盖了本体发展的全过程。以上只是提出了一个分类框架,并没有对其中的全部模式进行深入的研究,目前研究最多的是本体设计模式。

3 本体设计模式的分类

NeOn项目和曼彻斯特大学模式社区分类都是针对本体设计模式。不同的是NeOn对一些类型进行了深入研究, 共6大类,5个层次。曼彻斯特大学模式社区分类的研究深度较浅,只有三种,且NeOn分类中包含了曼彻斯特大学的三种模式。

3.1 本体设计模式的分类框架

NeOn研究关注于实际本体的设计,按其在本体设计过程中的功能不同,将本体设计模式分为6大类型:内容ODPs(Content-ODPs)、结构ODPs(Structure-ODPs)、词汇-句法ODPs(Lexico-Syntactic ODPs)、推理ODPs(Reasoning-ODPs)、表达ODPs(Presentation-ODPs)、通信ODPs(Correspondence-ODPs),以及它们的子模式[ 11]。各模式之间的层级关系如图2所示:

图2 本体设计模式类型

曼彻斯特大学的ODPs公共目录建于2009年9月,模式数量很少,且只涉及生物学领域,简单地分为三类:用于扩展OWL的局限性;针对生物领域的一般通用问题;针对具体的生物领域问题[ 7]。通过分析,把它归入到NeOn适当的类别,虽然两者的名称不相同,但致力的问题一致,见图2中深背景部分。

3.2 内容本体设计模式

内容ODPs是一个小本体,是本体设计中的基本建模成分,覆盖某一能力问题(Competency Questions,CQ),提供解决方案。一个内容ODPs可以从现存的概念模型中重组,也可以从其他参考本体中抽取,通过移植(owl:improt)能被直接复用。但不是所有小本体都是内容ODPs,如果它不能回答能力问题,或不能允许相关的推理,如一个独立的类,或一列没有关系的类都不是内容ODPs[ 12]。内容ODPs是逻辑ODPs的实例化,解决领域建模问题,只影响特定领域,通常使用OWL作为形式化表达语言。

内容本体设计模式分为通用的和领域的两个子类。通用内容本体设计模式类似于通用本体的片段,解决某一个CQ问题。如:参与模式(Participation Pattern),描述-状态模式(Description-Situation Pattern),角色-任务模式(Role-Task Pattern)[ 13]。领域内容本体设计模式与具体领域相关,类似于领域本体的片段,目前主要涉及到农业、渔业、生物领域,其他的领域极少[ 6]

例如:“参数内容本体设计模式”(Parameter),一个表达概念参数的基本模式,只使用了简单的类和属性,抽取自DOLCE本体,属于通用的内容本体设计模式,这一模式用UML图表示如图3所示:

图3 Parameter 内容本体设计模式的UML图[ 14]

在这一模式中,有两个对象属性:owl:ObjectProperty:hasParameter,isParameterFor;一个数据类型属性:owl:DatatypeProperty:hasParameterDataValue;两个类:owl:Class:Concept,Parameter。

内容本体设计模式是对本体设计很有用的一种模式,因为它们提供了领域内问题的解决方案。内容ODPs不需要依赖任何特殊表达语言,很适合语义Web上本体和数据的重用和互操作的需要,也是实现本体评价、匹配、模块化的工具,例如:一个本体能通过出现的模式来评价(模式扮演着单元测试的角色)。内容ODPs方便本体映射和对齐,两个根据内容ODPs构建的本体能以更容易的方式映射。

在曼彻斯特大学的本体设计模式公共目录中,最佳实践本体设计模式(Good Practice ODPs)与领域建模本体设计模式(Domain Modelling ODPs)和NeOn内容ODPs致力解决的问题是一致的,只是名称不同。最佳实践ODPs致力于生物领域通用的设计问题,目标是获得更加健壮、清晰的本体并使维护更容易。领域建模ODPs的目标是解决生物学领域具体的建模问题。最佳实践ODPs比领域建模ODPs更加通用。所以在这里都归属于一个类型。

3.3 结构本体设计模式

结构ODPs包括逻辑(Logical)ODPs和构建(Architectural)ODPs。

逻辑ODPs是一种形式化表达,用来解决表达性问题,它首先用逻辑语言表达,其次是内容独立,用来解决复杂的逻辑表达问题,因为目前的本体表达语言并不直接支持一定的逻辑结构,一个逻辑ODPs 可以表达N元关系。逻辑ODPs分为两种类型:一种是逻辑宏(Logical Macros),为逻辑表达的再利用提供直接的快捷模式;一种是转换模式(Transformation Patterns),解决如何将一种逻辑语言转换为另一种。逻辑模式影响结果,影响推理程序效率。在ODP社区中提交了10个逻辑ODPs,例如N元关系模式,在RDF和OWL语言中,一个属性是二元关系,一个二元关系经常用来连接两个个体(实例),或一个个体和一个属性值,然而在某些案例中,把一个个体与更多的个体与属性值相连,这就叫N-元关系[ 15]。对于如何表达这种关系,提出N元关系模式,其UML图如图4所示:

图4 N元关系逻辑本体设计模式(N-Ary Relation Pattern)[ 16]

在曼彻斯特大学的本体设计模式公共目录中,其扩展本体设计模式(Extension ODPs)与NeOn的逻辑ODPs致力的问题一致。这类模式的目标是超越OWL的某些限制。在这里将其与NeOn的逻辑ODPs归为一类。

构建ODPs影响本体的整体形状,它的目标是“本体应该看起来像什么”。目前在ODPs社区只有一个构建模式被提交——“查看继承模式”(View Inheritance),可以解决对领域概念划分困难的问题,因为在表达概念抽象程度时,存在概念定义的复杂性和标准的多选择问题,如图5所示:

图5 查看继承本体构建模式(View Inheritance)[ 17]

图5中,Criterion_i:这些类代表每个目标领域内概念可选的抽象标准;Ci_Class_x:细化每个抽象标准;CiClass_xCjClass_y和Ci_Class_xClass_y参与多个继承类,结合了来自不同的可选的抽象标准,对其细化。

3.4 词汇-句法本体设计模式

词汇-句法ODPs,是语言结构或框架,由一定类型的单词按着特定顺序组成的语言结构或框架,可以归纳或抽取文本表达的含义[ 11]。模式把简单的逻辑和内容ODPs与自然语言句子联系起来。目前在ODPs社区中提交的LSP,90%以上用英文来描述逻辑与内容ODPs,以下是一个描述两个类之间等价关系的模式:

自然语言表达:Poison dart frogs are also known as poison-arrow frogs。

词汇-句法本体设计模式表达:NP< class > be (the same as/synonym of)/know as/call/(refer to as) NP< class >[ 18]

3.5 表达本体设计模式

表达ODPs从用户的角度来考虑本体的可用性和可读性。包括命名(Naming)ODPs和注释(Annotation)ODPs。命名ODPs包含为命名空间、文件、本体元素创建通用名称的惯例,提高了人对本体的可读性和理解。注释ODPs是提供注释属性或注释属性框架,目的是帮助用户提高对本体和本体元素的理解[ 11]

命名ODPs是一套为命名空间、文件、本体元素命名的一般规则习俗[ 19]。目前研究中主要关注本体实体的URI片段,称为实体名字。根据结构的复杂程度和底层(建模)语言,将命名模式分为单独实体模式(Single-entity Patterns)和跨实体模式(Cross-entity Patterns):单独实体模式与不同的实体类型相关,如类、对象属性、数据类型属性和实例;跨实体模式与结构相关,如类-子类对、互逆属性对等。命名ODPs的分类框架如图6所示:

图6 本体命名ODPs的分类[ 19]

3.6 通信本体设计模式

通信ODPs包括映射ODPs和重组ODPs。映射ODPs是指发现并建立相互映射的元素之间可能存在的语义关系,用于映射的三种最基本的关系是:等于、包含、交叉。在ODPs社区中,共提交了10个通信模式。例如:通过属性值对齐的通信模式(Class by Attribute Value),致力于在一个本体中的类与另一个本体中的类的属性值之间建立映射,在两个范围原来不同的类之间进行匹配,其UML图如图7所示:

图7 通过类的属性值的通信模式[ 20]

文献[21]将通信模式分为简单通信和复杂通信;并以通信模式作为本体对齐的一个新方法,通信模式为本体对齐提供模版,来解决本体匹配问题;提出了本体通信模式的表达方式,并建立了通信模式库。

重组ODPs 为设计者提供概念模型转换的问题解决方案,是一套从源模型到目标模型的转换规则。源模型可以是本体,也可是各种非本体资源,目标模型是一个新本体。用来重组本体的资源有分类表、叙词表、字典、开放标签系统、关联数据等[ 22]。目前在ODPs社区提交了12个重组模式,分别就分类表和叙词重组为本体提供建模最佳实践。

转换ODPs研究两个本体模式之间如何进行转换。目前研究仅涉及到命名转换模式,研究用何种方法将本体模式1中的实体命名转换为本体模式2中的实体[ 19]

3.7 推理本体设计模式

推理ODPs是逻辑ODPs的应用,基于推理机完成的行为,获得一定的推理结果[ 11]。目前未见对其进行深入研究,也没有相关模式被提交到ODPs社区。

不同的模式用来解决本体构建过程中不同的问题,结构ODPs用来设计本体的逻辑结构,内容ODPs用来设计本体内容。结构和内容ODPs通常致力于实现本体元素和公理;词汇-句法ODPs用来连接自然语言和本体元素,一般会被有新手的本体设计团队使用,或建立本体的基础——文本集;表达ODPs用来命名本体元素或本体注释,如果本体的可用性非常重要,这时要用到表达ODPs;通信ODPs与建立本体网络相关,主要用于本体间的映射或重组各种类型的资源;推理ODPs介入一定的推理能力,定义一些推理服务并提供某种类型的信息。

4 问题及研究展望

(1)同名异义或同义异名问题

目前的三种研究分别从不同的角度对本体模式进行了分类,没有被普遍接受的术语来定义不同类型的模式,结果是同样对本体设计模式的分类有不同的分类名称,如曼彻斯特大学的公共目录中的三种本体设计模式:扩展ODPs、最佳实践ODPs、领域建模ODPs分别与NeOn 中的逻辑ODPs、内容ODPs一致。同样的本体设计模式,为相同的问题提供解决方案,名称却不同,为模式的交流和应用造成障碍;有的命名并不科学,如“最佳实践ODPs”,因为所有的本体模式都是最佳实践的总结。

(2)不同类型的模式研究不均衡

在贯穿本体整个生命周期的4种本体模式当中,有三种模式研究相对较少,没有明确的说明,只有一个框架,本体设计模式研究相对较多。在本体设计模式中,两个研究分别给出了不同的分类,在这些子模式中,研究的深度也不同,内容本体构建模式被研究最多,而其他模式,如重组ODPs、构建ODPs、表达ODPs研究相对较少,后续需要对这些模式的功能、表达做进一步研究。如命名模式,要扩展到本体的任何词汇部分,不仅是URI片段。最后,研究相对较多的内容本体设计模式也存在数量少、很通用的问题。为了能与研究问题匹配,并以正确的方式被复用,需要更详细的领域模式。

(3)ODP社区规模小

门户中的模式种类不全、数量很少,有些模式还没有被收集,如命名模式,这样会大大影响这一类型模式的研究和应用。

5 结 语

本体模式研究是近几年本体领域研究的一项重要内容,目前对本体模式的分类认识处于起始阶段,只有三种分类方式。通过对当前本体模式分类方式进行综述,描绘了本体模式的总体框架及其具体模式类型,形成了对本体模式清晰而完整的认识,这是本体模式创建、应用、评价等许多相关研究的基础,进而实现基于模式的本体构建、评价、映射等。解决同名异义和同义异名、各类型模式研究程度不均衡、模式收集不全等问题,构建完整而详细的本体模式分类是后续研究的内容。

The authors have declared that no competing interests exist.

作者已声明无竞争性利益关系。

参考文献
[1] Blomqvist E. Semi-automatic Ontology Construction Based on Patterns[D]. Linköping: Linköping University, 2009. [本文引用:1]
[2] Clark P, Thompson J, Porter B. Knowledge Patterns[C]. In: Proceedings of International Conference on Principles of Knowledge Representation and Reasoning. 2000: 90-94. [本文引用:1]
[3] Gangemi A. Ontology Design Patterns for Semantic Web Content[C]. In: Proceedings of International Semantic Web Conference, Sardinia. 2005: 262-276. [本文引用:1]
[4] Svatek V. Design Patterns for Semantic Web Ontologies: Motivation and Discussion[C]. In: Proceedings of Conference on Business Information Systems. 2004. [本文引用:1]
[5] Ontology Engineering Patterns Task Force (OEP)[EB/OL]. [2011-06-20]. http://www.w3.org/2001/sw/BestPractices/OEP/. [本文引用:1]
[6] Ontology Design Patterns[EB/OL]. [2011-06-20]. http: //ontologydesignpatterns. org/wiki/Community: ListPatterns. [7] Ontology Design Patterns(ODPs)Public Catalog[EB/OL]. [2011-06-20]. http://www.gong.manchester.ac.uk/odp/html/index.html. [本文引用:2]
[7] Ontology Design Patterns(ODPs)Public Catalog[EB/OL].[2011-06-20].http://www.gong.manchester.ac.uk/odp/html/index.html [本文引用:2]
[8] WOP 2009 - Workshop on Ontology Patterns[EB/OL]. [2011-06-20]. http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-516/. [本文引用:1]
[9] Welcome to the 2nd Workshop on Ontology Patterns - WOP2010[EB/OL]. [2011-06-20]. http://ontologydesignpatterns.org/wiki/WOP:2010Topics. [本文引用:1]
[10] Blomqvist E. Ontology Patterns - Typology and Experiences from Design Pattern Development[C]. In: Proceedings of the 26th Annual Workshop of the Swedish Artificial Intelligence Society. Uppsala: Linköping University Electronic Press, 2010. [本文引用:1]
[11] Sabou M. D2. 2. 3 Methods and Tools for the Evaluation and Selection of Knowledge Components[R/OL]. [2011-06-20]. http://www.neon-project.org/web-content/images/Publications/neon_2009_d223.pdf. [本文引用:4]
[12] Presutti V. D2. 5. 1: A Library of Ontology Design Patterns: Reusable Solutions for Collaborative Design of Networked Ontologies[R/OL]. [2011-06-20]. http://www.neon-project.org/web-content/images/Publications/neon_2008_d2.5.1.pdf. [本文引用:1]
[13] Suarez-Figueroa M C, Brockmans S, Gangemi A. NeOn Modelling Components. NeOn Deliverable D5. 1. 1, Universidad Politecnica de Madrid[R/OL]. [2011-06-20]. http://www.neon-project.org/nw/Deliverables. [本文引用:1]
[14] Parameter[EB/OL]. [2011-06-20]. http://ontologydesignpatterns.org/wiki/Submissions:Parameter. [本文引用:1]
[15] Noy N, Rector A. Defining N-ary Relations on the Semantic Web[EB/OL]. (2006-04-12). [2011-06-20]. http: //www. w3. org/TR/swbp-n-aryRelations/. [本文引用:1]
[16] N-Ary Relation Pattern (OWL 2)[EB/OL]. [2011-06-20]. http://ontologydesignpatterns.org/wiki/Submissions:N-Ary_Relation_Pattern_%28OWL_2%29. [本文引用:1]
[17] View Inheritance[EB/OL]. [2011-06-20]. http://ontologydesignpatterns.org/wiki/Submissions:View_Inheritance. [本文引用:1]
[18] Submissions: Lexico Syntactic ODP Corresponding to Equivalence Relation Between Classes ODP[EB/OL]. [2011-06-20]. http://ontologydesignpatterns.org/wiki/Submissions:Lexico_Syntactic_ODP_corresponding_to_Equivalence_relation_between_Classes_ODP. [本文引用:1]
[19] Ondřej Švaáb-Zamazal. Pattern-based Ontology Matching and Ontology Alignment Evaluation[D]. Prague: University of Economics, 2010. [本文引用:2]
[20] Class by Attribute Value[EB/OL]. [2011-06-20]. http://ontologydesignpatterns.org/wiki/Submissions:Class_by_attribute_value. [本文引用:1]
[21] Scharffe F. Correspondence Patterns Representation[D]. Innsbruck: the University of Innsbruck, 2009. [本文引用:1]
[22] ReengineeringOP[EB/OL]. [2011-06-20]. http://ontologydesignpatterns.org/wiki/Category:ReengineeringOP. [本文引用:1]