摘要:信息集成的難點(diǎn)在于異構(gòu)數(shù)據(jù)的處理。為了解決這個(gè)問題,提出一種基于本體和面向服務(wù)(SOA)的解決方案。SOA可以很容易解決信息集成擴(kuò)展性的問題,使用本體可以實(shí)現(xiàn)異構(gòu)數(shù)據(jù)的集成和互操作性。此外還提出了一種高效的本體映射算法,該算法結(jié)合兩種本體映射算法,在本體映射的效率和精確度上都有很好的表現(xiàn)。
關(guān)鍵詞關(guān)鍵詞:信息集成;面向服務(wù)架構(gòu);本體;本體映射
DOIDOI:10.11907/rjdk.143908
中圖分類號(hào):TP301
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2015)002000103
作者簡(jiǎn)介作者簡(jiǎn)介:宋鵬(1989-),男,江蘇徐州人,華北電力大學(xué)控制與計(jì)算機(jī)工程學(xué)院碩士研究生,研究方向?yàn)楸倔w映射;陳璐(1979-)女,廣東汕頭人,博士,海軍工程大學(xué)信息安全系講師,研究方向?yàn)樾畔踩⒖尚庞?jì)算。
1本體與SOA
本體是對(duì)領(lǐng)域中概念和概念之間關(guān)系的規(guī)范化描述[1]。一個(gè)典型的本體通常提供一個(gè)詞匯表來描述感興趣的領(lǐng)域,并對(duì)詞匯表中用到的術(shù)語進(jìn)行詳細(xì)說明[2]。通過使用本體技術(shù),可以實(shí)現(xiàn)機(jī)器與機(jī)器之間的交互。
SOA是開放的軟件體系架構(gòu)。該架構(gòu)下應(yīng)用程序的不同服務(wù)之間通過定義良好的接口和契約聯(lián)系起來,接口采用中立的方式進(jìn)行定義。它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語言,使構(gòu)建在各種系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。 SOA的主要特性是松耦合性。SOA的主要作用是把服務(wù)從復(fù)雜的環(huán)境中獨(dú)立出來,使各服務(wù)之間是可互操作、獨(dú)立、模塊化、位置明確的并且是可相互調(diào)用、不依賴于其它系統(tǒng)的。
2基于本體和SOA的體系架構(gòu)
2.1系統(tǒng)架構(gòu)
現(xiàn)有集成技術(shù)主要通過定制適配器(或包裝器)以及通過配置文件在不同數(shù)據(jù)以及消息格式之間建立映射。這種基于語法結(jié)構(gòu)的集成方式難以解決信息語義上的沖突和互聯(lián),且集成的代碼也往往固化在硬編碼的邏輯中,難以支持新概念及事實(shí)的動(dòng)態(tài)擴(kuò)展??紤]到SOA架構(gòu)在解決企業(yè)信息集成方面的靈活性和可擴(kuò)展性,以及本體技術(shù)能夠很好地解決信息異構(gòu)問題,本文提出一種基于本體和面向服務(wù)的信息集成方案。以3個(gè)系統(tǒng)的信息集成為例,具體如圖1、圖2所示。
圖1傳統(tǒng)SOA信息集成架構(gòu)
圖2基于本體的SOA的信息集成架構(gòu)
要實(shí)現(xiàn)該集成架構(gòu),首先要做兩項(xiàng)基本工作:
(1) 對(duì)子系統(tǒng)進(jìn)行領(lǐng)域本體的抽象。根據(jù)子系統(tǒng)的不同特點(diǎn),對(duì)其進(jìn)行領(lǐng)域本體的抽象,在實(shí)際建模過程中主要有以下3種形式: ①基于數(shù)據(jù)庫的結(jié)構(gòu)進(jìn)行本體抽象,例如對(duì)關(guān)系型數(shù)據(jù)庫的ER模型進(jìn)行本體抽象;②基于組件和服務(wù)提供的接口描述進(jìn)行本體抽象;③基于非結(jié)構(gòu)化資源的本體抽象,例如對(duì)文檔管理等系統(tǒng)中形式各異的文件資料進(jìn)行本體抽象。
(2)在不同領(lǐng)域本體之間建立映射。通過建立不同領(lǐng)域本體之間的映射可以消除各本體所表示的數(shù)據(jù)源異構(gòu),協(xié)調(diào)本體之間的沖突。
以上兩項(xiàng)基本工作主要完成的是對(duì)來源不同的信息進(jìn)行本體抽象,并最終通過本體映射建立集成本體。這樣形成的集成本體比直接建立全局本體有著更好的靈活性和可擴(kuò)展性。集成本體的構(gòu)建有利于實(shí)現(xiàn)全局模式下的信息交互,消除信息之間的異構(gòu),并可通過本體具有的推理特性實(shí)現(xiàn)對(duì)隱性關(guān)聯(lián)知識(shí)的發(fā)現(xiàn)與推理。
2.2系統(tǒng)構(gòu)成
該系統(tǒng)主要由查詢接口、推理引擎、本體映射接口和數(shù)據(jù)存取接口組成。
(1) 查詢接口:接受查詢請(qǐng)求,并把這些查詢請(qǐng)求轉(zhuǎn)換為一種RDF查詢語言,如SPARQL。然后將轉(zhuǎn)換后的查詢命令傳給推理引擎,并接受來自推理引擎的查詢結(jié)果,查詢結(jié)果可以用XML語法格式表示。最終向請(qǐng)求方返回其不同格式要求的信息。
(2) 推理引擎:通過 URL 加載推理所需的本體結(jié)構(gòu)以及本體實(shí)例信息,進(jìn)行本體推理以及合法性驗(yàn)證。主要工作是對(duì)查詢接口傳來的查詢命令進(jìn)行邏輯推理,并形成各個(gè)子系統(tǒng)對(duì)應(yīng)的查詢請(qǐng)求格式,以實(shí)現(xiàn)對(duì)具體系統(tǒng)的查詢。
(3) 本體映射接口:建立不同系統(tǒng)本體的映射。由于現(xiàn)有的本體映射技術(shù)還未能實(shí)現(xiàn)完全的自動(dòng)構(gòu)建,一般需要領(lǐng)域?qū)<业膮⑴c。
(4) 數(shù)據(jù)存取接口(DAI):主要實(shí)現(xiàn)對(duì)不同系統(tǒng)不同形式存儲(chǔ)介質(zhì)的訪問。例如可以通過SQL查詢語言獲取關(guān)系數(shù)據(jù)庫的相關(guān)信息,通過FTP協(xié)議獲取一些系統(tǒng)的FTP服務(wù)器上的非結(jié)構(gòu)化文件等,還可以通過UDP協(xié)議獲取相關(guān)的實(shí)時(shí)數(shù)據(jù)等。數(shù)據(jù)存儲(chǔ)接口對(duì)數(shù)據(jù)操作的命令來源于推理引擎對(duì)查詢請(qǐng)求的推理分解成的相應(yīng)系統(tǒng)的數(shù)據(jù)操作查詢請(qǐng)求。
2.3信息交互過程
(1) 可以把查詢接口、推理引擎、本體映射接口和數(shù)據(jù)存取接口所組成的一個(gè)整體看作Broker。當(dāng)一個(gè)系統(tǒng)需要加入該集成系統(tǒng),首先要構(gòu)建自己的領(lǐng)域本體,并向Broker發(fā)送自己的注冊(cè)信息,得到批準(zhǔn)后將構(gòu)建好的領(lǐng)域本體上傳到Broker,本體映射接口會(huì)將其與其它本體關(guān)聯(lián)映射,擴(kuò)充原有的集成本體。系統(tǒng)變更都需要向Broker更新自己的本體信息。
(2) 當(dāng)一個(gè)系統(tǒng)向其它系統(tǒng)發(fā)起查詢請(qǐng)求時(shí),查詢請(qǐng)求首先被發(fā)送到Broker的查詢接口中,查詢接口會(huì)將查詢請(qǐng)求轉(zhuǎn)換為RDF查詢語言。RDF查詢語言將會(huì)被分解成不同系統(tǒng)的查詢請(qǐng)求格式,然后DAI將會(huì)實(shí)現(xiàn)對(duì)不同系統(tǒng)的查詢,查詢結(jié)果由查詢接口返回給請(qǐng)求者。
3本體映射
本體集成是為了解決不同本體之間的共享和交流,其中本體映射是語義網(wǎng)中能夠成功進(jìn)行異構(gòu)數(shù)據(jù)集成的先決條件[3]。本體映射是指在兩個(gè)本體中存在語義級(jí)的概念關(guān)聯(lián),通過語義的聯(lián)系,實(shí)現(xiàn)將源本體的實(shí)體(概念、實(shí)例、屬性等)映射到目標(biāo)本體實(shí)體上的過程。映射性能的好壞直接關(guān)系著信息集成的效果。
本文采用的本體映射方法結(jié)合了文獻(xiàn)[4]的基于模式結(jié)構(gòu)分類的方法和文獻(xiàn)[8]的綜合相似度評(píng)估方法實(shí)現(xiàn)本體映射。該方法首先將待映射的本體按照自身的繼承關(guān)系轉(zhuǎn)換為圖,其中將本體中每個(gè)概念描述為樹。初始時(shí)待映射的兩個(gè)本體中的所有樹是在同一個(gè)類中,只對(duì)同一個(gè)類中的元素做映射操作。本體映射操作可以分為以下4個(gè)步驟:(1)葉節(jié)點(diǎn)相似度計(jì)算。采用文獻(xiàn)[8]中提出的方法計(jì)算葉節(jié)點(diǎn)相似度。在相似性計(jì)算中,同義詞集、特征以及語義鄰居都會(huì)被考慮在內(nèi)。使用一個(gè)根據(jù)各部分相似度加權(quán)之和定義的相似度計(jì)算函數(shù),如公式1所示。函數(shù)Sl、Su、Sn分別是本體O1中類e1和本體O2中類e2之間的同義詞集、特征和語義鄰居的相似度,wl、wu、wn分別是這3部分對(duì)應(yīng)的相似度權(quán)重。
leafnodes-sim(e1,e2)=wl·Sl(e1,e2)+wu·Su(e1,e2)+wn·Sn(e1,e2)(1)
其中 wl· wu· wn >= 0 ,且wl+ wu+wn = 1。Sl、Su和Sn的權(quán)重要依據(jù)本體特性而定。公式2給出了一個(gè)基于標(biāo)準(zhǔn)的Tversky[9]模型和集合論中的交集和差集的相似度測(cè)量公式。其中e1和e2是實(shí)體類,A和B分別是e1和e2的描述集合(例如同義詞集、特征集、語義鄰居的實(shí)體類集等),| |表示集合的基數(shù),a是一個(gè)定義非公共特性相關(guān)度的函數(shù)。
S(e1,e2)= |A∩B||A∩B|+a(e1,e2)|A/B|+(1-a(e1,e2))|B/A|(2)
其中0≤a≤1。為了更好地獲得實(shí)體類的層次,虛構(gòu)一個(gè)根節(jié)點(diǎn),它的兩個(gè)子節(jié)點(diǎn)是兩個(gè)獨(dú)立本體的根節(jié)點(diǎn)。根據(jù)這種模型,函數(shù)a可以定義如公式3,其中函數(shù)depth對(duì)應(yīng)實(shí)體類節(jié)點(diǎn)到虛根節(jié)點(diǎn)的最短路徑長度。
a(e1,e2)=depth(e1)depth(e1)+depth(e2)depth(e1)≤depth(e2)1-depth(e1)depth(e1)+depth(e2) depth(e1)>depth(e2) (3)
文獻(xiàn)[8]詳細(xì)闡述了字符匹配Sl、特征匹配Su和語義鄰居匹配Sn。采用文獻(xiàn)[5]的n percent方法設(shè)定一個(gè)閾值,以判斷兩個(gè)葉節(jié)點(diǎn)所代表的實(shí)體是否相似。該方法通過計(jì)算最高葉節(jié)點(diǎn)的相似度與固定百分比的乘積得到閾值,具體如公式4所示。
cut-off=max(leafnodes-sim(ex,ey)|ex∈O1,ey∈O2)(1-p)(4)
可以根據(jù)閾值過濾葉節(jié)點(diǎn)映射結(jié)果,將結(jié)果集存在葉節(jié)點(diǎn)映射矩陣中。
(2)非葉節(jié)點(diǎn)的相似度計(jì)算??梢圆捎梦墨I(xiàn)[6]、[7]中的方法計(jì)算非葉節(jié)點(diǎn)之間的相似度,即根據(jù)葉節(jié)點(diǎn)的相似度計(jì)算非葉節(jié)點(diǎn)的相似度,如公式5所示。
sim(e1,e2)=∑i∈set(e1,mapping(O1,O2))We2i/∑j∈set(e2)We2j(5)
其中,set(e1,mapping(O1,O2))表示本體O2中能夠與本體O1中e1的葉節(jié)點(diǎn)建立映射的葉節(jié)點(diǎn)集合;set (e2)表示本體O2中e2的葉節(jié)點(diǎn)集合;W表示這些節(jié)點(diǎn)在O2中的相對(duì)權(quán)重??梢园聪率鏊枷攵x相對(duì)權(quán)重:l是本體O中節(jié)點(diǎn)e的葉節(jié)點(diǎn),如果l距離e越近,則l的權(quán)重越大,即權(quán)重與距離成反比。(3) 概念分類。概念分類指將語義相似的樹分到一類。映射操作也只在同一類中進(jìn)行,這樣,不具有相關(guān)性的類之間的映射操作會(huì)被省略,算法的效率也得以提升。通過計(jì)算兩棵樹根節(jié)點(diǎn)之間的相似度決定兩棵樹是否能歸為一類。當(dāng)兩棵樹根節(jié)點(diǎn)間的相似度大于一個(gè)固定的閾值,則這兩棵樹歸為一類。根據(jù)文獻(xiàn)[5],使用一個(gè)合適的常數(shù)作為這個(gè)閾值。b = c, 其中b是閾值,c是常數(shù)(6)當(dāng)且僅當(dāng)sim(e1,e2) < b且sim(e2,e1) < b時(shí),e1和e2不被分在同一類,同時(shí)也可以推理出mapping (e1, e2, O1, O2) = null 并且mapping (e2, e1, O2, O1) = null。(4) 調(diào)節(jié)圖結(jié)構(gòu)。圖的結(jié)構(gòu)需要根據(jù)計(jì)算出的節(jié)點(diǎn)間相似度值和閾值b進(jìn)行調(diào)整。調(diào)整方式是根據(jù)規(guī)則移除部分根節(jié)點(diǎn)。被移除根節(jié)點(diǎn)的樹將會(huì)根據(jù)繼承關(guān)系分解成一系列子樹。如何選擇被移除的根節(jié)點(diǎn),規(guī)則如下:①若sim (e1,e2) < b且sim (e2,e1) > b,則移除 e2,推理出mapping(e1,e2,O1,O2) = subclass且 mapping(e2,e1,O2,O1) = superclass;②若sim (e1,e2) > b且sim (e2,e1) < b,則移除 e1,推理出mapping(e1,e2,O1,O2) = superclass且 mapping(e2,e1,O2,O1) = subclass;③若sim (e1,e2) > b且sim (e2,e1) > b,則移除 e1和e2中任意一個(gè),推理出mapping(e1,e2,O1,O2) = equivalentclass且 mapping(e2,e1,O2,O1) = equivalentclass。
迭代上述第2、3、4步驟,直到?jīng)]有樹可被分解。通過
綜合非葉節(jié)點(diǎn)和葉節(jié)點(diǎn)的映射結(jié)果,可以獲得本體之間的映射結(jié)果。上述過程可以用一個(gè)流程圖表示(見圖3)。
圖3基于模式結(jié)構(gòu)分類的本體映射流程
參考文獻(xiàn)參考文獻(xiàn):
\[1\]VOGRINCIC S, BOSNIC Z. Ontologybased multilabel classification of economic articles[J]. Computer Science and Information Systems, 2011,8(1):101119.
[2]SHVAIKO P,EUZENAT J. Ontology matching: state of the art and future challenges[J]. Knowledge and Data Engineering, IEEE Transactions on, 2013,25(1):158176.
[3]NAGY M, VARGASVERA M. Multiagent ontology mapping framework for the semantic Web[J]. Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on, 2011,41(4): 693704.
[4]XU ZHOU, LEI LIU, RENHONG FAN. A method of ontology mapping based on classifying schema structure[J].ACTA Electronica SINICA, 2011,39(4):882886.
[5]EHRIG M, SURE Y. Ontology mappingan integrated approach[C].Proceedings of the European Semantic Web Symposium (ESWS). Heraklion, Greece, 2004:7691.
[6]DO H H, RAHM E. COMAa system for flexible combination of schema matching approaches[C]. Proceedings of the Very Large Data Bases Conference (VLDB).Roma, Italy,2001: 610621.
[7]MADHAVAN J,BERNSTEIN P,RAHM E.Generic schema matching with Cupid[C]. Proceedings of the Very Large Data Bases Conference (VLDB).Roma, Italy, 2001: 4958.
[8]RODRIGUEZ M A, EGENHOFER M J. Determining semantic similarity among entity classes from different ontologies[J]. Knowledge and Data Engineering, IEEE Transactions on,2003,15(2):442456.
[9]A TVERSKY.Features of similarity[J].Psychological Rev,1977:327352.
責(zé)任編輯(責(zé)任編輯:黃?。?