摘 要: 提出了一種從關(guān)系數(shù)據(jù)庫半自動學(xué)習(xí)OWL本體的方法。該方法在形式化表示關(guān)系數(shù)據(jù)庫模式和OWL本體的基礎(chǔ)上,遵循從關(guān)系數(shù)據(jù)庫模式到OWL本體的一組通用映射方法和規(guī)則,并基于Java 2平臺實現(xiàn)了原型工具OntoLearner。利用OntoLearner進(jìn)行的典型案例研究表明了該方法的有效性。
關(guān)鍵詞: 本體學(xué)習(xí);關(guān)系數(shù)據(jù)庫模式;本體工程;OWL;語義Web
本體是語義Web的關(guān)鍵使能技術(shù)。使用現(xiàn)有本體編輯器手工開發(fā)本體是一項冗長而繁瑣的工作,極易導(dǎo)致知識獲取的瓶頸,所以本體學(xué)習(xí)[1]技術(shù)應(yīng)運而生。它極大地簡化了本體的構(gòu)建,滿足了語義Web對于快速簡便構(gòu)造本體的需求,在語義Web中起到了杠桿的作用。關(guān)系數(shù)據(jù)庫是基于Web的數(shù)據(jù)密集型應(yīng)用的主要信息源,數(shù)據(jù)庫模式中隱含著領(lǐng)域知識。因此,從關(guān)系數(shù)據(jù)庫學(xué)習(xí)出的OWL本體更適合于數(shù)據(jù)密集型Web應(yīng)用的需要。本文在形式化表示關(guān)系數(shù)據(jù)庫模式和OWL本體的基礎(chǔ)上,介紹了一種從關(guān)系數(shù)據(jù)庫半自動學(xué)習(xí)OWL本體的方法,設(shè)計出一套通用的映射方法和規(guī)則,并基于Java 2平臺實現(xiàn)了原型工具OntoLearner。
1 關(guān)系數(shù)據(jù)庫模式
關(guān)系數(shù)據(jù)庫模型是以集合論中的關(guān)系(relation)概念為基礎(chǔ)發(fā)展起來的數(shù)據(jù)模型[2]。為了便于形式化描述本體學(xué)習(xí)方法中的映射規(guī)則,這里給出了關(guān)系數(shù)據(jù)庫模式的形式化定義(符合3NF)。
定義1:一個關(guān)系數(shù)據(jù)庫模式S=(L,pkey,unique,notnull,fkey,subof,fdependency)是七元組,其中:
2 OWL本體
本體是一組描述某領(lǐng)域內(nèi)概念及其屬性以及概念間關(guān)系的詞匯和公理的集合。W3C在2004年2月發(fā)布了標(biāo)準(zhǔn)化的Web本體語言O(shè)WL[3]。這里給出OWL DL本體的形式化定義。
定義3:一個OWL DL本體O=(Cept,Axiom)是二元組,其中:
(1)標(biāo)識符集Cept=CID∪DPID∪OPID∪DTID是一個有限集,由兩兩不相交的集合組成:
①一個類(class)標(biāo)識符集CID;
②一個數(shù)據(jù)類型屬性(datatype property)標(biāo)識符集DPID;
③一個對象屬性(object property)標(biāo)識符集OPID;
④一個數(shù)據(jù)類型(data type)標(biāo)識符集DTID,每個數(shù)據(jù)類型標(biāo)識符是OWL本體中使用的預(yù)定義XML Schema數(shù)據(jù)類型標(biāo)識符。
(2)公理集Axiom=CAxiom∪PAxiom是一個有限集,由兩兩不相交的集合組成:
①一個類公理(class axiom)集CAxiom,包含本體中定義的所有類公理;
②一個屬性公理(property axiom)集PAxiom,包含本體中定義的所有屬性公理。
3 從關(guān)系數(shù)據(jù)庫學(xué)習(xí)OWL本體的方法
從關(guān)系數(shù)據(jù)庫學(xué)習(xí)OWL本體的可行性基于以下事實:運用數(shù)據(jù)庫逆向工程方法可從關(guān)系數(shù)據(jù)庫模式中提取ER模式[4];ER模式可語義保持地轉(zhuǎn)換成OWL本體[5-6]。因此,本文針對現(xiàn)有本體學(xué)習(xí)方法和工具的不足,提出了一種從關(guān)系數(shù)據(jù)庫學(xué)習(xí)OWL本體的方法,該方法分為關(guān)系數(shù)據(jù)庫的逆向工程和從關(guān)系數(shù)據(jù)庫模式到OWL本體的映射兩部分。
3.1 關(guān)系數(shù)據(jù)庫的逆向工程
數(shù)據(jù)庫逆向工程DBRE(Database Reverse Engineering)指的是從物理數(shù)據(jù)庫恢復(fù)數(shù)據(jù)庫邏輯和概念模式,一般分成兩個互相獨立的階段:數(shù)據(jù)結(jié)構(gòu)的提取和概念化。在研究和分析數(shù)據(jù)庫逆向工程現(xiàn)有理論和方法的基礎(chǔ)上,本文制定了一套適合本體學(xué)習(xí)工程環(huán)境的較完備的逆向工程方法。
3.2 從關(guān)系數(shù)據(jù)庫模式到OWL本體的映射
為了形式化表示從關(guān)系數(shù)據(jù)庫模式到OWL本體的映射規(guī)則,需要預(yù)先定義以下輔助函數(shù):
(1)IS(x):布爾函數(shù)。若x(表達(dá)式)成立,則IS(x)=True;否則IS(x)=False。
(2)idMap(ID):將關(guān)系數(shù)據(jù)庫模式中的關(guān)系名和屬性名映射為OWL本體中的同名標(biāo)識符。即若ID是關(guān)系數(shù)據(jù)庫模式中的關(guān)系名和屬性名,則idMap(ID)=ID∈CID∪DPID∪OPID。
(3)dtMap(DT):將關(guān)系數(shù)據(jù)庫模式中的數(shù)據(jù)類型名映射為OWL本體中使用的數(shù)據(jù)類型(XML Schema數(shù)據(jù)類型)標(biāo)識符。即若DT是關(guān)系數(shù)據(jù)庫模式中的數(shù)據(jù)類型名,則dtMap(DT)=DType∈DTID。
3.2.1 屬性公理的生成規(guī)則
規(guī)則1 將關(guān)系數(shù)據(jù)庫模式中關(guān)系的非外鍵屬性及其相應(yīng)的預(yù)定義數(shù)據(jù)類型映射為OWL本體中以關(guān)系對應(yīng)類為定義域的數(shù)據(jù)類型屬性及其相應(yīng)的預(yù)定義XML Schema數(shù)據(jù)類型。形式化表示為:
3.2.3 類關(guān)系的啟發(fā)式規(guī)則
規(guī)則11 如果兩個實體關(guān)系的主鍵之間存在包含依賴關(guān)系,則這兩個關(guān)系對應(yīng)的OWL本體中的兩個類之間存在父類和子類的關(guān)系。形式化表示為:
3.3 OntoLearner設(shè)計思想
本體學(xué)習(xí)工具OntoLearner的體系結(jié)構(gòu)如圖1所示。基于OntoLearner,本體學(xué)習(xí)的過程由下面三個子過程組成:
(1)關(guān)系數(shù)據(jù)庫的逆向工程。使用逆向工程的方法從關(guān)系數(shù)據(jù)庫中獲取規(guī)范化至3NF的數(shù)據(jù)庫模式信息,明確數(shù)據(jù)源的語義;
(2)從關(guān)系數(shù)據(jù)庫模式到OWL本體的映射。以提取出的關(guān)系數(shù)據(jù)庫模式(3NF)作為輸入,按照一組通用的啟發(fā)式規(guī)則實現(xiàn)從關(guān)系數(shù)據(jù)庫模式到OWL本體的映射,并以可視化的方式顯示;
(3)利用現(xiàn)有本體工程工具對生成的OWL本體進(jìn)行精煉、評估和驗證。
4 實例
使用MS SQL Server 2000創(chuàng)建一個包含大學(xué)基本信息情況的關(guān)系數(shù)據(jù)庫University,并插入實例數(shù)據(jù)。利用OntoLearner對該數(shù)據(jù)庫進(jìn)行本體學(xué)習(xí),運行結(jié)果如圖2所示。
語義Web研究的重點就是如何把信息表示為計算機能夠理解和處理的形式,即帶有語義。本體在創(chuàng)建這種機器可理解和處理的Web內(nèi)容中扮演著關(guān)鍵的角色。由于關(guān)系數(shù)據(jù)庫是本體學(xué)習(xí)重要的知識源,所以研究從關(guān)系數(shù)據(jù)庫學(xué)習(xí)OWL本體的方法,對數(shù)據(jù)密集型Web站點向語義Web遷移、動態(tài)Web頁語義標(biāo)注、構(gòu)建新一代信息管理基礎(chǔ)結(jié)構(gòu)等均具有重要的現(xiàn)實意義。
參考文獻(xiàn)
[1] STAAB S, MAEDCHE A. Ontology learning for the semantic Web[J/OL]. IEEE Intelligent Systems, 2001, 16(2): 72-79.
[2] 王能斌. 數(shù)據(jù)庫系統(tǒng)教程(上冊)[M].北京: 電子工業(yè)出版社, 2002:22-238.
[3] MICHAEL K S, CHRIS W, DEBORAH L.OWL Web ontology language guide(W3C Recommendation)[J/OL].(2004-02-10).http://www.w3.org/TR/2004/REC-owl-guide-20040210/.
[4] CHIANG R HL, BARRON T M, STOREY VC. Reverse engineering of relational databases: extraction of an EER model from a relational database [C].Data & Knowledge Engineering, 1994, 12(2): 107-142.
[5] XU Zhuo Ming, CAO Xiao, DONG Yi Sheng, et al.Formal approach and automated tool for translating ER schemata into OWL ontologies[J/OL].Advances in Knowledge Discovery and Data Mining,2004(3056):464-
475.
[6] 王琦.計算機與信息技術(shù)[M].安徽:安徽省計算機學(xué)會.2009.