毛金玲(遼寧建筑職業(yè)學(xué)院,遼寧遼陽 111000)
OWL本體存儲(chǔ)工具模塊設(shè)計(jì)與實(shí)現(xiàn)
毛金玲
(遼寧建筑職業(yè)學(xué)院,遼寧遼陽 111000)
本文介紹了存儲(chǔ)工具的實(shí)現(xiàn)過程,包括編寫代碼所用的軟件、系統(tǒng)流程以及各模塊的實(shí)現(xiàn)方式。其中重點(diǎn)為各模塊的實(shí)現(xiàn)方式,說明了實(shí)現(xiàn)每個(gè)模塊的類以及實(shí)現(xiàn)重要功能的函數(shù)的代碼。本系統(tǒng)的實(shí)現(xiàn)利用Eclipse自帶的工具包及組件得以完成,其中用到的包有util包,用到的類為Iterator,Vector,StringTokenizer,ArrayList;sql包,用到的類有DriverManager,Statement;io包,用到的類有BufferedReader。界面繪制主要用到了AWT組件及Swing組件。
OWL本體 模塊設(shè)計(jì) 模塊實(shí)現(xiàn)
該基于關(guān)系數(shù)據(jù)庫的O W L本體存儲(chǔ)工具的模塊設(shè)計(jì)如圖1所示。
本設(shè)計(jì)基于Java平臺(tái),使用最初由OTI,IBM公司的IDE產(chǎn)品開發(fā)組創(chuàng)建的Eclipse集成開發(fā)環(huán)境。本系統(tǒng)的實(shí)現(xiàn)利用Eclipse自帶的工具包及組件得以完成,其中用到的包有u t i l包,用到的類為Iterator,Vector,StringTokenizer,ArrayList;sql包,用到的類有DriverManager,Statement;io包,用到的類有BufferedReader。界面繪制主要用到了AWT組件及Swing組件。
3.1數(shù)據(jù)模塊
該模塊對(duì)應(yīng)的包為ren.Data包,這個(gè)包中的類是本工具的中間數(shù)據(jù)模型,用于分析OWL本體的源文件后存儲(chǔ)分析結(jié)果,為SQL語句的生成提供數(shù)據(jù)。ren.Data包中共包含26個(gè)類,每個(gè)類的功能及屬性已在存儲(chǔ)工具設(shè)計(jì)中詳細(xì)介紹。其中Data類用于存儲(chǔ)持久化數(shù)據(jù),在解析器Analyser和SQL生成器SQLMaker之間傳遞整個(gè)中間數(shù)據(jù)模型。該類代碼為:
圖1 基于關(guān)系數(shù)據(jù)庫的OWL本體存儲(chǔ)工具模塊設(shè)計(jì)圖
3.2控制模塊
控制模塊為該工具的核心部分,用于執(zhí)行對(duì)文件、字符串、數(shù)據(jù)庫等操作以及對(duì)數(shù)據(jù)的處理和運(yùn)行,并將結(jié)果反饋給視圖模塊等任務(wù)。
(1)文件讀取模塊。文件讀取模塊對(duì)應(yīng)的是ren.ReaderAnd Analyser包中的AFileReader類,該類中最重要的函數(shù)為readFile()函數(shù),此函數(shù)利用輸入流對(duì)文件對(duì)象file中的內(nèi)容進(jìn)行讀取,對(duì)讀取到的每一行作為一個(gè)元素存儲(chǔ)到text向量中。文檔解析模塊和映射轉(zhuǎn)化模塊合并在ren.ReaderAndAnalyser包中的Analyser類中。該類包含27個(gè)函數(shù),其中public void spitter()函數(shù)為拆分函數(shù),將字符串向量中的元素進(jìn)行拆分和拼接,包含一個(gè)完整公理的描述即為一個(gè)字符串。
(2)SQL語言生成模塊。SQL語言生成模塊對(duì)應(yīng)的是ren.SQL包中的SQLMaker類,以中間數(shù)據(jù)模型為基礎(chǔ),生成11個(gè)基本表和每個(gè)實(shí)體類對(duì)應(yīng)的表的生成語句和插入語句。此類中的控制函數(shù)是public SQLs makeSQLs(),調(diào)用各個(gè)表對(duì)應(yīng)的函數(shù)生成各個(gè)表的創(chuàng)建語句和插入語句。以Resource_Table表為例,其SQL語言生成代碼如下:
(3)數(shù)據(jù)庫操作模塊。數(shù)據(jù)庫操作模塊對(duì)應(yīng)的是ren.RDBO perator包中的RDBOperator類,完成了連接數(shù)據(jù)庫以及對(duì)數(shù)據(jù)庫進(jìn)行操作的功能。
}
(4)顯示操作模塊。顯示操作模塊負(fù)責(zé)將每一個(gè)子步驟的結(jié)果反饋給視圖模塊加以顯示。由于本工具的視圖使用的是Java提供的Swing工具,通過事件監(jiān)聽機(jī)制來獲取用戶的操作并進(jìn)行處理,因此該模塊可與視圖模塊進(jìn)行合并。
3.3視圖模塊
視圖模塊對(duì)應(yīng)的是ren.UI包。其中OWLToRDBManager類為基于本工具的用戶界面繪制類,用于完成繪制軟件窗體、初始化軟件說明、添加菜單欄、為軟件窗體的主要控件添加監(jiān)聽器等操作。此類中最主要的函數(shù)是initial(JFrame frame)函數(shù),用于初始化界面,并為菜單欄中的菜單項(xiàng)(如打開文件、退出、顯示版本信息)添加監(jiān)聽器和執(zhí)行函數(shù)。
本文介紹了存儲(chǔ)工具的實(shí)現(xiàn)過程,包括編寫代碼所用的軟件、系統(tǒng)流程以及各模塊的實(shí)現(xiàn)方式。其中重點(diǎn)為各模塊的實(shí)現(xiàn)方式,說明了實(shí)現(xiàn)每個(gè)模塊的類以及實(shí)現(xiàn)重要功能的函數(shù)的代碼。
[1]李勇,李躍龍.基于關(guān)系數(shù)據(jù)庫存儲(chǔ)OWL本體的方法研究[J].計(jì)算機(jī)工程與科學(xué),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.