ps:本人网上看到许多都是把CLIPS写成CLISP,但是我搞基于语义本体的推理时并没有用过CLISP,只知道CLIPS(C Language Integrated Production System),而LISP又是另一种类似CLIPS的,应用于专家系统编程的语言,CLIPS简介如下:
由于CLIPS追求简单实用,以及高度的可移植性,因此,只提供了正向推理能力。但CLIPS的发展历史证明,这并不影响它成为一个有效的专家系统开发工具。CLIPS被开发出来以促进集成人类知识和经验的软件发展。
在CLIPS中,知识的表示有三种方式:
1、规则,规则表示法是基于启发式经验知识库的首要选择。
2、自定义函数和通用函数,这种方式是程序式知识表示的首选。
3、面向对象设计,也是程序式知识表示的首选。面向对象的程序设计被支持的5个普遍接受的特征是:类,消息处理函数,抽象,封装,继承和多态性。模式匹配可以是对象和事实。
你可以仅用规则,或者仅用对象或者两者混合使用来开发软件。
   CLIPS同时支持与其他语言的集成,如C和Java。事实上,CLIPS是C Language Integrated Production的缩写。规则能基于事实与对象的匹配,规则和对象同时组成了一个集成系统。除了被当作一个独立的工具之外,CLIPS还能被程序语言调用,运行其函数,然后返回给调用函数控制权。同样的,程序代码也能作为一个外部函数在CLIPS中被定义和调用。当外部代码执行完毕后,控制权返回到CLIPS。
CLIPS是基于产生式的前向推理引擎,它是一种非常基础性的东西,许多上层的推理任务,都要映射到这个推理引擎上来运行。
  CLIPS(或Jess)原则上可以处理各种领域的推理任务,只要系统能够为CLIPS提供这个领域的特有领域规则(产生式形式给出)和事实信息(Assertion形式给出)。本体推理作为一类应用,当然也可以映射到CLISP推理机上进行推理,但必须为推理机提供本体领域的有关规则。例如,要用CLIPS(Jess)进行OWL的推理,就要以产生式规则的形式,向系统中输入OWL的每种语言成分的含义的有关规则。有了这些规则后,就可以用CLIPS对OWL形式给出的本体进行推理了。同理,若对DAML形式给出的本体进行推理,就需要向CLIPS中提供DAML的每种语言成分的含义的有关规则。
    Jess(Java Expert Shell System)是基于Java语言的CLISP推理机。
    Jess(CLIPS)的优点是:推理机是开放的,用户提供不同的规则系统,就可以进行不同领域的推理工作,用户可以对推理机的推理能力进行扩展。但,作为前向推理系统,Jess用空间换时间,推理会产生大量的中间数据,空间效率很低;同时,由于Jess(CLIPS)是通用推理引擎,不可能提供针对各种具体领域的优化能力,使得这种推理机制的效率很难优化。

现在,针对本体的推理,越来越多地集中在了几种标准的本体语言上,如OWL、DAML、RDFS/RDF等,这样,研究者给出效率更高的,针对这些具体应用的推理机。象RACER、FaCT、Pellet等就是这类具体有强烈针对性的推理机。它们的优点是:效率很高,使用上也非常方便;缺点是:不是通用推理机,将推理能力限定在几种具体的本体语言上,而且用户很难对它进行扩展。

值得强调的是,RACER、FaCT、Pellet采用描述逻辑作为理论基础,算法采用Tableau算法。这些系统都做了大量的优化工作。

Jena是面向语义Web的应用开发包,包含的内容比较全面,推理机只是其中一部分。Jena提供的推理机也和RACER、FaCT、Pellet等一样,是针对本体的推理机,但Jena本身并不是‘推理机设计专家’,它自身包含的推理机基本上就是一种CLIPS配合本体领域产生式规则的前向推理系统。因此,它的运行效率不是很高。好在现在有DIG接口,DIG有点象数据库中的ODBC,允许前端挂接到后台不同的推理引擎上。这样,在Jean中,
也可以使用RACER、FaCT、Pellet这样更‘专业’些的推理机。

Pellet是一种基于Tableau算法的描述逻辑推理机,由美国马里兰大学(College Park分校)的MindSwap实验室开发。Pellet是基于Java的开放源码系统。

综上所述,可做如下区分:
    1. Jena中的推理引擎和RACER都是针对具体本体语言的推理机,针对性强,效率高。
    2. Jess是层面更低的,通用的CLIPS推理机。

这就可以解释:为什么当用户使用owl表示本体时,Protege会用Jena或RACER等推理,而当用户使用class/slot表示本体时,Protege仅能使用Jess。其实,从能力上,Jess也可以完成owl推理(需要输入相应的产生式规则库),只是效率低。

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

  1. 移动端相关 em rem px 区别和关联

    移动端布局 计量单位 em单位大小与父级字体相关 rem单位大小与html字体相关

  2. 如果我要...(研究版)

    如果需要OWL/DAML/RDF编辑器,我会首先SWOOP,其次是protege. 如果需要网络爬虫,我会用websphinx,自己也写过一个 如果需要推理机,我会用racer,jena,pellet ...

  3. 知识图谱基础入门(一)

    知识图谱旨在采用图结构来建模和记录世界万物之间的关联关系和只是,以便有效实现更加精准的对象级搜索.其相关技术可以应用在搜索引擎.语言理解.推荐计算.大数据决策分析等众多领域.如今,知识图谱已经是实现认 ...

  4. 知识图谱的系统工程观(综述)

    原创: 信息系统专委 中国计算机学会 CCF于2018年10月出版了新一期<中国计算机科学技术发展报告>,对AI与系统软件的深度融合等10个方向的研究进展做了详细的介绍和讨论.我们将分期分 ...

  5. 大数据知识图谱的系统工程观

    1 引言 知识图谱是由节点和边组成的语义网络[1].节点可以是实体,如:一个人.一本书等,或抽象的概念,如:人工智能.知识图谱等.边可以是实体的属性,如:姓名.书名,或实体之间的关系,如:朋友.配偶. ...

  6. 《数字图像处理》空间滤波学习感悟2:空间相关与卷积的概念、区别及联系

    一.引言 在图像处理以及人工智能中,"卷积"一词是非常重要的概念,也是初学者难以理解的地方.在<数字图像处理:理解什么是卷积(滤波).卷积核以及相关参考资料>老猿结合相 ...

  7. 语义网知识表示方法:RDF,RDFS与OWL

    RDF,RDFS与OWL都是基于语义网的知识表示框架,还有一种知识表示框架称为分布式表示,即把知识表示为低维稠密向量,例如TransE模型 对于初学者来讲,这个概念很容易和语义网(Semantic W ...

  8. 工作绩效数据、工作绩效信息和工作绩效报告的区别

    工作绩效数据 工作绩效数据是在项目管理过程中,一边执行一边收集起来的,未经任何加工整理的原始资料,用于真实,完整地记录工作的执行情况.它是指导与管理项目工作过程的输出.是项目监控时用来与计划要求做比较 ...

  9. 推理机Jess、Racer、Jena 比较 (转)

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

最新文章

  1. 防抖技术 | OpenCV实现视频稳流
  2. case when完成不同条件的显示
  3. 毫米波雷达数据处理_毫米波雷达开启4D时代,助力几何伙伴抢滩自动驾驶量产...
  4. 函数setjump和longjmp
  5. django-前端上传图片190912
  6. docker上定期备份mysql数据库
  7. 4种语义分割数据集Cityscapes上SOTA方法总结
  8. 雷军超燃演讲:人生最后一次创业,押上全部战绩和信誉造车,小米亏得起!...
  9. Android 音频开发(一) 基础入门篇
  10. C++模板中关键字typename与class的区别
  11. 前端开发——模块化(html模块化开发)
  12. 【CSP201803-1 】跳一跳,简单模拟
  13. linux tcp 断网重连,LIS接口与串口服务器的KeepAlive的重连机制
  14. linux关于bashrc与profile的区别(转)
  15. 快速打开 控制面板下网络和 Internet下的网络连接
  16. 在DCOM配置中找到Microsoft Office Word 97 - 2003 文档
  17. 等离子气化技术优势分析
  18. 第5章 数据库管理---数据库原理及应用
  19. printf详细用法
  20. 无聊就来整活—Python自制小鸟管道游戏【含完整代码】

热门文章

  1. GraphPad Prism使用教程
  2. 如何用油猴解析VIP视频
  3. 中国电信-天翼云-云监控
  4. 中兴以太网板see服务器地址,中兴传输以太网板数据配置.ppt
  5. 梅尔频谱图与音频相互转化
  6. English Voice of Bye Bye Bye
  7. CVPR 2022缅怀孙剑!同济、阿里获最佳学生论文奖,何恺明入围
  8. PHP统计总访问量和访客数
  9. 卖家被骗上万元,已报警立案-跨境知道
  10. linux系统下ipa签名,安装isign 自动签名ipa包