馮微峰
〔摘 要〕本文提出了一個(gè)基于本體的智能檢索系統(tǒng)的設(shè)計(jì)框架并實(shí)現(xiàn)了主要的功能模塊,該檢索系統(tǒng)對中科院圖情方向的機(jī)構(gòu)信息進(jìn)行提取和加工,利用本體語言對中科院圖情方向的組織機(jī)構(gòu),主要研究人員,重大研究項(xiàng)目等之間的邏輯進(jìn)行描述,構(gòu)建一個(gè)以機(jī)構(gòu)為主要對象的具有邏輯推理 性的功能本體,并通過自定義規(guī)則,加載泛化規(guī)則引擎來實(shí)現(xiàn)系統(tǒng)的智能檢索功能。
〔關(guān)鍵詞〕智能檢索;機(jī)構(gòu)信息;推理規(guī)則;本體建模
〔中圖分類號〕G35 〔文獻(xiàn)標(biāo)識碼〕B 〔文章編號〕1008-0821(2009)03-0170-06
本體對領(lǐng)域和任務(wù)進(jìn)行了良好的描述,具有較好的概念層次結(jié)構(gòu)和對邏輯推理的支持,從而在信息檢索,特別是在智能檢索中得到了很好的應(yīng)用。在基于本體的智能檢索系統(tǒng)中,通過對原始信息的加工提取和本體的語義推理機(jī)制,可以進(jìn)一步提高檢索結(jié)果和檢索目標(biāo)的相關(guān)性,從而使得檢索結(jié)果更加符合人們的要求。
起初,國內(nèi)外本體研究機(jī)構(gòu)[1]主要著力于頂層本體和領(lǐng)域本體的研究和探索,而現(xiàn)在隨著功能本體廣泛的應(yīng)用,對于功能本體的研究也越來越多了。比如說,對一個(gè)跨國機(jī)構(gòu)進(jìn)行本體建模,利用本體對該機(jī)構(gòu)的組織、資源、技術(shù)等進(jìn)行邏輯描述。與資源直接相關(guān)是人,通過本體的邏輯性就可以知道,需要資源的人是屬于哪個(gè)部門的,他具有什么樣的研究技能。通過對機(jī)構(gòu)的本體描述就可以優(yōu)化機(jī)構(gòu)的運(yùn)作流程,促進(jìn)信息溝通和便于協(xié)同管理。
本文提出了基于功能本體的智能檢索系統(tǒng)的構(gòu)建模式和設(shè)計(jì)思想并且對系統(tǒng)的實(shí)現(xiàn)方案進(jìn)行了解析和探索研究。
1 智能檢索系統(tǒng)框架設(shè)計(jì)方案
本文采用以Java環(huán)境下的Eclipse平臺加MySQL數(shù)據(jù)庫作為系統(tǒng)實(shí)現(xiàn)的基礎(chǔ),并使用Jena和JPowerGraph等Java開源包。系統(tǒng)的體系結(jié)構(gòu)如圖1所示。
智能檢索系統(tǒng)是一個(gè)三層體系架構(gòu):
1.1 表示層
這一層主要是通過JSP給用戶提供UI接口。用戶需求輸入的表達(dá)方式主要有如下幾種:一是以自然語言方式表示,最典型的例子是關(guān)鍵字的方式;二是以特定的查詢語言表示,如SQL、RQL、SPARQL[2]等;三是以可視化的方式表示,例如通過菜單選擇查詢條件的方式。本文設(shè)計(jì)的用戶需求輸入的目標(biāo)就是在準(zhǔn)確表達(dá)用戶需求的同時(shí),盡可能使得用戶的輸入操作簡單易行,因此一方面從服務(wù)器端取得本體的Schema,生成清晰的樹形結(jié)構(gòu),用戶可以通過點(diǎn)擊樹形結(jié)構(gòu)上的節(jié)點(diǎn)獲得所需信息,另一方面用戶可以根據(jù)需要選擇檢索的類型,比如“根據(jù)地區(qū)檢索”、“根據(jù)研究機(jī)構(gòu)檢索”、“根據(jù)研究人員檢索”、“根據(jù)研究項(xiàng)目”等等。也可以通過限制查詢條件和查詢范圍和特定關(guān)鍵詞來實(shí)現(xiàn)復(fù)雜查詢。
結(jié)果語義輸出[3]是指把語義類、語義屬性和語義關(guān)系的實(shí)例進(jìn)行可視化的輸出,對JPowerGraph開源包進(jìn)行二次開發(fā),把相關(guān)的語義數(shù)據(jù)轉(zhuǎn)化為相關(guān)聯(lián)的節(jié)點(diǎn)和邊,動態(tài)的呈現(xiàn)給用戶。
1.2 數(shù)據(jù)層
數(shù)據(jù)層包含本體Schema、推理規(guī)則和OWL知識庫3部分。本文以網(wǎng)上公布的中科院圖情機(jī)構(gòu)相關(guān)信息作為原始材料進(jìn)行語義提取,將最終結(jié)果轉(zhuǎn)化為OWL格式文件本體數(shù)據(jù),從本質(zhì)上來講,就是一組OWL文件和一系列推理規(guī)則(Rules)文件。本論文的智能檢索系統(tǒng)中所構(gòu)建的中科院組織結(jié)構(gòu)信息本體是從地區(qū)、機(jī)構(gòu)、人員、項(xiàng)目4個(gè)維度來定義的語義本體。
首先通過討論確定語義類、語義屬性、語義關(guān)系以及傳遞、對稱、相反等規(guī)則。然后將討論結(jié)果定義為數(shù)據(jù)字典,數(shù)據(jù)字典包括名稱及其說明部分。最后在數(shù)據(jù)字典確定以后,通過Protégé手工創(chuàng)建OWL和推理規(guī)則文件。
1.2.1 本體Schema
本體的Schema是整個(gè)系統(tǒng)的概念基礎(chǔ),它提供了本體模型基本的類別層次結(jié)構(gòu),是定義推理規(guī)則的基礎(chǔ),是OWL知識庫中信息的結(jié)構(gòu)基礎(chǔ)。
1.2.2 推理規(guī)則
推理規(guī)則以Jena規(guī)則語法描述,是進(jìn)行基于推理的查詢的基礎(chǔ)。
1.2.3 OWL知識庫[4]
用OWL描述的本體知識,是智能檢索系統(tǒng)的數(shù)據(jù)源,它不僅包含了實(shí)例化的本體本身,還包含了本體經(jīng)過描述邏輯推理(DL reasoning)[5]分類后的隱含信息以及本體推理引擎推理所獲得的蘊(yùn)含知識。
1.3 推理層
推理層采用Jena[6]自帶的GenericRuleReasoner。該泛化規(guī)則引擎是基于規(guī)則的,并且支持用戶的自定義。該推理引擎支持前向鏈、后向鏈以及二者混合的推理執(zhí)行模型,更準(zhǔn)確地說,Jena有2個(gè)內(nèi)部規(guī)則引擎:前向鏈推理RETE[7]引擎和一個(gè)tabled da talog engine[7]。它們可以獨(dú)立運(yùn)行,或者前向鏈作為后向鏈引擎的先導(dǎo),來完 成“查詢——問答”。泛化規(guī)則引擎可以自定義規(guī)則,因此具有強(qiáng)大的推理功能和靈活性, 并且易于擴(kuò)展,因此本智能檢索系統(tǒng)的推理以基于靜態(tài)規(guī)則推理為主,采用GenericRuleRea soner,根據(jù)事實(shí)庫中的已有事實(shí),加載規(guī)則庫中的規(guī)則,并將新的事實(shí)加入到OWL知識庫中 ,實(shí)現(xiàn)了OWL知識庫內(nèi)容的更新與擴(kuò)充。
2 智能檢索系統(tǒng)實(shí)現(xiàn)方案
2.1 瀏覽器端
對于瀏覽器端而言,采用Ajax框架實(shí)現(xiàn)瀏覽器端的主要功能。Ajax采取了JavaScript+DOM的方式來實(shí)現(xiàn)與瀏覽器的交互功能。另外,Ajax利用基于JavaScript的XmlHttpRequest組件提供Xml數(shù)據(jù)異步傳輸,它能夠?qū)崿F(xiàn)頁面無刷新的數(shù)據(jù)傳輸。瀏覽器端主要包括了以下3個(gè)方面的功能:
2.1.1 本體知識的檢索
本體檢索的界面如圖2所示。用戶可以采用簡單查詢和復(fù)雜查詢2種方式來進(jìn)行本體知識檢 索。簡單查詢就是輸入關(guān)鍵詞進(jìn)行查詢。復(fù)雜查詢一方面可以通過導(dǎo)入本體的Schema文件,采用Jtree這個(gè)插件生成清晰的本體檢索導(dǎo)航樹,用戶可以點(diǎn)擊相關(guān)節(jié)點(diǎn)進(jìn)行查詢。另一方面用戶可以指定檢索條件和檢索關(guān)系來構(gòu)造復(fù)雜查詢。檢索條件包括地區(qū)名稱、機(jī)構(gòu)名稱等等。檢索關(guān)系包括所屬關(guān)系、擁有關(guān)系、合作關(guān)系等等。
2.1.2 本體知識的添加
本體知識的添加的界面如圖3所示。用戶通過添加各個(gè)類別的實(shí)例來實(shí)現(xiàn)OWL事實(shí)庫的初始化。本體的Schema和本體的初始事實(shí)庫是以后進(jìn)行語義推理的知識基礎(chǔ)。用戶也可以直接添加本體事實(shí)描述,用戶首先選擇相關(guān)的本體類別,比如說用戶選擇了“Branch”類,則后面級聯(lián)的選擇框會自動彈出事實(shí)庫中已有的該類的實(shí)例,比如說用戶選擇了“國家科學(xué)圖書館北京分館”的實(shí)例,然后選擇“HasDepartment”關(guān)系,在最后的本體實(shí)例框中填寫了“信息技術(shù)部”,這樣用戶就添加了這樣一條本體事實(shí):
國家科學(xué)圖書館→HasDepartment→信息技術(shù)部
2.1.3 結(jié)果語義可視化輸出
結(jié)果語義可視化輸出如圖4所示,這個(gè)功能主要是通過JPowerGraph開源包來實(shí)現(xiàn)的。用戶在客戶端提交了檢索內(nèi)容后,服務(wù)器端通過語義推理將與檢索內(nèi)容相關(guān)聯(lián)的語義類、語義屬性和語義關(guān)系傳回給客戶端,客戶端再通過JPowerGraph可視化功能把獲得的相關(guān)聯(lián)的語義類、語義屬性和語義關(guān)系的實(shí)例轉(zhuǎn)化成節(jié)點(diǎn)和邊,動態(tài)的呈現(xiàn)給用戶。
2.2 服務(wù)器端
對于服務(wù)器端而言,包括數(shù)據(jù)層和推理層兩層結(jié)構(gòu),所以服務(wù)器端主要實(shí)現(xiàn)以下兩大功能模塊:
2.2.1 本體知識庫的建立和持久化
本文以中科院圖情機(jī)構(gòu)為例說明構(gòu)建機(jī)構(gòu)信息這個(gè)功能本體的基本流程。
(1)機(jī)構(gòu)信息本體的建立
因?yàn)闄C(jī)構(gòu)具有良好的層次性,所以采用自上而下的本體構(gòu)建法。首先標(biāo)識本體中最通用的概念,然后在通用層次上創(chuàng)建相應(yīng)的種類并逐步的細(xì)化本體。總體而言只要包括以下3個(gè)步驟:
①分析機(jī)構(gòu)本體和定義數(shù)據(jù)字典
該機(jī)構(gòu)本體是中科院圖情方向的機(jī)構(gòu)信息為基礎(chǔ),利用本體語言對該方向的組織機(jī)構(gòu)、主要研究人員、重大研究項(xiàng)目等進(jìn)行邏輯描述。所以相關(guān)的實(shí)體主要包括:
相關(guān)本體描述:
1.房俊民老師是情報(bào)研究部的成員。
2.房俊民老師的研究方向是競爭情報(bào)。
3.……
4.……
圖4 語義結(jié)果可視化輸出
機(jī)構(gòu):名稱,地址,簡介
分支機(jī)構(gòu):名稱,地址,簡介
部門:名稱,人員數(shù)目,簡介
導(dǎo)師:姓名,職稱,性別
學(xué)生:姓名,性別
研究方向:名稱,簡介
研究項(xiàng)目:名稱,時(shí)間段,經(jīng)費(fèi)
本文將機(jī)構(gòu)信息所用到的詞典整理出來,這些詞匯有可能是類或是屬性,將在后面幾個(gè)步驟中加以區(qū)分。表1是本文所制定的詞典。
詞 匯Class/Property定 義OrganizationClass所有分支機(jī)構(gòu)的父類BranchClass分支機(jī)構(gòu)類DepartmentClass部門類InstructorClass導(dǎo)師類StudentClass學(xué)生類DirectionClass研究方向類ProjectClass研究項(xiàng)目類NameDatatype Property名稱AddressDatatype Property地址IntroductionDatatype Property簡介InstructorNumDatatype Property導(dǎo)師數(shù)目StudentNumDatatype Property學(xué)生數(shù)目PositionDatatype Property職稱SexDatatype Property性別PeriodDatatype Property時(shí)間段OutlayDatatype Property經(jīng)費(fèi)HasBranchsObject Property機(jī)構(gòu)擁有的分支機(jī)構(gòu)HasDepartmentsObject Property分支機(jī)構(gòu)的部門HasInstructorsObject Property部門擁有的導(dǎo)師HasDirectionObject Property導(dǎo)師的研究方向 續(xù)表1
詞 匯Class/Property定 義HasStudentsObject Property導(dǎo)師指導(dǎo)的學(xué)生InversezofzHasStudentsObject Property學(xué)生的指導(dǎo)導(dǎo)師HasProjectsObject Property導(dǎo)師的研究項(xiàng)目HasPartnerObject Property導(dǎo)師項(xiàng)目的合作老師
②建立類別、屬性和實(shí)例
類別:
該本體包括Organization、Branch、Department、Instructor、Student、Direction、Project等類別及其它們的子類別和父類別,本體的根節(jié)點(diǎn)是owl:Thing。
屬性:
在屬性方面可分為數(shù)據(jù)屬性(Datatype Property)和對象屬性(Object Property)。
數(shù)據(jù)屬性:使用RDF(S)的數(shù)據(jù)類型,包括定義域(domain)、值域(range)和公理(axiom)。
定義域:定義域限制該屬性在哪一個(gè)類別使用。
值域:數(shù)據(jù)屬性的限制包含any、string、integer、boolean、float、symbol,可以使用xml schema datatype,在填入實(shí)例時(shí)只要符合其數(shù)據(jù)類型限制即可。
公理:可以使用functional,如果一個(gè)屬性P被聲明為functional,那么對于每個(gè)個(gè)體,屬性最多只有1個(gè)值。
該機(jī)構(gòu)信息本體的數(shù)據(jù)屬性如表2所示。Name使用的定義域包括Organization、Branch、Department、Instructor、Student、Direction、Project等類別,因?yàn)檫@些類別都會有一個(gè)特定的名字,所以Axiom是Functional的。其它幾項(xiàng)數(shù)據(jù)屬性也同樣具有Functional的特性。
對象屬性:仍然包括定義域(domain)、值域(range)和公理(axiom)3個(gè)方面。
定義域:限制該屬性在哪一個(gè)類別中使用。
值域:對象屬性的值域是類的實(shí)例而不是具體的數(shù)值。
公理:包含F(xiàn)unctional、InverseFunctional、Symmetric、transitive、Inverse等Axiom。
該機(jī)構(gòu)信息本體的對象屬性如表3所示。
HasBranch的Domain是Organization,Range是Branch類的實(shí)例,定義了Organization擁有的Branch。
HasDepartment的Domain是Branch,Range是Department類的實(shí)例,定義了Branch擁有的Department。
HasInstructors的Domain是Department,Range是Instructor類的實(shí)例,定義了Department擁有的Instructor。
HasDirection的Domain是 Instructor,Range是Direction類的實(shí)例,定義了Instructor的Direction,因?yàn)橹锌圃簣D情方向的老師一般都只有1個(gè)研究方向,所以Axiom是Functional。
HasStudents的Domain是Instructor,Range是Student類的實(shí)例,定義了Instructor擁有的Student。因?yàn)橹锌圃簣D情方向的老師一般都只有1個(gè)學(xué)生,所以Axiom是Functional。并且設(shè)定它與InversezofzHasStudents具有Inverse的關(guān)系。
InversezofzHasStudents的Domain是Student,Range是Instructor類的實(shí)例,定義了Student的Instructor。它與HasStudents屬性具有Inverse的關(guān)系,并且HasStudents是Functional的,所以InversezofzHasStudents具有InverseFunctional屬性。
HasProjects的Domain是Instructor,Range是Project類的實(shí)例,定義了Instructor擁有的Project。
HasPartner的Domain是Instructor ,Range是Instructor類的實(shí)例,定義了Instructor擁有的Partner。因?yàn)閷τ谕粋€(gè)項(xiàng)目的導(dǎo)師而言他們是互為partner,因此Axiom是Symmetric。
實(shí)例:
在本體的Schema構(gòu)建完成后,Organization類、Branch類、Department類、Instructor類、Student類、Direction類、Project類的實(shí)例作為初始化的查詢條件,在本體規(guī)則基礎(chǔ)上經(jīng)過首次推理以后形成原始的OWL知識庫。
(2)本體知識庫的持久化
本體數(shù)據(jù)持久化有文件存儲和數(shù)據(jù)庫存儲2種方式,文件存儲是將本體庫以文件形式存儲在本地文件系統(tǒng)中,將數(shù)據(jù)從文件中讀入內(nèi)存,在內(nèi)存中對本體庫進(jìn)行一系列的操作,操作完成后再將本體庫以文件形式寫回到文件中。
以文件方式存儲本體庫輕便快捷,適合于小型的本體庫。因?yàn)樗恍枰^多的配置,而且便于備份、復(fù)制,還可以隨時(shí)編輯修改,而且查詢速度快。缺點(diǎn)在于不適合較大的本體庫,因?yàn)樗看味夹枰x入內(nèi)存在做操作,因此耗用太多的內(nèi)存,如果再加入推理機(jī)將會占用大量 的內(nèi)存,而且對于模型的修改需要一次性保存全部模型,效率不高。
而關(guān)系數(shù)據(jù)庫來持久化本體數(shù)據(jù)可以處理更大更復(fù)雜的本體模型,而且利用數(shù)據(jù)庫存儲本體模型,可以使得本體模型具有更大的靈活性和可擴(kuò)展性,對于大多數(shù)本體應(yīng)用來說,數(shù)據(jù)庫方式是較好的選擇。
因此本智能檢索系統(tǒng)采用關(guān)系數(shù)據(jù)庫來持久化本體數(shù)據(jù),Jena通過一個(gè)數(shù)據(jù)庫引擎接口實(shí)現(xiàn)了對本體模型的透明持久化,目前支持的數(shù)據(jù)庫主要包括3種:MySQL,Oracle,PostgreSQL and Microsoft SQL server。本系統(tǒng)采用MySQL作為本體數(shù)據(jù)庫。其核心代碼包括4個(gè)方面:
①創(chuàng)建數(shù)據(jù)庫的連接
IDBConnection conn=new IDBConnection(MzDBzURL,MzDBzUSER,MzDBzPASSWD,MzDB);
OntModelSpec spec=OntModelSpec.OWLzMEM;
spec.setModelMaker(ModelFactory.createModelRDBMaker(conn));
②在已有數(shù)據(jù)庫連接的基礎(chǔ)上創(chuàng)建本體模型
Model base=maker.createModel(″MyNameModel″);
OntModel model=ModelFactory.createOntologyModel(spec,base);
③把本體本件轉(zhuǎn)化成三元組存儲到MySQL數(shù)據(jù)庫中
URL url=ClassLoader.getSystemResource(″file:src-examples/data/test1.owl″);
model.read(url.toString(),″RDF/XML-ABBREV″);
④從MySQL數(shù)據(jù)庫中獲取已存儲的本體數(shù)據(jù)
Model m=
ModelFactory.createModelRDBMaker(conn.openModel(″MyNameModel″));
2.2.2 本體推理規(guī)則庫的建立和推理引擎的加載
(1)建立推理規(guī)則庫[8]
在基于規(guī)則的推理機(jī)中,規(guī)則被定義為一個(gè)Java的Rule對象,該對象由body terms(前提)的list,head terms(結(jié)論)list以及可選的名字和可選的方向來定義。每一個(gè)term或者ClauseEntry是一個(gè)三元模式(triple pattern),一個(gè)擴(kuò)展的三元模式(extended triple pattern)或者一個(gè)內(nèi)嵌過程原語的調(diào)用。
規(guī)則文件支持一些額外的宏命令:
@prefix pre:http:∥domain/url#。
定義一個(gè)前綴pre,前綴對規(guī)則文件來說是局部的。
@include
包含在一個(gè)給定文件中定義的規(guī)則。不管@include出現(xiàn)在哪里,包含的規(guī)則都將出現(xiàn)在用戶定義的規(guī)則前面。規(guī)則文件可以包含預(yù)定義的規(guī)則,例如RDFS和OWL等,這時(shí)urlToRuleFile被關(guān)鍵字RDFS,OWL,OWLMicro,OWLMini取代。
下面是包含RDFS預(yù)定義規(guī)則的一個(gè)規(guī)則文件的完整例子:
# Example rule file
@prefix ins:
@prefix rel:
@include
[rule1:(?f ins:hasproject?a)(?u ins:hasproject?a)->(?f rel:haspartner?u)]
這條規(guī)則是指如果導(dǎo)師f有項(xiàng)目a,導(dǎo)師u也有項(xiàng)目a,推出導(dǎo)師f和導(dǎo)師u是合作者。
(2)加載規(guī)則推理引擎[9]
規(guī)則文件的加載和分析是這樣進(jìn)行的:
List rules=Rule.rulesFromURL(″file:myfile.rules″);
或者
BufferedReader br=/*open reader*/;
List rules=Rule.parseRules(Rule.rulesParserFromReader(br));
或者
String ruleSrc=/*lists of rules in lines*/
List rules=Rule.parseRules(rulesSrc);
3 小 結(jié)
本文以機(jī)構(gòu)信息為例著重闡述了基于本體的智能檢索系統(tǒng)框架設(shè)計(jì)和基本功能模塊的實(shí)現(xiàn)。本體推理模塊在本體的描述邏輯上加載了可以自定義規(guī)則的泛化規(guī)則引擎,提高了推理能力,從而可以獲得更加有意義的蘊(yùn)含知識。本體數(shù)據(jù)持久化的模塊采用數(shù)據(jù)存儲與本體模型存儲相分離的方案,即:本體數(shù)據(jù)庫只存儲基本的數(shù)據(jù)信息,本體Schema采用單獨(dú)的文件保存。OWL知識庫的已有事實(shí)在加載本體Schema后,經(jīng)過推理獲得新的蘊(yùn)含知識添加到OWL知識庫中,從而實(shí)現(xiàn)了OWL知識庫的更新與擴(kuò)充。這種方式的本體數(shù)據(jù)存儲的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)更加簡單,本體模型也具有更好的遷移性。而對于如何做好本體的可重用性和面向特定領(lǐng)域之間的平衡,以及推理規(guī)則的優(yōu)化和大規(guī)模本體存儲的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)是今后研究工作的重點(diǎn)和難點(diǎn)所在。
參考文獻(xiàn)
[1]鄧志鴻,唐世渭,張銘,等.Oniology研究綜述[J].北京大學(xué)學(xué)報(bào):自然科學(xué)版,2002,38(5):730-738.
[2]SPARQL Query Language for RDF[EB/OL].http:∥www.w3.org/TR/rdf-sparql-query,2008-05-10.
[3]董慧,余傳明,楊寧,等.基于本體的數(shù)字圖書館檢索模型研究——體系結(jié)構(gòu)解析[J].情報(bào)學(xué)報(bào),2006,25(3):269-275.
[4]Zhijun Zhang.Ontology Query Languages for the Semantic Web:A Performance Evaluation.Masters Thesis,2005:5-34.
[5]F.Baader,D.Calvanese,D.MeGuinnes,The Description Logic Handbook:Theory,Implementation and Applications,Cambridge University Press,2003.
[6]Jena-A Semantic Web Framework for Java[EB/OL].http:∥jena.sourceforge.net,2008-03-15,2008-09-10.
[7]袁方,王濤.基于本體的推理機(jī)研究[J].計(jì)算機(jī)工程與應(yīng)用,2006,(9):158-165.
[8]侯冕,廖樂健.基于語義Web本體語言的推理機(jī)引擎的實(shí)現(xiàn)[J].軍民兩用技術(shù)與產(chǎn)品,2005.7:41-43.
[9]韓亞洪,劉永革.本體的查詢與推理機(jī)制研究[J].計(jì)算機(jī)工程與應(yīng)用,2005.9:82-85.