当前位置: 首页 > 工具软件 > Jess > 使用案例 >

本体推理中jess和jena区别

阚英睿
2023-12-01

Jess(Java Expert Shell System)是基于Java语言的CLISP推理机
CLISP是基于产生式的前向推理引擎,它是一种非常基础性的东西,许多
上层的推理任务,都要映射到这个推理引擎上来运行。
    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推理(需要输入相应的产生式规则库),只是效率低。

 类似资料: