摘要:分析了OWL構造子與圖形元素的映射關系,提出了在可視化本體建模中實施模型檢查的原理和方法。該方法已成功應用于圖形本體編輯器VO-Editor的開發(fā)實踐中。
關鍵詞:語義Web;本體;Web本體語言
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2007)05-0087-03
互聯(lián)網(wǎng)上信息資源整合問題一直是困擾電子政務、電子商務應用設計者的難題。要更好地解決網(wǎng)上資源整合問題,僅僅依靠語法層的標準統(tǒng)一是不夠的,必須要對數(shù)據(jù)從語義層次上加以整合。為此,本文研究開發(fā)了一套基于語義Web技術的網(wǎng)上資源整合平臺。它采用了可視化的圖形本體建模方法、有效的模型檢查機制、獨特的選擇性推理算法以及語義標注體系,有助于提高網(wǎng)上信息資源整合的效率。
這套平臺重要的核心基礎部件是可視化的本體編輯器VO-Editor,通過它可以在圖形方式下進行本體的瀏覽、創(chuàng)建和編輯等。
1可視化本體編輯器VO-Editor
圖形化的本體建模工具VO-Editor是平臺中相對獨立的一套工具,它能夠輔助本體工程師更直觀、高效地建立本體。該編輯器是基于Eclipse平臺開發(fā)的,它支持以圖形化的方式來進行本體的顯示和編輯,并能同步生成本體的OWL文件。圖1展示了VO-Editor的圖形編輯界面。其中,圖1左上部分為大綱視圖,左下部分為縮略圖,右邊為工作區(qū)。
在本體的圖形編輯窗口中,提供了所有的OWL元素選項。建立本體的工作是通過拖拽這些本體元素到工作區(qū)來實現(xiàn)的。通過大綱視圖可以列出本體中所有的對象及其對應的屬性,并通過縮略圖的形式顯示給用戶。多層編輯視圖分為Class編輯視圖和Property編輯視圖兩個部分。在Class的編輯視圖中,顯示類、實例以及類的繼承、等價、類與實例的映射關系;而在Property的編輯視圖中,顯示屬性以及屬性的繼承、等價關系。同目前種類繁多的本體建模工具如Ontolingua、Ontosaurus、WebOnto、Protégé相比,這套本體編輯工具具有較強的圖形化瀏覽和編輯功能,可以更清晰直觀地表達出本體元素間豐富而復雜的聯(lián)系。
2VO-Editor中的模型檢查
VO-Editor所支持的本體語言是OWL,OWL具有一定的語法約束。作為圖形化OWL本體編輯器,VO-Editor必須要能夠在本體的創(chuàng)建和編輯過程中體現(xiàn)并實施這種語法約束(以及圖形操作方面的一些約束);另外,還必須能夠對用戶所建立的整個本體模型進行檢查,對于模型中的不一致、繼承循環(huán)等錯誤給出提示。
OWL提供了三種表達能力遞增的子語言,即OWL Lite、OWL DL與OWL Full。OWL Lite只使用了OWL的部分語法元素,用于提供給那些只需要一個分類層次和簡單屬性約束的用戶。OWL DL已包含OWL中所有的語言約束。由于基于比較成熟的邏輯體系DL,OWL DL不僅表達能力豐富,還能保證推理的計算完整性和可判定性。OWL Full則允許本體在預定義的RDF和OWL詞匯表以外增加詞匯,但無法提供上述計算保證。本文在設計開發(fā)這套平臺的過程中,考慮到OWL Full的復雜程度過高以及后續(xù)推理的需要,VO-Editor主要提供對OWL DL本體和OWL Lite本體的支持。
2.1OWL構造子與圖形元素的映射
圖形化本體編輯器VO-Editor通過對圖形的操作,提供對本體模型的創(chuàng)建、添加、編輯、刪除、維護等功能。首先需要將OWL構造子映射到編輯器中的圖形元素。
這里將OWL構造子分為兩類,即基本構造子和關系構造子。基本構造子描述類、屬性、實例等基本概念;關系構造子描述類繼承、屬性繼承、值域、定義域等關系。基本構造子和關系構造子分別映射圖形元素的節(jié)點和關系連線(表1)。關系連線是有向的,它的兩端各連接一個節(jié)點(分別稱為源節(jié)點和目標節(jié)點)。
2.2模型檢查
2.2.1全局檢查
全局檢查主要是對整個本體模型是否存在錯誤進行檢查(也可以檢查單個元素的模型是否正確)。全局檢查在用戶點擊工具欄上的相關按鈕以及導出OWL文檔時執(zhí)行。
VO-Editor圖形編輯器是基于MVC框架開發(fā)的,以模型為中心。模型管理器ModelManager是模型層的核心部件,它實現(xiàn)了IModelManager接口,可用來統(tǒng)一管理各種OWL節(jié)點元素模型的算法;管理各個OWL節(jié)點元素的相關信息(如全局唯一的名字、命名空間、某些實例的屬性值存儲等);管理與整個本體有關的信息(如本體文件的頭信息和命名空間的管理);并提供各種圖形元素模型的創(chuàng)建工廠、模型檢查工具以及本體模型與OWL文本的轉換工具等。模型管理器的主要組成部分包括節(jié)點命名空間前綴管理器NSPrefixDB、元素存儲管理器InMemoryDB、節(jié)點名稱管理器ModelNameDB、命名空間管理器NameSpaceManager、本體頭信息管理器HeadNodeModel、模型檢查器ModelChecker,以及元素模型創(chuàng)建工廠InManagerFactory、負責OWL文件導出/導入的OWLWriter與OWLReader。
本體模型的全局檢查主要由模型檢查器ModelChecker類負責。ModelChecker對象是模型管理器的成員,它的方法通過模型管理器接口對外提供模型檢查的功能。具體來說,全局檢查將遍歷本體中的每一個節(jié)點元素,分別針對具名類、匿名類、屬性、實例等不同類別相應地實施不同的檢查。
(1)如果此元素是一個屬性的話,那么全局檢查將檢測該屬性的子屬性類型是否與其一致(即對象屬性的子屬性也應該是對象屬性,而數(shù)據(jù)類型屬性的子屬性則應該也是數(shù)據(jù)類型屬性)、屬性值域是否與屬性類型相匹配(即對象屬性的值域應該為類,而數(shù)據(jù)類型屬性的值域應該是某種數(shù)據(jù)類型)、屬性的繼承關系鏈中是否出現(xiàn)循環(huán)錯誤等。
(2)如果此元素是一個具名類的話,那么全局檢查將檢測該類的繼承關系鏈中是否出現(xiàn)循環(huán)錯誤(即該類的所有子類中是否包含這個類本身)等。
(3)如果此元素是一個實例的話,將檢查該實例已賦值的那些屬性,其所賦值是否正確、是否滿足屬性的要求。例如是否在屬性的值域中、值的個數(shù)是否符合屬性定義的基數(shù)。如果實例所屬的類對該屬性作了進一步的限制,該值是否滿足這些限制。
(4)如果是一個匿名類,則將檢查這個匿名類的完整性。對于復雜類(即集合與枚舉類匿名元素),交節(jié)點、并節(jié)點應該通過ElementOfRelation連接到兩個或兩個以上的元素;而補節(jié)點只允許連接到一個元素。對于Restriction匿名類,應該至少連接一個限制的屬性以及相關限制的值。
此外,全局檢查還包含檢查本體模型中各命名空間是否正確定義、頭節(jié)點信息是否正確等。
2.2.2局部檢查
局部檢查是在本體的創(chuàng)建和編輯過程中實時進行的,由用戶的相關操作即時觸發(fā)。局部檢查主要包含本體中的關系檢查以及節(jié)點重名錯誤檢查。節(jié)點重名檢查確保在同一個命名空間內,不出現(xiàn)同類元素重復命名的錯誤;而關系檢查主要是針對類繼承、屬性繼承、值域、定義域等關系所進行的語法檢查。其相應的檢查功能由模型層的org.sklse.oed.model.relationcheck包提供。
該包中為每一種關系提供語法檢查的類包括SubClassOfRelation、SubPropertyOfRelation、EquivalentClassRelation、EquivalentPropertyRelation、DomainRelation、RangeRelation、ExtendedDefinitionRelation、ElementOfRelation、OnPropertyRelation、ValuesFromRelation、HasValueRelation、CardinalityRelation、OwnInstanceRelation、DisjointWithRelation、SameAsRelation、DifferentFromRelation。這些類都是DefaultRelationCheck類的子類,由該類實現(xiàn)了RelationCheck接口。
直觀來看,可視化編輯中關系檢查的規(guī)則是基于OWL語法約束的關聯(lián)矩陣的值,如表2所示(其中*號代表此項關聯(lián)未在圖形界面中顯示)。
綜上所述,本文為這個圖形本體編輯器所設計的模型檢查,主要考慮了如下幾個規(guī)則:①命名唯一性。在同一命名空間中,不應出現(xiàn)重復命名的同類元素。②關系互斥性,如兩個具名類之間不應同時出現(xiàn)等價關系與不相交關系;兩個實例之間不應同時出現(xiàn)sameAs關系與differentFrom關系等。③
類型一致性,如子屬性類型應該與父屬性類型相同;屬性值域應該與屬性類型一致等。④非閉合性。類繼承關系與屬性繼承關系中都不應出現(xiàn)循環(huán)。⑤匿名類的完整性。不管是復雜類(即集合與枚舉類)還是Restriction匿名類,其定義都應該是完整的。
3結束語
在筆者所研究開發(fā)的基于語義Web技術的網(wǎng)上資源整合平臺中,可視化的OWL本體編輯器VO-Editor是重要的核心部件。本文對VO-Editor中模型檢查的原理和設計實現(xiàn)方法進行了分析。目前,模型檢查所覆蓋的內容仍然有限,要實現(xiàn)更加完善的檢查,尚需更多的理論和算法支持,這還有待進一步研究。
參考文獻:
[1]SMITH M K,WELTY C,MCGUINNESS D L.OWL Web ontology language guide[EB/OL].(2004-02-10).http://www.w3.org/TR/2004/REC-owl-guide-20040210/.
[2]DEAN M,SCHREIBER G.OWL Web ontology language reference[EB/OL].(2004-02-10).http://www.w3.org/TR/2004/REC-owl-ref-20040210/.
[3]劉進,何克清,李兵.Web本體語言的邏輯語義分析的研究[J].計算機工程,2005,31(9):7-10.
[4]LIEBIG T,NOPPENS O. OntoTrack:combining browsing and editing with reasoning and explaining for OWL lite ontologies:ISWC[C].[S.l.]:[s.n.],2004:244-258.
[5]ELENIUS D,DENKER G,MARTIN D,et al.The OWL-S editor:adevelopment tool for semantic Web services:ESWC[C].[S.l.]:[s.n.],2005:78-92.
[6]ezOWL: visual OWL editor plugin for Protégé[EB/OL]. http://iweb.etri.re.kr/ezowl/.
[7]FILLIES C, GRAY NG,THUNELL A. Cerebra construct:inferences for end users:W3C Conference on Posters[C].Budapest:[s.n.],2003.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”