本体推理中jess和jena区别
Jess(Java?Expert?Shell?System)是基于Java語言的CLISP推理機。
CLISP是基于產生式的前向推理引擎,它是一種非?;A性的東西,許多
上層的推理任務,都要映射到這個推理引擎上來運行。
????CLISP(或Jess)原則上可以處理各種領域的推理任務,只要系統能夠
為CLISP提供這個領域的特有領域規則(產生式形式給出)和事實信息(Assertion
形式給出)。?本體推理作為一類應用,當然也可以映射到CLISP推理機上
進行推理,但必須為推理機提供本體領域的有關規則。例如,要用CLISP(Jess)
進行OWL的推理,就要以產生式規則的形式,向系統中輸入OWL的每種語言成分
的含義的有關規則。有了這些規則后,就可以用CLISP對OWL形式給出的本體
進行推理了。同理,若對DAML形式給出的本體進行推理,就需要向CLISP中
提供DAML的每種語言成分的含義的有關規則。
???Jess(CLISP)的優點是:推理機是開放的,用戶提供不同的規則系統,就可以
進行不同領域的推理工作,用戶可以對推理機的推理能力進行擴展。
但,作為前向推理系統,Jess用空間換時間,推理會產生大量的中間數據,空間
效率很低;同時,由于Jess(CLISP)是通用推理引擎,不可能提供針對各種具體領
域的優化能力,使得這種推理機制的效率很難優化。
???現在,針對本體的推理,越來越多地集中在了幾種標準的本體語言上,如OWL、
DAML、RDFS/RDF等,這樣,研究者給出效率更高的,針對這些具體應用的推理機。
象RACER、FaCT、Pellet等就是這類具體有強烈針對性的推理機。它們的優點是:
效率很高,使用上也非常方便;缺點是:不是通用推理機,將推理能力限定在幾種
具體的本體語言上,而且用戶很難對它進行擴展。
???值得強調的是,RACER、FaCT、Pellet采用描述邏輯作為理論基礎,算法采用Tableau
算法。這些系統都做了大量的優化工作。
???Jena是面向語義Web的應用開發包,而不僅僅限制在推理的部分。在這里我們限定在
本體當中,由于jena可以通過接口與專業推理機鏈接,所以更高效的處理owl格式的推理。
簡單講,jena包含的內容比較全面,推理機只是其中一部分。jena因為可嫁接更高效的推理機,
才實現更高效推理。Jena提供的推理機也和RACER、FaCT、Pellet等一樣,是針對本體的推理機,
但Jena本身并不是‘推理機設計專家’,它自身包含的推理機基本上就是一種CLISP配合
本體領域產生式規則的前向推理系統。因此,它的運行效率不是很高。好在現在有DIG接口,
DIG有點象數據庫中的ODBC,允許前端掛接到后臺不同的推理引擎上。這樣,在Jean中,
也可以使用RACER、FaCT、Pellet這樣更‘專業’些的推理機。
???綜上所述,可做如下區分:
???1.?Jena中的推理引擎和RACER都是針對具體本體語言的推理機,針對性強,效率高。
???2.?Jess是層面更低的,通用的CLISP推理機。
???這就可以解釋:為什么當用戶使用owl表示本體時,Protege會用Jena或RACER等推理,
而當用戶使用class/slot表示本體時,Protege僅能使用Jess。??其實,從能力上,Jess
也可以完成owl推理(需要輸入相應的產生式規則庫),只是效率低。
總結
以上是生活随笔為你收集整理的本体推理中jess和jena区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jess笔记_(2)
- 下一篇: 车子上路应变技巧