摘 要: 提出了一種從關系數據庫半自動學習OWL本體的方法。該方法在形式化表示關系數據庫模式和OWL本體的基礎上,遵循從關系數據庫模式到OWL本體的一組通用映射方法和規則,并基于Java 2平臺實現了原型工具OntoLearner。利用OntoLearner進行的典型案例研究表明了該方法的有效性。
關鍵詞: 本體學習;關系數據庫模式;本體工程;OWL;語義Web
本體是語義Web的關鍵使能技術。使用現有本體編輯器手工開發本體是一項冗長而繁瑣的工作,極易導致知識獲取的瓶頸,所以本體學習[1]技術應運而生。它極大地簡化了本體的構建,滿足了語義Web對于快速簡便構造本體的需求,在語義Web中起到了杠桿的作用。關系數據庫是基于Web的數據密集型應用的主要信息源,數據庫模式中隱含著領域知識。因此,從關系數據庫學習出的OWL本體更適合于數據密集型Web應用的需要。本文在形式化表示關系數據庫模式和OWL本體的基礎上,介紹了一種從關系數據庫半自動學習OWL本體的方法,設計出一套通用的映射方法和規則,并基于Java 2平臺實現了原型工具OntoLearner。
1 關系數據庫模式
關系數據庫模型是以集合論中的關系(relation)概念為基礎發展起來的數據模型[2]。為了便于形式化描述本體學習方法中的映射規則,這里給出了關系數據庫模式的形式化定義(符合3NF)。
定義1:一個關系數據庫模式S=(L,pkey,unique,notnull,fkey,subof,fdependency)是七元組,其中:
2 OWL本體
本體是一組描述某領域內概念及其屬性以及概念間關系的詞匯和公理的集合。W3C在2004年2月發布了標準化的Web本體語言OWL[3]。這里給出OWL DL本體的形式化定義。
定義3:一個OWL DL本體O=(Cept,Axiom)是二元組,其中:
(1)標識符集Cept=CID∪DPID∪OPID∪DTID是一個有限集,由兩兩不相交的集合組成:
①一個類(class)標識符集CID;
②一個數據類型屬性(datatype property)標識符集DPID;
③一個對象屬性(object property)標識符集OPID;
④一個數據類型(data type)標識符集DTID,每個數據類型標識符是OWL本體中使用的預定義XML Schema數據類型標識符。
(2)公理集Axiom=CAxiom∪PAxiom是一個有限集,由兩兩不相交的集合組成:
①一個類公理(class axiom)集CAxiom,包含本體中定義的所有類公理;
②一個屬性公理(property axiom)集PAxiom,包含本體中定義的所有屬性公理。
3 從關系數據庫學習OWL本體的方法
從關系數據庫學習OWL本體的可行性基于以下事實:運用數據庫逆向工程方法可從關系數據庫模式中提取ER模式[4];ER模式可語義保持地轉換成OWL本體[5-6]。因此,本文針對現有本體學習方法和工具的不足,提出了一種從關系數據庫學習OWL本體的方法,該方法分為關系數據庫的逆向工程和從關系數據庫模式到OWL本體的映射兩部分。
3.1 關系數據庫的逆向工程
數據庫逆向工程DBRE(Database Reverse Engineering)指的是從物理數據庫恢復數據庫邏輯和概念模式,一般分成兩個互相獨立的階段:數據結構的提取和概念化。在研究和分析數據庫逆向工程現有理論和方法的基礎上,本文制定了一套適合本體學習工程環境的較完備的逆向工程方法。
3.2 從關系數據庫模式到OWL本體的映射
為了形式化表示從關系數據庫模式到OWL本體的映射規則,需要預先定義以下輔助函數:
(1)IS(x):布爾函數。若x(表達式)成立,則IS(x)=True;否則IS(x)=False。
(2)idMap(ID):將關系數據庫模式中的關系名和屬性名映射為OWL本體中的同名標識符。即若ID是關系數據庫模式中的關系名和屬性名,則idMap(ID)=ID∈CID∪DPID∪OPID。
(3)dtMap(DT):將關系數據庫模式中的數據類型名映射為OWL本體中使用的數據類型(XML Schema數據類型)標識符。即若DT是關系數據庫模式中的數據類型名,則dtMap(DT)=DType∈DTID。
3.2.1 屬性公理的生成規則
規則1 將關系數據庫模式中關系的非外鍵屬性及其相應的預定義數據類型映射為OWL本體中以關系對應類為定義域的數據類型屬性及其相應的預定義XML Schema數據類型。形式化表示為:
3.2.3 類關系的啟發式規則
規則11 如果兩個實體關系的主鍵之間存在包含依賴關系,則這兩個關系對應的OWL本體中的兩個類之間存在父類和子類的關系。形式化表示為:
3.3 OntoLearner設計思想
本體學習工具OntoLearner的體系結構如圖1所示。基于OntoLearner,本體學習的過程由下面三個子過程組成:
(1)關系數據庫的逆向工程。使用逆向工程的方法從關系數據庫中獲取規范化至3NF的數據庫模式信息,明確數據源的語義;
(2)從關系數據庫模式到OWL本體的映射。以提取出的關系數據庫模式(3NF)作為輸入,按照一組通用的啟發式規則實現從關系數據庫模式到OWL本體的映射,并以可視化的方式顯示;
(3)利用現有本體工程工具對生成的OWL本體進行精煉、評估和驗證。
4 實例
使用MS SQL Server 2000創建一個包含大學基本信息情況的關系數據庫University,并插入實例數據。利用OntoLearner對該數據庫進行本體學習,運行結果如圖2所示。
語義Web研究的重點就是如何把信息表示為計算機能夠理解和處理的形式,即帶有語義。本體在創建這種機器可理解和處理的Web內容中扮演著關鍵的角色。由于關系數據庫是本體學習重要的知識源,所以研究從關系數據庫學習OWL本體的方法,對數據密集型Web站點向語義Web遷移、動態Web頁語義標注、構建新一代信息管理基礎結構等均具有重要的現實意義。
參考文獻
[1] STAAB S, MAEDCHE A. Ontology learning for the semantic Web[J/OL]. IEEE Intelligent Systems, 2001, 16(2): 72-79.
[2] 王能斌. 數據庫系統教程(上冊)[M].北京: 電子工業出版社, 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] 王琦.計算機與信息技術[M].安徽:安徽省計算機學會.2009.