《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > Jena推理機在基于本體的信息檢索中的應用
Jena推理機在基于本體的信息檢索中的應用
耿科明,袁 方
(河北大學 數學與計算機學院,河北 保定071002 )
摘要: 對Jean推理機的結構及推理規則的構造語法進行系統介紹,通過實例說明Jena在基于本體的信息檢索中的應用。
關鍵詞: 本體 Jena OWL RDF
Abstract:
Key words :

摘   要: 對Jean推理機的結構及推理規則的構造語法進行系統介紹,通過實例說明Jena在基于本體的信息檢索中的應用。
關鍵詞: 本體  Jena  OWL  RDF

  隨著因特網技術迅速發展,網上信息與知識急劇增長。所以,對信息檢索技術的研究日顯重要,信息檢索已成為信息社會中不可或缺的一種重要工具。
  當前的信息檢索技術可分為三類:全文檢索(Text Retrieval)、數據檢索(Data Retrieval)和知識檢索(Knowledge Retrieval)。全文檢索和數據檢索的本質都是直接基于關鍵字的檢索技術,不能滿足用戶在語義和知識上的需求。知識檢索強調的是基于知識的、語義上的匹配,因此在查全率和查準率上有更好的保證。
本體(Ontology)原本是一個哲學中的概念,被哲學家用來描述事物的本質。在計算機界,明確本體的定義經歷了一個過程,最后Gruber關于本體的定義得到了業內同行的一致認同,即“本體是概念模型的明確的規范說明”。本體作為一種能在語義和知識層次上描述信息的概念模型建模工具,在信息檢索,特別是在基于知識的信息檢索中得到了廣泛的應用。
  OWL(Web Ontology Language)是W3C組織于2004年2月正式推出的一個專門用來描述本體的語言。它既有強大的語義表達能力,又可以實現描述邏輯的可判定推理。OWL可以用來存儲本體中的概念和關系。
RDF(Resource Description Framework)是資源描述框架語言,用來描述元數據以及元數據與元數據之間的關系。其中元數據是“關于數據的數據”,是描述網絡資源的數據。RDF可以用來存儲本體中的實例。
1  Jena推理機簡介
  Jena是專門用來構建語義網的應用軟件,它為RDF、RDFS和OWL提供了一個可編程實現的環境。推理功能是Jena中的一個子系統,它的目的就是把推理機制和推理器引入到Jena中。Jena推理機結構如圖1所示。

  所有應用都是通過使用ModelFactory訪問圖1的推理機制,并為相關聯的Reasoner建立一個新的Model。查詢這個新的Model不但會返回對原來數據的描述信息,還會返回通過Reasoner中的規則執行后的附加描述信息。整個推理機制的核心部分是InfGraph,因為所有應用的執行都是在Graph SPI層進行。Ont/Model API為用戶構建的本體提供了一種便利的方式與合適的推理器連接。推理結構中的Graph-base assertions指的是和Reasoner一起綁定的數據(XML數據-實例),而Graph-ontology definitions指的是和Reasoner一起綁定的數據結構的限制(也就是XML模式-概念和關系)。Reasoner Registry是一個靜態類,它包含了當前用到的所有Reasoner。
2  Jena推理規則的構造語法
  用戶一方面可以利用上面的結構實現本體中的推理,另一方面,如果用戶對Java很熟悉,則可以自己開發推理規則。規則的語法格式如下:
Rule  :=    bare-rule
      or     [bare-rule]
      or     [ruleName:bare-rule]
bare-rule:=     term,...term->hterm,...hterm//向前推理
      or     term,...term<-term,...term//向后推理
hterm :=    term
      or     [bare-rule]
term  :=    (node,node,node)//三元組模式
      or     (node,node,functor)//擴展三元組模式
      or     builtin(node,...node)//調用處理元語
functor :=     functorName(node,...node)
             //結構化的文字表述
node  :=     uri-ref//例如 http://foo.com/eg
      or prefix:localname//例如rdf:type
      or     ?varname//變量名
      or     ′a literal′//字符串
      or     number//例如42或25.5
  用戶根據上述語法格式寫出針對特定問題的規則,就可以更加方便、快捷地查詢各種信息了。
3  Jena推理機的應用
  下面通過一個具體的實例討論Jena推理機是如何在本體中進行推理的。
  在現代企業管理中,人們越來越清楚地認識到知識、尤其是雇員的知識是企業非常重要的財富。如何組織、管理好這些知識財富已成為現代管理重要的研究課題。傳統的做法是建立一個數據庫系統對企業雇員進行管理。然而,基于關鍵詞的查詢有時是不能滿足要求的。對于這個問題,文獻[9]進行了研究并給出了示例。示例如下:查找一個懂得“數據庫”的雇員來從事一個項目的開發工作,假設在建立的查詢系統中找不到一個人懂得“數據庫”,系統只能返回空記錄給用戶。而事實上存在某些人懂得“演繹數據庫”或“面向對象數據庫”,按常識,這些人應該懂得數據庫的知識,他們可以作為候選人提交給用戶。但傳統的數據庫做不到這一點。雖然可以通過進一步輸入這些關鍵詞達到查詢目的,但是不能保證用戶了解“數據庫”所有的子領域。文獻[9]借助于本體,可以實現這一目的。文中假設為企業建立了一個本體,其中一個部分如圖2所示。

  由圖2可以看到,李四具有“面向對象數據庫”的能力。一般認為,具有某領域的子領域能力的雇員,同樣具備該領域的知識。進一步把問題推廣到項目因素。現在要查詢具備“演繹面向對象數據庫”能力的雇員,同樣沒有結果。然而從圖2中可以看到張三在做項目1,而項目1應用了“演繹面向對象數據庫”技術。因此張三可以作為候選人輸出。
  文獻[9]是根據本體的啟發式算法實現查詢功能的。啟發式算法是先定義幾個基本函數,然后利用函數的組合及函數之間的映射實現概念之間的聯系。針對這個問題,在Jena推理機的基礎上,加入自己設計的規則,只要輸入限定條件,就可以輸出滿足該條件的雇員。由于可以根據實際環境加入相應的規則,從而使算法具有更好的靈活性和適應性。
  使用Jena推理機制實現這種查詢功能,必須做好兩方面的工作。第一,把圖2中所有與數據庫相關的概念、關系和實例用OWL和RDF表示出來,存儲成XML文檔。這又分兩個步驟:(1)把圖2中本體的概念用OWL表示出來,存儲成CONCEPT.owl文件。這里的概念有計算機科學(CS)、數據庫(DB)、演繹數據庫(DDB)、面向對象數據庫(OODB)、演繹面向對象數據庫(DOODB)和項目(P);(2)把圖1中本體的實例用RDF存儲成INSTANCE.rdf 文件。一共有兩個項目,分別是項目1和項目2,有三個雇員:張三、李四和王五。其中張三工作于項目1,王五工作于項目2,李四有“面向對象數據庫”的能力。第二,根據查詢條件構造兩條規則實現查詢功能:
  Rule1:(?x has competence ?y),(?y subclass of ?z)->(?x has competence ?z)
  Rule2:(?x work in ?y),(?y use tech ?z)->(?x has competence ?z)
  Rule1說明如果某個雇員x有能力y,而y屬于z,則x擁有能力z。
  Rule2說明如果某個雇員x工作于項目y,而y使用了z技術,則x擁有能力z。
  把這兩條規則放入Jena推理機中,然后基于上面兩個相關聯的XML文檔進行推理。代碼如下:
  Model schema=
  ModelLoader.loadModel(″file:data/CONCEPT.owl″);
       //把本體中的概念文件CONCEPT.owl讀入推理機
  Model data=
  ModelLoader.loadModel(″file:data/INSTANCE.rdf″);
       //把本體中的實例文件INSTANCE.rdf讀入推理機
  String rules=
  ″[Rule1:(?x has competence ?y)(?y subclass of ?z)
  ->(?x has competence ?z)]″+″[Rule 2:(?x work in ?y)
  (?y use tech ?z)->(?x has competence ?z)]″;
  Reasoner reasoner=new GenericRuleReasoner
  (Rule.parseRules(rules));
       //把編寫的規則加入到已有的推理規則中
  reasoner=reasoner.bindSchema(schema);
  InfModel infmodel=ModelFactory.createInfModel(reasoner,data);
  Resource DB=infmodel.getResource(″urn:x-hp:eg/DB″);
  System.out.println(″DB*:″);
  printStatements(infmodel,null,null,DB);
       //利用printStatements函數輸出所有
       //與數據庫有關的推理結果
  printStatements定義如下:
     public void printStatements(Model m,
        Resource s,Property p, Resource o)
   {
       for (StmtIterator i=
         m.listStatements(s,p,o);i.hasnext( );)
     {
       Statement stmt=i.nextStatement( );
       System.out.println(″-″ +
    PrintUtil.print(stmt));
     }
    }
  上面操作的輸出結果是:
  DB*:
  -(eg:DOODB owl:subclassof eg:DB)    //演繹面向對象數據庫是數據庫的子集
  -(eg:DDB owl:subclassof eg:DB)    //演繹數據庫是數據庫的子集
  -(eg:OODB owl:subclassof eg:DB)    //面向對象數據庫是數據庫的子集
  -(eg:李四 eg:hascompetence eg:DB)    //李四具有數據庫的能力
  -(eg:張三 eg:hascompetence eg:DB)    //張三具有數據庫的能力
  -(eg:project1 eg:usetech eg:DB)    //項目1使用了數據庫的技術
  因為RDF是用三元組表示的,所以在結果中張三、李四都以這樣的形式作為候選人輸出了。最后使用針對RDF格式的數據庫查詢技術RDQL把雇員的姓名選擇出來,此工作便完成了。
4  結  論
  隨著科學技術的發展,信息檢索技術也在發展,本體的引入提高了信息檢索的效率。Jena作為一種支持本體的工具,在今后本體的研究過程中,必將會有重要的作用。
參考文獻
1   鄧志鴻,唐世渭,張銘等.Ontology研究綜述.北京大學學報,  2002;38(5)
2   Gruber T.Ontolingua:A translation approach to portable  ontology specifications.Knowledge Acquisition,1993;5(2)
3   McGuinness D L,Harmelen F V.OWL Web Ontology  Language Overview.W3C Recommendation,2004,2.http://  www.w3.org/TR/owl-features
4   Manola F,Miller E.RDF Primer.W3C Recommendation, 2004,2.http://www.w3.org/TR/rdf-primer
5   Verzulli J.Using the Jena API to Process RDF.O′Reilly  Xml.com,2001;(5).http://www.w3.org/TR/rdf-Primer
6   Reynolds D.Jena 2 Inference support.HP United States,  2004;(2).http://www.hpl.hp.co.uk/people/bwm/rdf/jena
7   宋煒,張銘.語義網簡明教程.北京:高等教育出版社,2004
8   廖明宏.本體論與信息檢索.計算機工程,2000;(2)
9   Dauiel E.Knowledge management System:Converting and Connecting.IEEE Intellsyst,1998;(5)~(6)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美国产毛片在线| 欧美日韩中文字幕综合视频 | 亚洲视频福利| 亚洲国产一成人久久精品| 精品69视频一区二区三区| 国产曰批免费观看久久久| 国产一级久久| 国产亚洲欧美日韩精品| 国产午夜精品理论片a级探花 | 亚洲免费观看高清完整版在线观看熊 | 久久精品日韩欧美| 欧美在线一级va免费观看| 欧美亚洲视频| 久久精品国产久精国产爱| 羞羞漫画18久久大片| 午夜精品一区二区三区电影天堂 | 亚洲电影在线免费观看| 在线日韩av永久免费观看| 在线播放一区| 在线观看视频免费一区二区三区| 激情综合视频| 91久久综合| 日韩一二三区视频| 亚洲视频综合在线| 亚洲欧美精品伊人久久| 欧美一区二区视频97| 久久精品人人做人人综合 | 国产精品日韩在线| 国产精品一二一区| 国产一区二区三区奇米久涩| 国产有码一区二区| 一区二区三区在线免费播放| 亚洲国产老妈| 一区二区三区黄色| 午夜激情一区| 亚洲国产日韩在线| 一区二区av在线| 亚洲欧美日韩国产综合在线| 欧美一区深夜视频| 媚黑女一区二区| 欧美丝袜一区二区| 国产欧美三级| 在线免费一区三区| 正在播放日韩| 久久国产欧美| 亚洲作爱视频| 欧美一区二区三区免费在线看| 久久免费黄色| 欧美日韩国产色综合一二三四| 国产精品一二一区| 亚洲福利视频二区| 国产精品99久久久久久有的能看| 亚洲欧美综合国产精品一区| 亚洲精品久久久久中文字幕欢迎你| 一区二区三区福利| 久久久久久精| 欧美日韩高清在线| 国产一区91精品张津瑜| 亚洲精品小视频在线观看| 亚洲欧美日本视频在线观看| 亚洲精品一二三| 欧美亚洲一区三区| 欧美丰满少妇xxxbbb| 国产精品美女久久| 亚洲国产精品999| 亚洲资源在线观看| 日韩亚洲欧美精品| 久久精品二区| 欧美日韩在线亚洲一区蜜芽 | 一区二区三区在线视频免费观看| 一区二区激情视频| 亚洲国产女人aaa毛片在线| 亚洲女同同性videoxma| 免费日韩av电影| 国产伦精品一区二区三区| 亚洲精品美女在线| 久久精品欧美日韩| 亚洲欧美日韩综合| 欧美电影打屁股sp| 国产一区二区三区久久精品| 一区二区三区国产精品| 亚洲精品视频在线看| 久久久综合免费视频| 国产精品久久久久久久久久免费| 亚洲国产毛片完整版| 久久www成人_看片免费不卡| 亚洲自拍另类| 欧美日韩p片| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲综合视频网| 欧美精品日韩| 伊人久久综合97精品| 欧美亚洲一区| 欧美一区二区三区精品| 欧美视频不卡| 亚洲精品一区在线观看香蕉| 最新国产の精品合集bt伙计| 久久精品麻豆| 国产精品一区亚洲| 亚洲视频导航| 亚洲永久精品大片| 欧美色欧美亚洲高清在线视频| 亚洲国产专区| 亚洲精品自在久久| 欧美h视频在线| 在线观看日韩av电影| 欧美主播一区二区三区| 欧美在线免费视屏| 国产精品视频不卡| 亚洲天堂av高清| 亚洲欧美成人一区二区在线电影 | 亚洲国产精品一区二区第一页| 亚洲国产合集| 免费看精品久久片| 狠狠入ady亚洲精品经典电影| 先锋影音久久久| 久久爱www久久做| 国产日韩精品在线| 欧美一二区视频| 久久精品一区二区三区中文字幕| 国产精品一区二区三区四区| 亚洲一区二区不卡免费| 午夜伦理片一区| 国产精品亚洲а∨天堂免在线| aa成人免费视频| 亚洲专区一区二区三区| 国产精品扒开腿做爽爽爽视频| 一本久道久久综合狠狠爱| 亚洲一区精彩视频| 国产精品久久久久久久久免费桃花| 在线一区欧美| 欧美伊人精品成人久久综合97| 国产欧美在线观看| 久久av资源网站| 免费成人av在线看| 亚洲激情午夜| 亚洲视频在线播放| 国产精品草莓在线免费观看| 亚洲小说春色综合另类电影| 久久国产欧美日韩精品| 国产欧美日韩精品在线| 久久福利一区| 欧美激情亚洲精品| 一本色道久久88精品综合| 午夜精品久久久久久久白皮肤| 国产欧美1区2区3区| 久久xxxx| 欧美日韩精品不卡| 亚洲欧美在线观看| 美女主播视频一区| 99精品热视频只有精品10| 欧美一级片一区| 影音先锋在线一区| 亚洲特级毛片| 国产一区二区电影在线观看| 亚洲动漫精品| 欧美色欧美亚洲高清在线视频| 亚洲欧美日韩视频一区| 欧美成人按摩| 中文在线不卡| 久久女同互慰一区二区三区| 91久久久国产精品| 午夜精品视频一区| 1024精品一区二区三区| 亚洲无人区一区| 狠狠色丁香久久婷婷综合丁香| 99爱精品视频| 国产一区二区三区四区三区四 | 日韩午夜在线视频| 久久电影一区| 亚洲啪啪91| 久久精品一区蜜桃臀影院| 亚洲精品免费一二三区| 久久狠狠亚洲综合| 日韩亚洲欧美综合| 久久伊人亚洲| 亚洲午夜视频| 美日韩免费视频| 亚洲欧美日韩国产一区二区三区 | 欧美在线影院| 国产精品v片在线观看不卡| 亚洲国产精品一区二区尤物区 | 日韩一区二区高清| 国产亚洲精品aa午夜观看| 99re6热只有精品免费观看| 国产欧美综合一区二区三区| 夜夜嗨av色一区二区不卡| 国内精品免费午夜毛片| 亚洲综合社区| 亚洲日韩成人| 麻豆精品视频| 香蕉精品999视频一区二区| 欧美日韩极品在线观看一区| 亚洲电影自拍| 国产欧美精品在线| 亚洲网站视频福利| 最新国产精品拍自在线播放| 久久精品国产亚洲一区二区| 一区二区三区精品在线| 欧美精品久久久久久久|