冉婕,漆麗娟,黃吉亞(云南昭通學院 信息科學與技術學院,云南 昭通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—),女,四川達州人,碩士,副教授。研究方向:本體構建及語義檢索。