龐雪++彭琳++陸國泉++保峻嶸
摘要:針對目前云南種子植物特有屬信息資源數(shù)據(jù)格式多樣、集成整合不足、檢索效率低等問題,提出使用基于本體查詢推理的解決方法。利用本體編輯器Protégé,采用七步法構(gòu)建云南省種子植物特有屬領(lǐng)域本體,構(gòu)建云南種子植物特有屬領(lǐng)域本體的推理規(guī)則,并綜合運用Jena和SPARQL實現(xiàn)基于規(guī)則的本體推理查詢。通過對云南省種子植物特有屬領(lǐng)域本體實例的測試,得出潛在的語義查詢結(jié)果,為相關(guān)領(lǐng)域語義信息檢索提供一種新方法和思路。
關(guān)鍵詞:種子植物特有屬;領(lǐng)域本體;Jena;查詢;推理
中圖分類號:TP18 文獻標識碼:A 文章編號:0439-8114(2017)01-0149-04
DOI:10.14088/j.cnki.issn0439-8114.2017.01.038
Construction and Reasoning of Domain Ontology of Yunnan Endemic Genera of Seed
PANG Xue1,PENG Lin1,LU Guo-quan1,BAO Jun-rong2
(1.School Key Laboratory of Agricultural Information Technology in Yunnan/Yunnan Agricultural University, Kunming 650201,China;
2.Yunnan Information Technology Development Center,Kunming 650228,China)
Abstract: According to Yunnan spermatophyte endemic genus resource various data formats, deficient integration, low retrieval efficiency and other issues, a method based ontology query reasoning was proposed. Using seven steps to build Domain Ontology of Yunnan Endemic Genera of Seed with protégé. The reasoning rules of Domain-specific ontology was built and based on this reasoning and queries of ontology with Jena and sparql were achieved. It get the potential semantic query results through the tests to Domain Ontology of Yunnan Endemic Genera of Seed. It provides a new method for other agriculture area terminology information retrieval.
Key words: genera of seed;domain ontology;jena;query;reasoning
目前,隨著本體被廣泛應(yīng)用于語義網(wǎng)等領(lǐng)域,本體構(gòu)建及其推理也成為熱點研究之一。利用植物形態(tài)對植物進行辨別的研究和應(yīng)用已經(jīng)得到發(fā)展。例如,基于幾何參數(shù)方法的植物建模方法、基于植物圖像的建模方法、基于生物學(xué)機理與環(huán)境控制的建模方法[1]。各種方法仍有其自身的適用范圍和局限性。但這些方法無法實現(xiàn)基于語義的查詢推理。本體理論和推理為辨別云南種子植物特有屬研究提供了一種新的途徑。
隨著對本體和語義推理等相關(guān)技術(shù)的深入的研究,現(xiàn)在可以提供基于語義的智能檢索和推理方案。它開發(fā)定義了完整的類概念和類間的組織關(guān)系,在語義層次上實現(xiàn)了智能推理。宗南蘇等[2]對鱖魚疾病診斷語義推理進行了研究,黃風(fēng)華等[3]對基于Jena的臺風(fēng)災(zāi)害領(lǐng)域本體模型進行了研究,王紅等[4]基于本體的民航應(yīng)急決策知識表達與推理方法進行了研究。這些研究為本體的構(gòu)建和基于本體的推理提供了理論基礎(chǔ)。本研究將本體理論與語義推理引入到云南種子植物特有屬領(lǐng)域,建立云南種子植物特有屬領(lǐng)域本體,分析其概念之間的關(guān)系,并在此領(lǐng)域本體的基礎(chǔ)上,實現(xiàn)基于Jena的領(lǐng)域本體解析,并利用Jena的推理機制進行本體推理,添加自定義推理規(guī)則,實現(xiàn)基于植物形態(tài)結(jié)構(gòu)特征的云南植物特有屬的辨別,實現(xiàn)了基于語義的信息查詢以及在此層次上的信息共享和交互,為建立云南種子植物特有屬語義信息檢索系統(tǒng)提供參考。
1 推理機的相關(guān)概念
目前,常用的推理機有Pellet、Jess、FaCT++、Racer、Jena等。Jena是由惠普實驗室開發(fā)的Java開發(fā)工具包,用于Semantic Web(語義網(wǎng))中的應(yīng)用程序開發(fā);Jena是開源的,在其安裝包中有Jena的完整代碼,并且它還提供了DIG接口,是類似于數(shù)據(jù)庫中ODBC接口,它允許后臺使用不同的推理引擎,所以Pellet、FaCT++、Racer推理機也可以在Jena中使用[5]。Jena框架主要包括:①以RDF/XML、三元組形式讀寫RDF,Jena中有相應(yīng)的函數(shù)和接口用于對RDF、RDFS、OWL等格式的數(shù)據(jù)集的查詢推理解析和持續(xù)存儲[2];②RDFS、OWL、DAML+OIL等本體的操作,即對本體的操作解析;③利用數(shù)據(jù)庫保存數(shù)據(jù);④查詢模型,Jena2提供了ARQ查詢引擎,它支持SPARQL、RDQL查詢語言,也可以對模型的查詢有很好的支持,而且常用的關(guān)系型數(shù)據(jù)庫可以與Jena中的查詢引擎相關(guān)聯(lián),這使得在進行查詢時能夠達到更高的效率;⑤基于規(guī)則的推理,Jena2支持基于規(guī)則的推理,推理機制支持將推理器(Inference reasoners)導(dǎo)入Jena,創(chuàng)建模型時將推理器與模型關(guān)聯(lián)以實現(xiàn)推理。Jena的主要推理類型有類間關(guān)系推理、類和實例關(guān)系推理、基于屬性的推理三種類型[6]。
2 云種子植物特有屬領(lǐng)域本體的構(gòu)建
依據(jù)特有屬領(lǐng)域的特點,主要利用領(lǐng)域本體中的核心概念與關(guān)系構(gòu)成來進行本體的構(gòu)建。這樣既保證了特有屬領(lǐng)域本體結(jié)構(gòu)簡單、實用性強,又有利于今后對于該領(lǐng)域本體的擴展。參考了現(xiàn)有的相關(guān)本體及一些相關(guān)的技術(shù)資料,以《云南植物志》和《中國植物志》為基礎(chǔ),對云南種子植物特有屬領(lǐng)域本體的術(shù)語進行提取。將概念分為類屬(Member-of)和組成(Part-of)關(guān)系,將本體中的概念抽象成圖的結(jié)點(Vertex),將概念間的關(guān)系抽象成節(jié)點間的連接(Link),本體結(jié)構(gòu)如圖1所示。
本研究采用Owl語言描述本體,利用斯坦福大學(xué)Stanford Medical Informatics開發(fā)的一個開放源碼的本體編輯器Protégé完成對云南種子植物特有屬領(lǐng)域本體的建模,包括對類定義、類間關(guān)系的定義、屬性的定義、添加實例等,如圖2所示。
3 Jena在語義查詢推理中的應(yīng)用
3.1 Jena在本體查詢中的應(yīng)用
Jena框架包括一個本體子系統(tǒng)(Ontology Subsystem),如圖3所示,它提供的API允許處理基于RDF的本體數(shù)據(jù),即它支持OWL、DAML+OIL和RDFS。本體API與推理子系統(tǒng)結(jié)合可以從特定本體中提取信息[7]。
Ontology Model作為Ontology子系統(tǒng)處理的基本對象,使用者可以對以不同結(jié)構(gòu)存儲的Ontology數(shù)據(jù)進行讀取,并且還可以對Ontology的類、屬性和實例等元素進行操作、處理和一致性檢查。通過方法函數(shù)獲得本體中類、類間關(guān)系、屬性等信息,并對類和屬性等進行增刪改查的操作。本體模型(OntModel)是對Jena RDF模型的擴展,它的功能是處理本體數(shù)據(jù)?;贘ena的本體處理方法第一步就是要建立一個本體模型,然后通過本體模型中所定義的方法函數(shù)對模型進行操作,例如獲取模型本體中的信息、對本體屬性實例進行操作以及將本體的表示輸出到磁盤文件等。在所有的操作之前要使用函數(shù)ModelFactory.createOntologyModel()創(chuàng)建內(nèi)存模型ontModel,再用函數(shù)FileInputStream()讀入.owl文件,用createClass()函數(shù)增加新的類,函數(shù)listClasses()可以得到本體中已經(jīng)有的類,函數(shù)listSuperClasses()顯示當前父類,函數(shù)listSubClasses()顯示當前子類,函數(shù)listDeclaredProperties()顯示當前類所有屬性。類、對象屬性、數(shù)據(jù)屬性查詢實現(xiàn)如圖4所示。實例的解析函數(shù)listSubjectsWithProperty()讀取實例individual,如圖5所示。
3.2 Jena在本體推理中的應(yīng)用
3.2.1 Jena推理原理 本研究的推理方法是利用Jean包中的通用規(guī)則推理機制,如圖6所示,外加以自定義規(guī)則來實現(xiàn)基于本體更好的推理。模型對象(InfGraph)是整個推理機制的核心部分,在進行推理之前,首要就是創(chuàng)建一個本體模型并讀入OWL描述的信息資源,輸入的信息資源包括基本數(shù)據(jù)模型資源,數(shù)據(jù)格式可以是RDF、XML或是OWL,然后在模型工廠(Model Factory)中注冊并創(chuàng)建推理機(Reasoner),這其中也包括基于自定義規(guī)則的推理機;下一步要將推理機和該領(lǐng)域本體綁定在一起,得到一個模型對象。最后,借助本體應(yīng)用程序接口或模型API對已建立的模型對象進行操作和處理,通過自定義規(guī)則對本體模型進行推理,所得的推理結(jié)果是基于描述邏輯的[3,8]。它是針對本體特點定義的默認通用的推理規(guī)則,用于檢查類的可滿足性以及屬性的傳遞、互逆、不相交性等。但是只有這些通用的規(guī)則是不能實現(xiàn)基于本體的推理的。在云南種子植物特有屬領(lǐng)域本體推理過程中,為了能根據(jù)植物外形描述準確判別出植物所屬屬名,可以制定自己的規(guī)則。
3.2.2 推理規(guī)則的確定 云南種子植物特有屬領(lǐng)域本體推理模型的實現(xiàn)主要是由推理規(guī)則和推理程序組成。通過自定義的推理規(guī)則對通用規(guī)則進行補充,可以更好地實現(xiàn)對該本領(lǐng)域本體的推理。本研究以野茼蒿屬和罌粟蓮花屬為例創(chuàng)建規(guī)則。在《云南植物志》中,有關(guān)這兩種屬的部分描述如下:野茼蒿,瘦果狹圓柱形,赤紅色,具肋,被毛;冠毛長8~12 mm,白色;罌粟蓮花,瘦果長約1.2 cm,稍扁,密被長柔毛?;ㄝ憬鼰o毛,圓柱形,粗2~6 mm??梢钥闯鍪莨莾煞N屬都具有的部分,冠毛只有野茼蒿有,花葶只有罌粟蓮花有,所以根據(jù)此特點,自定義查詢規(guī)則如下:
Rule1:(?x rdf:type 特有屬),(?y isPartOf ?x),(?y instance of 冠毛),(?z instance of 瘦果),(?z isPartOf ?x)-->(?x isMemberOf 野茼蒿屬)。
Rule2:(?x rdf:type 特有屬),(?b isPartOf ?x),(?b instance of 花葶),(?c isPartOf ?x),(?c instance of 瘦果)-->(?x isMemberOf 罌粟蓮花屬)。
對上面兩個規(guī)則進行說明,二者是互補的,都是為了判斷這種植物到底是野茼蒿屬還是罌粟蓮花屬。規(guī)則一,如果x是特有屬的一種,y是屬于x的部分,y還是冠毛的一個實例,z也是屬于x的一部分,z還是瘦果的一個實例,那么就可以判斷出x是野茼蒿屬的一員;規(guī)則二,如果x是特有屬的一種,b是屬于x的部分,b還是花葶的一個實例,c也是x的一部分,并且c是瘦果的一個實例,那么可以判斷出x就是罌粟蓮花屬的一員。
3.2.3 領(lǐng)域本體推理的實現(xiàn) 通過Jena推理機和上節(jié)中的推理規(guī)則,發(fā)現(xiàn)其中的隱含關(guān)系,主要代碼如下:
//推理規(guī)則
String rule =" rdfs: ( ?x rdf:type 特有屬) ,( ?y isPartOf ?x),(?y instanceOf 冠毛),(?z isPartOf ?x ),(?z instanceOf 瘦果) -> ( ?x isMemberOf 野茼蒿屬) "+" rdfs: ( ?x rdf:type 特有屬) ,( ?b isPartOf ?x),(?b instanceOf 花葶),(?c isPartOf ?x ),(?c instanceOf 瘦果) -> ( ?x isMemberOf 罌粟蓮花屬)";
// 創(chuàng)建特定的推理機:以創(chuàng)建OWL層次的推理機
Reasoner reasoner= ReasonerRegistry.getOWLMicroReasoner();
// 獲取推理模型
Model infModel = ModelFactory.createInfModel(reasoner,ModelFactory.createDefaultModel());
在進行查詢時,使用W3C制定和推薦的RDF查詢語言SPARQL進行查詢,SPARQL是基于自然語言理解的本體查詢語言,構(gòu)建相應(yīng)的查詢?nèi)M,與基于關(guān)鍵詞的查詢方法而言,提高了查全率和查準率,推理結(jié)果如圖7所示。
4 小結(jié)
本研究將本體理論本體推理引入到云南種子植物特有屬的判別當中,詳細討論了本體建模和推理機制在云南種子植物特有屬領(lǐng)域本體中的應(yīng)用,建立了云南種子植物特有屬領(lǐng)域本體,并討論了Jena在本體解析當中的使用;采用Jena推理引擎并自定義推理規(guī)則,實現(xiàn)了基于云南種子植物特有屬領(lǐng)域本體的推理。相比于其他方法,解決了基于語義的查詢推理問題,為建立云南種子植物特有屬語義信息檢索系統(tǒng)提供參考。由于領(lǐng)域本體和規(guī)則需要不斷的完善和添加,推理還需要不斷的改進。在查詢方面還應(yīng)繼續(xù)增加語義范圍,增加同義詞庫等,針對上述問題今后還需進一步研究。
參考文獻:
[1] 陳冬麗,蘇禮楷,柳 薇.一種基于本體和特征綜合推理的植物建模方法[J].華南師范大學(xué)學(xué)報(自然科學(xué)版),2010(2):45-29.
[2] 宗南蘇,鄭業(yè)魯,錢 平.基于SWRL的鱖魚疾病診斷知識表示與語義推理實現(xiàn)[J].情報學(xué)報,2010,29(3):414-421.
[3] 黃風(fēng)華,宴路明.基于Jena的臺風(fēng)災(zāi)害領(lǐng)域本體模型推理[J].計算機應(yīng)用,2013,33(3):771-775,779.
[4] 王 紅,楊 璇,王 靜,等.基于本體民航應(yīng)急決策知識表達與推理方法研究[J].計算機工程與科學(xué),2011,33(4):129-133.
[5] 田 宏,馬鵬云.基于Jena的城市交通領(lǐng)域本體推理和查詢方法[J].計算機應(yīng)用與軟件,2011(8):57-59.
[6] CRANEFIELD S,PAN J.Bridging the gap between the model-driven architecture and ontology engineering[J].International Journal of Human-computer Studies,2007,65(7):595-609.
[7] 向 陽,王 敏,馬 強.基于Jena的本體構(gòu)建方法研究[J].計算機工程,2007,33(14):59-61.
[8] 金保華,林 青,付中舉,等.基于SWRL的應(yīng)急案例庫的知識表示及推理方法研究[J].科學(xué)技術(shù)與工程,2012,12(33):9049-9057.