程玉娟 方俊偉 賴(lài)涵
摘 要 本體作為知識(shí)圖譜的核心內(nèi)容,以圖結(jié)構(gòu)的形式描述知識(shí),隨著知識(shí)量的不斷擴(kuò)大以及知識(shí)之間關(guān)聯(lián)性的增加,本體中概念之間的圖結(jié)構(gòu)也越來(lái)越復(fù)雜,這給數(shù)據(jù)庫(kù)的存儲(chǔ)能力和表示能力帶來(lái)了很大的挑戰(zhàn)。圖數(shù)據(jù)庫(kù)具有天然的圖結(jié)構(gòu),可以很好地與本體的邏輯結(jié)構(gòu)形成映射關(guān)系。本文從本體內(nèi)容完整性的角度,對(duì)比分析了目前常見(jiàn)的9種圖數(shù)據(jù)庫(kù)本體存儲(chǔ)方法,實(shí)驗(yàn)結(jié)果顯示目前的方法還無(wú)法滿(mǎn)足完整的本體內(nèi)容導(dǎo)入。
關(guān)鍵詞 本體;圖數(shù)據(jù)庫(kù);存儲(chǔ)
1 本體存儲(chǔ)相關(guān)研究
本體內(nèi)容的導(dǎo)入需要考慮復(fù)雜的映射規(guī)則。實(shí)名類(lèi)、實(shí)例、對(duì)象屬性關(guān)系、數(shù)據(jù)屬性關(guān)系是本體最核心、最基礎(chǔ)的內(nèi)容,任何本體存儲(chǔ)方法都必須滿(mǎn)足這四者的存儲(chǔ)需求。在圖數(shù)據(jù)庫(kù)中存儲(chǔ)本體,研究者通常將實(shí)名類(lèi)、實(shí)例映射為節(jié)點(diǎn),對(duì)象屬性關(guān)系、數(shù)據(jù)屬性關(guān)系映射為邊[1-4],也有研究者將對(duì)象屬性關(guān)系映射為節(jié)點(diǎn),然后通過(guò)定義域、值域邊來(lái)連接兩端的節(jié)點(diǎn)[5],對(duì)于多元函數(shù)關(guān)系我們需要一些特殊的處理方法,目前研究尚少;對(duì)于公理,它表示永真的語(yǔ)義信息,類(lèi)公理、實(shí)例公理我們只需要通過(guò)公理邊連接頭尾實(shí)體[1,5],對(duì)于描述屬性關(guān)系之間語(yǔ)義信息的公理,一種方法是屬性關(guān)系作為邊的情況下,屬性公理映射為邊的屬性[6],另外一種是屬性關(guān)系作為節(jié)點(diǎn)的情況下,屬性公理作為邊連接兩個(gè)屬性關(guān)系節(jié)點(diǎn)[7];對(duì)于匿名類(lèi),它在描述公理時(shí)候產(chǎn)生,用于豐富實(shí)名類(lèi)的信息,有的情況下可以直接忽略匿名類(lèi)的存儲(chǔ),需要存儲(chǔ)匿名類(lèi)可以根據(jù)本體描述的需求生成匿名節(jié)點(diǎn),以子圖的形式來(lái)存儲(chǔ)整個(gè)匿名節(jié)點(diǎn)的信息[8-9];對(duì)于規(guī)則,它用于擴(kuò)展知識(shí)描述范圍,可以結(jié)合公理信息推理出新的概念之間關(guān)系[4]。
2 實(shí)驗(yàn)與分析
本次實(shí)驗(yàn)比較了9種圖數(shù)據(jù)庫(kù)本體存儲(chǔ)方法,具體是將本體按照這些方法分別存入到圖數(shù)據(jù)庫(kù),從本題要素存儲(chǔ)完整性的角度對(duì)比和分析它們。這9種方法來(lái)自于文獻(xiàn):[1-9]。
實(shí)驗(yàn)中對(duì)本體操作的編程語(yǔ)言為java,實(shí)驗(yàn)環(huán)境為:
(1)操作系統(tǒng):ubuntu 16.04;
(2)CPU:Intel Core i5-7300HQ CPU 2.50GHz
(3)內(nèi)存:8.00 GB
(4)圖數(shù)據(jù)庫(kù):Neo4J 3.4.0
實(shí)驗(yàn)結(jié)果:
本文將本體拆解為實(shí)體、關(guān)系、公理、規(guī)則四個(gè)方面討論存儲(chǔ)的完整性,其中,實(shí)體又分為實(shí)名類(lèi)、匿名類(lèi)、實(shí)例,關(guān)系分為對(duì)象屬性關(guān)系、數(shù)據(jù)屬性關(guān)系、函數(shù)關(guān)系;公理分為類(lèi)公理、實(shí)例公理、屬性公理。表1展示了9種方法的本體各要素存儲(chǔ)情況。由其可知,目前的圖數(shù)據(jù)庫(kù)本體存儲(chǔ)方法,尚無(wú)法滿(mǎn)足完整的本體內(nèi)容導(dǎo)入,特別是對(duì)于匿名類(lèi)、多元函數(shù)以及規(guī)則的存儲(chǔ)實(shí)現(xiàn)。納入比較的9種方法種,graphDB[11]和stardog[12]在完整性方面是相對(duì)最好的,stardog支持除規(guī)則外的本體內(nèi)容導(dǎo)入,graphDB基本可以滿(mǎn)足本體的完整導(dǎo)入。
在實(shí)驗(yàn)中我們還發(fā)現(xiàn),這兩種方法在匿名類(lèi)的處理上,相對(duì)于本體,會(huì)生成更多的匿名節(jié)點(diǎn),這些冗余信息事實(shí)上是可以避免的;對(duì)于多元函數(shù)的處理也不是很清晰;對(duì)于規(guī)則的處理,graphDB目前只能滿(mǎn)足基本的規(guī)則。
3 結(jié)論與展望
本文從本體內(nèi)容完整性的角度,對(duì)比分析了常見(jiàn)的9種圖數(shù)據(jù)庫(kù)本體存儲(chǔ)方法。實(shí)驗(yàn)表明,目前的方法還無(wú)法滿(mǎn)足完整的本體內(nèi)容導(dǎo)入,特別是對(duì)于匿名類(lèi)、多元函數(shù)以及規(guī)則的存儲(chǔ)實(shí)現(xiàn)。
在未來(lái)的研究中,我們會(huì)提出一種基于Neo4j來(lái)實(shí)現(xiàn)本體內(nèi)容的完整存儲(chǔ)。該方法旨在利用圖數(shù)據(jù)庫(kù)中節(jié)點(diǎn)、邊來(lái)標(biāo)識(shí)本體中的類(lèi)、實(shí)例、關(guān)系和公理,利用節(jié)點(diǎn)、邊組合的子圖形式來(lái)標(biāo)識(shí)匿名類(lèi)、函數(shù)關(guān)系等內(nèi)容,利用數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程實(shí)現(xiàn)本體的規(guī)則實(shí)現(xiàn)。通過(guò)本體到屬性圖模型的映射,在保證語(yǔ)義信息不丟失的情況下,減少冗余信息。
參考文獻(xiàn)
[1] 張慧,侯霞,李寧. 本體存儲(chǔ)方法研究[J].北京信息科技大學(xué)學(xué)報(bào),2016,(3):59-63.
[2] 何向武. 大數(shù)據(jù)中RDF語(yǔ)義數(shù)據(jù)存儲(chǔ)優(yōu)化探討[J].計(jì)算機(jī)應(yīng)用與軟件,2015,(4):44-47,61.
[3] 項(xiàng)靈輝,顧進(jìn)廣,吳鋼. 基于圖數(shù)據(jù)庫(kù)的RDF數(shù)據(jù)分布式存儲(chǔ)[J] .計(jì)算機(jī)應(yīng)用與軟件,2014,44(11):148-156.
[4] 康杰華,羅章璇. 基于圖形數(shù)據(jù)庫(kù)Neo4j的RDF數(shù)據(jù)存儲(chǔ)研究[J].信息技術(shù),2015,(6):115-117.
[5] 王紅,張青青,蔡偉偉,等. 基于Neo4j的領(lǐng)域本體存儲(chǔ)方法研究[J].計(jì)算機(jī)應(yīng)用研究,2017,(8):2404-2407.
[6] Bouhali R , Laurent A . Exploiting RDF Open Data Using NoSQL Graph Databases [J]. AIAI, 2015,(9):179.
[7] Faming Gong,Yuhui MaID,Wenjuan Gong.Neo4j graph database realizes efficient storage performance of oilfield ontology[J]. PLoS ONE,2018,(9):123.
作者簡(jiǎn)介
程玉娟(1990-),女,學(xué)歷:碩士,專(zhuān)任教師,現(xiàn)就職單位:武漢鐵路職業(yè)技術(shù)學(xué)院鐵道機(jī)車(chē)車(chē)輛學(xué)院,研究方向:軟件工程、需求工程、人工智能等。
方俊偉(1995-),學(xué)歷:碩士,現(xiàn)就職單位:武漢大學(xué)計(jì)算機(jī)學(xué)院,研究方向:知識(shí)圖譜、軟件工程等。
賴(lài)涵(1981-),男,學(xué)歷:博士,講師,現(xiàn)就職單位:重慶工商大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院,研究方向:需求工程、云計(jì)算、軟件工程等。