推理机Jess、Racer、Jena 比较

转载 2012年11月01日 10:46:36
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提供的推理机也和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、Racer、Jena 比较 (转)

Jess(Java Expert Shell System)是基于Java语言的CLIPS推理机。 CLIPS是基于产生式的前向推理引擎,它是一种非常基础性的东西,许多上层的推理任务,都要映射到这个推...
  • zhoubl668
  • zhoubl668
  • 2013年12月12日 18:36
  • 2487

一些与OWL相关的推理机的区别(如:Jess、Jena、Pellet等)

ps:本人网上看到许多都是把CLIPS写成CLISP,但是我搞基于语义本体的推理时并没有用过CLISP,只知道CLIPS(C Language Integrated Production Syste...
  • heliuwei1991
  • heliuwei1991
  • 2015年12月03日 15:49
  • 2152

Jena2提供的规则推理引擎

翻译自Jena文档。 一,简介 Jena2提供的规则推理引擎支持前向链、后向链以及二者混合的推理执行模型,更准确地说,Jena有两个内部规则引擎:前向链推理RETE引擎和一个tabled da...
  • zhoubl668
  • zhoubl668
  • 2013年12月12日 18:38
  • 4393

Jena 本体推理规则(Rules)的介绍

 本体的推理规则库是有一条条规则组成的。每条规则由主体(body)和头(head)组成,一条规则可以有一个主体和一个头,例如规则:[rule1:(?a fa:hasHusband ?b)(?a ...
  • zdlzwk
  • zdlzwk
  • 2015年09月30日 14:24
  • 1350

Jena 本体推理

一,使用Jena对OWL本体进行查询推理 前面在"使用jena持久化OWL本体到MySQL(http://bbs.w3china.org/dispbbs.asp?boardID=2&ID...
  • jazywoo123
  • jazywoo123
  • 2013年04月01日 21:33
  • 2256

Jena的简单理解和一个例子

本文简单介绍Jena(Jena 2.4),使用Protégé 3.1(不是最新版本)创建一个简单的生物(Creature)本体,然后参照Jena文档中的一个例子对本体进行简单的处理,输出本体中的Cla...
  • zhang6560329
  • zhang6560329
  • 2014年05月26日 17:10
  • 3432

利用jena API查询OWL本体

最近在学习本体和语义网。学习了OWL,也尝试着用了一下jena API对OWL本体进行查询。 1.本体简介       “本体”这个术语来自于哲学,它是研究世界上的各种实体以及他们是怎么关联的...
  • u012492756
  • u012492756
  • 2017年05月18日 18:32
  • 379

JENA操作本体

--------------------------------------------------------------- 基本概念 一个本体允许程序以一种开放有意义的方式明确一个关心的领域里...
  • shiyue0010
  • shiyue0010
  • 2016年11月01日 16:34
  • 1645

Jena API 使用介绍

转载:/javafreely/article/details/8432522 本文将对jena 的使用进行简单介绍。部分内容参考了这里 http://jena...
  • awawfwfw
  • awawfwfw
  • 2015年08月09日 18:56
  • 918

jena中关于本体操作的几个代码。(自己看的笔记)

package com.moms.service; import java.io.FileInputStream; import java.io.InputStream; import ja...
  • caozhenyu
  • caozhenyu
  • 2013年03月27日 23:25
  • 4342
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:推理机Jess、Racer、Jena 比较
举报原因:
原因补充:

(最多只允许输入30个字)