亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于本體語義索引的關系數(shù)據(jù)庫信息檢索方法及裝置制造方法

文檔序號:6549751閱讀:177來源:國知局
基于本體語義索引的關系數(shù)據(jù)庫信息檢索方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種基于本體語義索引的關系數(shù)據(jù)庫信息檢索方法及裝置,包括以下步驟:首先通過自動抽取數(shù)據(jù)庫的信息形成本體數(shù)據(jù)庫語義索引,然后按照從索引中提取的用戶字典對用戶的查詢語句進行分詞,最終通過sql語句生成算法自動構建sql語句,通過數(shù)據(jù)庫連接形成查詢結果返回給用戶,從而實現(xiàn)對關系數(shù)據(jù)庫的語義檢索。對比現(xiàn)有技術,本發(fā)明能夠以類非結構化數(shù)據(jù)查詢的方式使用關鍵字查詢結構化數(shù)據(jù);同時本發(fā)明僅將數(shù)據(jù)庫結構和用戶關心的關鍵信息導入本體知識庫,存儲開銷和同步更新開銷均較小,且使用數(shù)據(jù)庫管理系統(tǒng)自身的查詢功能實現(xiàn)查詢,響應時間也大大提高。
【專利說明】基于本體語義索引的關系數(shù)據(jù)庫信息檢索方法及裝置【技術領域】
[0001]本發(fā)明涉及一種數(shù)據(jù)庫信息檢索方法及裝置,特別涉及一種基于本體語義索引的關系數(shù)據(jù)庫信息檢索方法及裝置,屬于計算機應用【技術領域】。
【背景技術】
[0002]計算機信息檢索始于50年代初,在40多年的發(fā)展歷史中,計算機信息檢索大體歷經(jīng)了脫機檢索,聯(lián)機檢索,網(wǎng)絡化聯(lián)機檢索三個階段?,F(xiàn)階段基于關鍵字以及谷歌PageRank算法的信息檢索技術已經(jīng)相當成熟。但是在數(shù)據(jù)庫檢索領域尤其是企業(yè)內(nèi)部大數(shù)據(jù)時代的數(shù)據(jù)庫信息檢索,除了手動編寫sql語句檢索查詢以外,尚缺乏其他更好的自動化檢索技術研究。
[0003]語義網(wǎng)技術是當前互聯(lián)網(wǎng)技術研究的熱點之一。目前大多數(shù)頁面中的使用的文字信息不便于機器自動處理,只適合人們自己閱讀理解。如何解決可自動處理的數(shù)據(jù)和信息方面發(fā)展較慢的問題,在網(wǎng)絡上信息量劇增、人們迫切需要計算機分擔知識整理這一壓力的今天,成為信息檢索的一個難題。語義網(wǎng)就作為解決這個難題的潛在方案又被稱為web3.00
[0004]作為語義網(wǎng)實現(xiàn)的一 個核心技術一本體(Ontology),定義了組成主題領域的詞匯表的基本術語及其關系,以及結合這些術語和關系來定義詞匯表外延的規(guī)則。
[0005]本體的目標是捕獲相關領域的知識,提供對該領域知識的共同理解,確定該領域內(nèi)共同認可的詞匯,并從不同層次的形式化模式上給出這些詞匯(術語)和詞匯間相互關系的明確定義。
[0006]隨著語義網(wǎng)技術的興起,基于語義的智能搜索成為搜索引擎的下一個目標。這些研究大多是對非結構化數(shù)據(jù)的檢索,對于結構化的數(shù)據(jù)庫尤其是企業(yè)內(nèi)部大數(shù)據(jù)時代的數(shù)據(jù)庫信息檢索,尚缺乏一定的研究。其中少有的基于本體知識庫的檢索雖然形成了本體文件,但是所有的實例和信息全部需要導入本體文件中,對于企業(yè)內(nèi)部大規(guī)模的數(shù)據(jù)來說顯然不夠現(xiàn)實并且擴展性也不是很好。
[0007]總體而言,已有的研究存在以下問題:
[0008](I)在信息檢索領域很少有對結構化數(shù)據(jù)庫的檢索研究。
[0009](2)雖然一些研究結合了語義網(wǎng)技術,但是將所有的數(shù)據(jù)全部倒入本體知識庫中去,最終等于是本體知識庫的檢索,不僅導致存儲開銷增大,同時本體知識庫與數(shù)據(jù)庫的同步更新也成為問題。

【發(fā)明內(nèi)容】

[0010]本發(fā)明的目的是為解決對類似非結構化數(shù)據(jù)檢索的數(shù)據(jù)庫的高效檢索問題,將關鍵字檢索與語義網(wǎng)中本體技術相結合,提供一種基于本體語義索引的關系數(shù)據(jù)庫信息檢索方法和裝置,實現(xiàn)對數(shù)據(jù)庫類似非結構化數(shù)據(jù)的關鍵字檢索功能。
[0011]本發(fā)明方法的思想是通過自動抽取數(shù)據(jù)庫的信息形成本體數(shù)據(jù)庫語義索引,然后按照從索引中提取的用戶字典對用戶的查詢語句進行分詞,最終通過sql語句生成算法自動構建sql語句,通過數(shù)據(jù)庫連接形成查詢結果返回給用戶,從而實現(xiàn)對關系數(shù)據(jù)庫的語義檢索。
[0012]本發(fā)明的具體技術方案如下:
[0013]一種基于本體語義索引的關系數(shù)據(jù)庫信息檢索方法,包括以下步驟:
[0014]步驟一、對給定的待檢索數(shù)據(jù)庫,按照已經(jīng)定義的本體文件結構,自動抽取數(shù)據(jù)庫的表列名以及主鍵列或用戶關心的其它列值生成本體文件;
[0015]步驟二、掃描步驟一生成的本體文件,抽取詞以及自定義詞性構建用戶自定義字
血.ZN ?
[0016]步驟三、對用戶的查詢使用分詞工具根據(jù)自定義字典進行分詞以及詞性標注;
[0017]步驟四、對應分詞的結果按照sql語句生成模板自動生成sql語句,sql語句生成過程如下:
[0018]根據(jù)用戶自定義詞性的分類,用戶輸入的最終分詞結果是daob,dait,和indi這三種詞性以及這三種詞性之間的組合。對于單一模式(即每種詞性至多一個),一共有3+3+1 = 7中組合方式,對于每種組合方式,處理方法如下:
[0019]情況1:A/daob:select*from A ;
[0020]情況2:B/dait:列舉所有包含B的表名供用戶選擇(如若只有一項,直接默認選擇),轉化成情況4 ;
[0021]情況3:C/ind1:列舉所有包含實例C的列名供用戶選擇(如若只有一項,直接默認選擇),轉化成情況6 ;
[0022]情況4:A/daob+B/dait:select B from A ;
[0023]情況5:A/daob+C/ind1:select*from A where D =,C,(D 是實例 C 所屬的列);
[0024]情況6:B/dait+C/ind1:列舉所有包含B的表名供用戶選擇(如若只有一項,直接默認選擇),轉化成情況7;
[0025]情況7:A/daob+B/dait+C/ind1:select B from A where D =,C,(D 是實例 C 所屬的列)。
[0026]對于非單一模式,即對于至少一種自定義詞性,包含多于一個的分詞結果,按照表列實例是否相關分組,判斷是否相關的方法如下:表列之間,對于每一個表(即本體中的數(shù)據(jù)對象子類)和每一個列(即本體中的數(shù)據(jù)項子類)根據(jù)本體里面的數(shù)據(jù)對象屬性,看它們之間是否存在“有數(shù)據(jù)項”的數(shù)據(jù)對象屬性關聯(lián),有就歸為一組,沒有則歸為不同的組。列與實例之間,對于每一個列和實例,判斷該實例是否是該列的實例即實例是否屬于表示該列的數(shù)據(jù)項子類,是則歸為一組,否則歸為不同的組。其中的每一組又是上面七種情況之一,再分別進行處理即可。
[0027]步驟五、對于生成的sql語句進行數(shù)據(jù)庫查詢,并且返回結果給用戶。
[0028]通過上述步驟的操作,即可由用戶輸入的查詢語句自動構建sql語句形成查詢結果最終返回給用戶。
[0029]一種基于本體語義索引的關系數(shù)據(jù)庫信息檢索裝置,包括本體文件生成裝置,抽取用戶自定義字典裝置,同步更新裝置,關鍵字輸入裝置,分詞裝置,sql語句生成裝置、數(shù)據(jù)庫查詢裝置和數(shù)據(jù)顯示裝置;[0030]所述本體文件生成裝置用于對用戶給定的數(shù)據(jù)庫以及用戶關心的列值信息按照已經(jīng)定義的本體文件結構,自動抽取數(shù)據(jù)庫的表列名以及主鍵列或用戶關心的其它列值生成本體文件;
[0031]所述抽取用戶自定義字典裝置用于使用分詞工具使用daob、dait和indi三種詞性對本體文件進行掃描分詞,以及詞性標注,并抽取單詞以及詞性標注的組合項生成用戶自定義字典,各組合項之間以“,”分隔;
[0032]所述同步更新裝置用于在數(shù)據(jù)庫中發(fā)生對本體文件中存儲的數(shù)據(jù)庫表列項實例的增加、刪除和修改時,同步更新本體知識庫和自定義字典;
[0033]所述關鍵字輸入裝置用于接收用戶的查詢語句;
[0034]所述分詞裝置用于將用戶的查詢語句使用分詞工具按照自定義字典進行分詞以及詞性標注;
[0035]所述sql語句生成裝置用于按照sql語句生成模板對用戶查詢語句的分詞結果構建對應的sql語句;
[0036]所述數(shù)據(jù)庫查詢裝置用于使用sql語句查詢數(shù)據(jù)庫并返回查詢結果;
[0037]所述數(shù)據(jù)顯示裝置用于將數(shù)據(jù)庫查詢裝置返回的查詢結果顯示給用戶。
[0038]有益效果
[0039]對比現(xiàn)有技術,本發(fā)明具備以下有益效果:
[0040](I)能夠以類非結構化數(shù)據(jù)查詢的方式使用關鍵字查詢結構化數(shù)據(jù),可以與非結構查詢共用統(tǒng)一的查詢接口,用戶不需要了解sql規(guī)范即可實現(xiàn)對結構化數(shù)據(jù)的查詢。
[0041](2)本發(fā)明僅將數(shù)據(jù)庫結構和用戶關心的關鍵信息導入本體知識庫,存儲開銷和同步更新開銷均較小,且使用數(shù)據(jù)庫管理系統(tǒng)自身的查詢功能實現(xiàn)查詢,響應時間也大大提聞。
【專利附圖】

【附圖說明】
[0042]圖1是本體文件結構以及類與類之間的關系。
[0043]圖2是電力全網(wǎng)日統(tǒng)計表列結構。
[0044]圖3是電力變壓器日統(tǒng)計表列結構。
[0045]圖4是實施例中具體的庫信息和數(shù)據(jù)對象信息的本體結構。
[0046]圖5是實施例中數(shù)據(jù)對象:電力全網(wǎng)日統(tǒng)計的具體的數(shù)據(jù)項信息的本體結構。
[0047]圖6是實施例中數(shù)據(jù)對象:電力變壓器日統(tǒng)計的具體的數(shù)據(jù)項信息的本體結構。
[0048]圖7是本發(fā)明裝置的結構示意圖。
[0049]圖8是本發(fā)明方法的數(shù)據(jù)流程示意圖。
[0050]圖9是本發(fā)明關鍵字輸入裝置的結構示意圖。
[0051]圖10是本發(fā)明數(shù)據(jù)顯示裝置的結構示意圖。
【具體實施方式】
[0052]為了更好的說明本發(fā)明的技術方案,下面通過兩個實例表,對本發(fā)明做進一步說明。
[0053]本實施例以國產(chǎn)數(shù)據(jù)庫達夢作為檢索的數(shù)據(jù)庫,數(shù)據(jù)庫名為PSIDP_SEARCH,數(shù)據(jù)庫的地址是localhost:12345/PSIDP_SEARCH,其中的電力全網(wǎng)日統(tǒng)計表列結構如圖2所示,電力變壓器日統(tǒng)計表列結構如圖3所示,檢索方法的數(shù)據(jù)流程如圖8所示,具體過程如下:
[0054]步驟一、對給定的待檢索數(shù)據(jù)庫PSIDP_SEARCH,按照已經(jīng)定義的本體文件結構,首先使用jdbc訪問數(shù)據(jù)庫的元數(shù)據(jù)并抽取數(shù)據(jù)庫的表列名以及主鍵列實例,電力全網(wǎng)日統(tǒng)計中名稱列實例,電力變壓器日統(tǒng)計中的廠站名列實例,然后由jena生成本體文件;
[0055]本體文件即owl文件,是基于xml可擴展標記語言的,文件會使用不同的標識來標記我們所定義的類或者實例。本體中可以定義類以及關系和實例,其中類即概念的抽象描述,關系又稱為屬性,包括兩種,一種是數(shù)據(jù)對象屬性即類與類之間的關系,另一種是數(shù)據(jù)類型屬性即類與數(shù)據(jù)類型如整型,字符串類型等的關系。實例是類的具體實例,類似程序設計中類與實例的關系。本發(fā)明中的本體文件定義了三個頂層類,分別是庫信息,數(shù)據(jù)對象和數(shù)據(jù)項(分別對應數(shù)據(jù)庫中的庫,表,列)。其中庫信息具有庫類型和庫連接地址兩個string類型的數(shù)據(jù)類型屬性,作為數(shù)據(jù)庫連接的地址。對于每一個具體的數(shù)據(jù)庫,首先建立庫信息的子類,然后建立該子類的一個實例,多個數(shù)據(jù)庫就有多個庫信息的子類以及子類的實例。庫中的每一個表作為數(shù)據(jù)對象的一個子類,表中的每一列作為數(shù)據(jù)項的一個子類。每個庫信息的子類都會與由該數(shù)據(jù)庫的表生成的數(shù)據(jù)對象子類建立“有數(shù)據(jù)對象“的數(shù)據(jù)對象屬性關聯(lián),每個由表生成的數(shù)據(jù)對象子類都會與由該表中的列生成的數(shù)據(jù)項子類建立“有數(shù)據(jù)項”的數(shù)據(jù)對象屬性關聯(lián)。這樣就可以由一個完整的數(shù)據(jù)庫導出其中所有的表列以及表列庫的關聯(lián),對于常用的數(shù)據(jù)庫列實例或者表的主鍵,抽取具體的列值,作為列對象的實例存放到本體owl文件中。文件的抽取采用生成采用java使用jdbc以及本體java apijena構建java程序自動生成。本體文件結構以及類與類之間的關聯(lián)關系如圖1。在實際的數(shù)據(jù)庫應用中,很少對數(shù)據(jù)庫的結構進行更新修改操作,大多是對數(shù)據(jù)的增刪查改,所以對應于本體文件的更新上,當數(shù)據(jù)庫中寫入本體文件的列對象的實例發(fā)生變化時,會觸發(fā)事件修改對應的本體文件實例。
[0056]例如,按照本例中所示的數(shù)據(jù)庫結構本體的結構內(nèi)容如圖4,數(shù)據(jù)對象電力全網(wǎng)日統(tǒng)計和電力變壓器日統(tǒng)計的數(shù)據(jù)項關聯(lián)如圖5和圖6。其中關于類,屬性與實例在本體文件中的部分描述以及本體文件結構如下:
[0057]
【權利要求】
1.一種基于本體語義索引的關系數(shù)據(jù)庫信息檢索方法,其特征在于,包括以下步驟: 步驟1:對給定的待檢索數(shù)據(jù)庫,按照已經(jīng)定義的本體文件結構,自動抽取數(shù)據(jù)庫的表列名以及主鍵列或用戶關心的其它列值生成本體文件; 步驟2:掃描步驟一生成的本體文件,抽取詞以及自定義詞性構建用戶自定義字典; 步驟3:對用戶的查詢使用分詞工具根據(jù)自定義字典進行分詞以及詞性標注; 步驟4:對應分詞的結果按照sql語句生成模板自動生成sql語句; 步驟5:對生成的sql語句執(zhí)行數(shù)據(jù)庫查詢,并返回查詢結果給用戶。
2.根據(jù)權利要求1所述的一種基于本體語義索引的關系數(shù)據(jù)庫信息檢索方法,其特征在于,所述sql語句生成模板如下:
情況 1:A/daob:select*from A ; 情況2:B/dait:列舉所有包含B的表名供用戶選擇(如若只有一項,直接默認選擇),轉化成情況4 ; 情況3:C/ind1:列舉所有包含實例C的列名供用戶選擇(如若只有一項,直接默認選擇),轉化成情況6 ;
情況 4:A/daob+B/dait:select B from A ; 情況 5:A/daob+C/in d1:select*from A where D =’ C,(D 是實例 C 所屬的列); 情況6:B/dait+C/ind1:列舉所有包含B的表名供用戶選擇(如若只有一項,直接默認選擇),轉化成情況7 ; 情況 7:A/daob+B/dait+C/ind1:select B from A where D =,C,(D 是實例 C 所屬的列)。
3.一種基于本體語義索引的關系數(shù)據(jù)庫信息檢索裝置,其特征在于,包括本體文件生成裝置,抽取用戶自定義字典裝置,同步更新裝置,關鍵字輸入所述本體文件生成裝置用于對用戶給定的數(shù)據(jù)庫以及用戶關心的列值信息按照已經(jīng)定義的本體文件結構,自動抽取數(shù)據(jù)庫的表列名以及主鍵列或用戶關心的其它列值生成本體文件; 所述抽取用戶自定義字典裝置用于使用分詞工具使用daob、dait和indi三種詞性對本體文件進行掃描分詞,以及詞性標注,并抽取單詞以及詞性標注的組合項生成用戶自定義字典,各組合項之間以“,”分隔; 所述同步更新裝置用于在數(shù)據(jù)庫中發(fā)生對本體文件中存儲的數(shù)據(jù)庫表列項實例的增加、刪除和修改時,同步更新本體知識庫和自定義字典; 所述關鍵字輸入裝置用于接收用戶的查詢語句; 所述分詞裝置用于將用戶的查詢語句使用分詞工具按照自定義字典進行分詞以及詞性標注; 所述sql語句生成裝置用于按照所述sql語句生成模板對用戶查詢語句的分詞結果構建對應的sql語句; 所述數(shù)據(jù)庫查詢裝置用于使用sql語句查詢數(shù)據(jù)庫并返回查詢結果; 所述數(shù)據(jù)顯示裝置用于將數(shù)據(jù)庫查詢裝置返回的查詢結果顯示給用戶。
【文檔編號】G06F17/27GK104021198SQ201410267202
【公開日】2014年9月3日 申請日期:2014年6月16日 優(yōu)先權日:2014年6月16日
【發(fā)明者】汪良果, 廖樂健, 陳若愚, 宋丹丹 申請人:北京理工大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1