毛金玲(遼寧建筑職業學院,遼寧遼陽 111000)
OWL本體存儲工具模塊設計與實現
毛金玲
(遼寧建筑職業學院,遼寧遼陽 111000)
本文介紹了存儲工具的實現過程,包括編寫代碼所用的軟件、系統流程以及各模塊的實現方式。其中重點為各模塊的實現方式,說明了實現每個模塊的類以及實現重要功能的函數的代碼。本系統的實現利用Eclipse自帶的工具包及組件得以完成,其中用到的包有util包,用到的類為Iterator,Vector,StringTokenizer,ArrayList;sql包,用到的類有DriverManager,Statement;io包,用到的類有BufferedReader。界面繪制主要用到了AWT組件及Swing組件。
OWL本體 模塊設計 模塊實現
該基于關系數據庫的O W L本體存儲工具的模塊設計如圖1所示。
本設計基于Java平臺,使用最初由OTI,IBM公司的IDE產品開發組創建的Eclipse集成開發環境。本系統的實現利用Eclipse自帶的工具包及組件得以完成,其中用到的包有u t i l包,用到的類為Iterator,Vector,StringTokenizer,ArrayList;sql包,用到的類有DriverManager,Statement;io包,用到的類有BufferedReader。界面繪制主要用到了AWT組件及Swing組件。
3.1數據模塊
該模塊對應的包為ren.Data包,這個包中的類是本工具的中間數據模型,用于分析OWL本體的源文件后存儲分析結果,為SQL語句的生成提供數據。ren.Data包中共包含26個類,每個類的功能及屬性已在存儲工具設計中詳細介紹。其中Data類用于存儲持久化數據,在解析器Analyser和SQL生成器SQLMaker之間傳遞整個中間數據模型。該類代碼為:




圖1 基于關系數據庫的OWL本體存儲工具模塊設計圖
3.2控制模塊
控制模塊為該工具的核心部分,用于執行對文件、字符串、數據庫等操作以及對數據的處理和運行,并將結果反饋給視圖模塊等任務。
(1)文件讀取模塊。文件讀取模塊對應的是ren.ReaderAnd Analyser包中的AFileReader類,該類中最重要的函數為readFile()函數,此函數利用輸入流對文件對象file中的內容進行讀取,對讀取到的每一行作為一個元素存儲到text向量中。文檔解析模塊和映射轉化模塊合并在ren.ReaderAndAnalyser包中的Analyser類中。該類包含27個函數,其中public void spitter()函數為拆分函數,將字符串向量中的元素進行拆分和拼接,包含一個完整公理的描述即為一個字符串。
(2)SQL語言生成模塊。SQL語言生成模塊對應的是ren.SQL包中的SQLMaker類,以中間數據模型為基礎,生成11個基本表和每個實體類對應的表的生成語句和插入語句。此類中的控制函數是public SQLs makeSQLs(),調用各個表對應的函數生成各個表的創建語句和插入語句。以Resource_Table表為例,其SQL語言生成代碼如下:


(3)數據庫操作模塊。數據庫操作模塊對應的是ren.RDBO perator包中的RDBOperator類,完成了連接數據庫以及對數據庫進行操作的功能。
}
(4)顯示操作模塊。顯示操作模塊負責將每一個子步驟的結果反饋給視圖模塊加以顯示。由于本工具的視圖使用的是Java提供的Swing工具,通過事件監聽機制來獲取用戶的操作并進行處理,因此該模塊可與視圖模塊進行合并。
3.3視圖模塊
視圖模塊對應的是ren.UI包。其中OWLToRDBManager類為基于本工具的用戶界面繪制類,用于完成繪制軟件窗體、初始化軟件說明、添加菜單欄、為軟件窗體的主要控件添加監聽器等操作。此類中最主要的函數是initial(JFrame frame)函數,用于初始化界面,并為菜單欄中的菜單項(如打開文件、退出、顯示版本信息)添加監聽器和執行函數。
本文介紹了存儲工具的實現過程,包括編寫代碼所用的軟件、系統流程以及各模塊的實現方式。其中重點為各模塊的實現方式,說明了實現每個模塊的類以及實現重要功能的函數的代碼。
[1]李勇,李躍龍.基于關系數據庫存儲OWL本體的方法研究[J].計算機工程與科學,2008,30(7):105-107.
[2]Vy niauskas E,Nemurait L,Paradauskas B. Preserving Semantics of Owl 2 Ontologies in Relational Databases Using Hybrid Approach[J]. Information Technology And Control,2012,41(2):103-115.
[3]Cardoso J,Escórcio A L N. Editing Tools for Ontology Construction[J].Idea,March,2007:1-27.