冉婕,漆丽娟,黄吉亚(云南昭通学院 信息科学与技术学院,云南 昭通657000)
UML模型到OWL本体知识库的转换研究
冉婕,漆丽娟,黄吉亚
(云南昭通学院 信息科学与技术学院,云南 昭通657000)
UML是标准的对象建模语言,已成为公认的建模标准,但UML模型的推理能力较弱。OWL表示的本体可以描述类与类之间的各种关系,从语义上建立类信息的全面描述,其表达能力及推理能力都较强。本文比较分析了UML类和OWL类的异同,阐述了UML类可向OWL类转换原理。通过OWL DL定义了UML的类图,描述了类和子类的关系。以学生本体为例,实现了UML类图的OWL本体形式化表示,进而将UML模型转换为相应的OWL本体,实现了UML类图中知识的再利用,为本体建设提供了新的途径。
OWL;UML;本体;类图
本体(ontology)是对共享的概念化进行显式的规范说明,是语义网知识表示的基础[1]。OWL语言是W3C推荐的本体论表示语言的标准,正被越来越多的科研人员及工业团体所关注。目前标准的语义Web本体语言是OWL,其体系是开放的,它被定义成3个表达能力递增的子语言 OWL Lite,OWL DL 与OWL Full。其中OWL DL的表达能力较强,推理支持能力也较强。UML是软件工程技术中一种标准的建模语言,被广大的软件工程技术人员所接受与使用。如何对UML加以利用来建设语义Web本体,实现了UML类图中知识的再利用,已经成为了一个重要的课题。
UML(Unified Modeling Language统一建模语言)是OMG(Object Mmanagement Group)提出的标准的对象建模语言,UML是基于多种面向对象建模方法而发展起来的建模语言,主要适用于软件密集型系统的建模,目前,UML已成为面向对象领域公认的标准。UML模型从不同的侧面反映信息系统的静态特征和动态行为,包含用例图、类图、顺序图、协作图、对象图、状态图、活动图、构件图和部署图9种视图,类图是UML模型的核心视图之一,类图是描述类和类之间关系的一种图示,它从静态的角度来表示软件系统。UML类图可以用一阶谓词逻辑公式表示[2]。
1.1 UML中的类
UML中类与类之间的常见关系可分为:1)关联(Association),类的关联表示两个类之间语义上的联系,两个类之间的二元关系可分为一对一(1:1)、一对多(1:M)和多对多(M:N)等3种类型[3];2)泛化(Generalization),泛化表明类之间的继承关系,即类与若干个互不相容的子类之间的关系,表达类之间的相似性;3)聚集(Aggregation),聚合表示类之间整体与部分的关系,它反映了对象之间的构成关系,传递性是聚集关系最重要的性质;4)依赖(Dependency),依赖是两个类之间语义上的连接关系,其中一个类是独立的,另一个类是非独立的,如果独立类发生改变,非独立类也将会受到影响,这种关系即为依赖关系。依赖关系是一种使用关系,描述类之间的引用,一个类的实现需另一个类的协议,在设计中应尽量避免使用双向的依赖。
1.2 UML中的类图
类图(Class Diagram)描述若干类之间的静态关系。类图表示系统或领域中的实体以及实体之间的关联,由表示类的类框和表示类之间如何关联的连线所组成。类的属性描述该类对象的共同特性。类的操作作用于修改、检索类的属性或执行某些动作,操作只能用于该类的对象上。类图中的属性可标记为公共属性、保护属性和私用属性。
本体是描述概念之间关系的概念模型,通过概念间的关系来描述概念的语义。本体作为一种能够有效表达概念层次结构和语义的模型,被广泛地应用到计算机科学的众多领域。目前有多种不同的本体语言,它们各有特点,而W3C的最新标准是OWL。OWL有OWL-Lite、OWL-DL和OWL-Full 3个子语言,其中OWL-DL的表达能力丰富,它是基于DL的,可进行自动推理,并判别本体中的分类层次及本体中概念的一致性[4]。
2.1OWL中的类
OWL中的类并不是真正意义上的类,它描述了一些个体的共有特征,这与传统面向对象程序设计上的类是有本质上的不同的,其实质上是一些具有共有特征的个体的集合[5]。尽管UML中的类与OWL中的类从理解上来说存在一定的差异,但仍然可以用UML中的类来表示OWL中的类[6]。
1)继承关系(is_a)
父类与子类之间是is_a关系,is_a是一种绑定相互属性[7-8]。继承表示概念之间的包含和被包含关系,也可以看成是概念之间的泛化和特化关系。如果概念Ci是Cj的一种特殊概念,则概念Ci是概念Cj的特化,概念Cj是概念Ci的泛化,概念Ci继承于概念Cj。
2)相关关系(relevant of)
相关关系表明概念和概念由于某个主题而相互关联。在具体的结构图中相关关系可由继承关系和关系之间的联系导出。
3)同义关系(synonymy of)
在一个领域中,一个概念可能有几种不同的表示方式,也就是可以用不同的词语来表示一个相同的概念。
在构建本体时,用到的关系主要是继承关系,对应UML中的泛化关系,其次用到的是相关关系,它和UML关联关系相对应。另外,OWL提供了构造子用于创建复杂类,如并 OWL:unionof、交 OWL: intersectionOf、补OWL:complementOf和枚举OWL: oneOf等等。
2.2 OWL中的属性
OWL属性可对其特性进行详细的声明,OWL中两个主要类型的属性是对象属性(Object Properties)和数据类型属性(Datatype Properties),对象属性主要描述类之间的关系,数据类型属性主要定义实体的属性,它和UML中的类的属性相对应[9]。文中重点讨论的是UML类图到OWL本体形式化的转换,属性将是下一步的研究重点。
在软件建模中,本体侧重于领域知识的表示和共享,而UML更侧重于在建模过程中开发人员与用户间的交流,其表达方面还存在不足,导致开发人员与用户交流时可能会产生歧义[10],若把本体用于UML建模,则能弥补这种不足,从而促进建模的顺利进行,提高开发效率[11]。UML建模和本体建模的相同点在于:都是表达现实世界中可用来处理的概念;都建立在类/概念和关系之上,比如UML中的泛化和OWL中的继承关系。无论是本体还是面向对象思想,都是为了得到某个领域上的可重用的模型[12-13]。UML与OWL中某些特性元素是相似的,这就为OWL本体通过UML类图向面向对象语言转换提供了可能。将UML引入本体的建模可以使本体工程让更多的人参与,UML图形化的建模更加直观,也易于沟通和理解[14-15]。另一方面,OWL丰富的表达能力及推理能力,也弥补了UML的不足。表1是UML与OWL中概念的对照。
表1UML与OWL的相似或等价概念
下面以学生本体为例,分别介绍UML模型和OWL模型。UML模型的类图用Power Designer工具建成,Power Designer是Sybase公司的CASE工具集,它可以方便地对管理信息系统进行分析设计,几乎包括了数据库模型设计的全过程。图1就是用Power Designer构建的学生本体的类图。
图1 用PD构建的学生本体类图
学生本体采用OWL形式化编码,这个阶段主要是使用OWL描述ontology,就是用OWL中定义好的元ontology对概念和关系进行形式化描述,最重要的是定义类、子类、属性和它们各自具有的特性。下面是学生本体对应的OWL形式化定义的部分代码:
xml:base="http://www.owl-ontologies.com/ Ontology1352511605.owl">
<owl:Ontology rdf:about=""/>
<owl:Class rdf:ID="pupil">
<rdfs:subClassOf>
<owl:Class rdf:ID="student"/>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="doctoral_student">
<rdfs:subClassOf>
<owl:Class rdf:ID="graduate_student"/>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="college_student">
<rdfs:subClassOf rdf:resource="#student"/>
</owl:Class>
<owl:Class rdf:ID="middle_school_student">
<rdfs:subClassOf rdf:resource="#student"/>
</owl:Class>
对应学生本体的两种不同表示方法,可以看出UML中的类可以和OWL中的类一一对应,将本体中的类和UML中的知识有机地结合起来,为本体的检索提供了更好的途径。
文中对UML类图和OWL本体进行了分析比较,给出了UML类图的OWL本体表示形式,研究了UML类图转换为OWL本体知识库的可行性。实验结果表明,该方法切实可行。今后的研究工作可集中在对类的操作及属性的自动转换,并给予形式化证明。
[1]Berners-lee T,Hendler J,Lassila O,et al.The semantic Web[J].Scientific American,2001,284 (5):34-43.
[2]陈振庆.基于描述逻辑的类图一致性检测[J].计算机工程与设计,2009,30(17):4023-4034.
[3]陈惠恩,张成姝.实用软件工程[M].北京:清华大学出版社,2009.
[4]钟凌燕,陈岗.OWL DL的UML建模方法[J].计算机工程,2006,32(21):58-60.
[5]房亚东,杜来红.基于OWL的企业资源知识表示研究[J].情报科学,2015,3(6):55-58.
[6]Brockmans S,Volz R,Eberhart A,et al.Visual Modeling of OWL DL Ontologies Using UML[EB/ OL]. http://www.aifb.uni-karlsruhe.de/WBS/sbr/ publications/iswc04%20sbr.pdf,2008.
[7]SU Xing,ZHU Guo-jin,WANG Zong-wei.Ontologybased semantic annotation for problem set archives in the Web[J].Wuhan University Journal of Natural Sciences,2006(2):58-60.
[8]程裕强,张明西,王影,等.基于本体的程序设计试题语义研究[J].计算机应用与软件,2011,28(5): 157-160.
[9]曾宪文,陈向东,杨明福,等.基于UML的本体建模研究[J].计算机应用与软件,2006,23(7):42-44.
[10]Brockmans S,Volz R,Eberhart A,et al.Visual Modeling of OWL DL Ontologies Using UML[EB/ OL].http://www.aifb.uni-ka rlsruhe.de/WBS/sbr/ publications/iswc04%20sbr.pdf,2009.
[11]王谦,赵少锋,臧凤奎,等.本体在UML建模中的应用研究[J].科学技术与工程,2008,8(2):392-397.
[12]叶光辉.基于UML的叙词表转本体方法研究[J].图书馆杂志,2014,12(7):101-104.
[13]郁书好,苏守宝,刘仁金.UML和OWL在本体建模中的比较研究[J].计算机技术与发展,2007,17 (1):155-157.
[14]郭雨婷,潘文林,江涛.基于common logic的UML类图形式化及验证[J].云南民族大学学报:自然科学版,2015,24(6):33-36.
[15]王聪,王智学,徐友云.基于UML的面向C4ISR能力需求分析的对象建模语言 [J].计算机科学,2015,15(2):77-79.
Research on the transform from UML model to OWL ontology knowledge
RAN Jie,QI Li-juan,HUANG Ji-ya
(Department of Computer Science,Zhaotong University,Zhaotong 657000,China)
UML is a standard object modeling language,it has become a recognized modeling standard,but the reasoning ability of UML model is weak.Ontology can describe all kinds of relationship among classes.This paper analysis the class of UML and the category of OWL,and explain the transformation from the class of UML to the category of OWL.According to OWL DL defines the UML class diagram,described the relation between the class and subclass.Taking the student ontology as an example,the OWL ontology formalization of UML class diagram is realized,and then the UML model is converted to the corresponding OWL ontology.It realizes the knowledge reuse in UML class diagrams,provides a new approach for ontology construction.
OWL;UML;ontology;class diagram
TN<919.5 文献标识码:A class="emphasis_bold">919.5 文献标识码:A 文章编号:1674-6236(2017)07-0024-03919.5 文献标识码:A
1674-6236(2017)07-0024-03
A 文章编号:1674-6236(2017)07-0024-03
2016-03-01稿件编号:201603009
冉 婕(1975—),女,四川达州人,硕士,副教授。研究方向:本体构建及语义检索。