DL推理器与规则引擎:你能解释一下这个区别吗?

时间:2009-11-04 02:30:44

标签: rule-engine description-logic

有人可以解释像Pellet /默认OWL Reasoner这样的DL Reasoner和像Jess这样的规则引擎之间的差异吗?和他们的申请?

感谢。

3 个答案:

答案 0 :(得分:3)

Pellet和Jess都可以主要用作语义推理器。然而,Jess是一个基于规则的专家系统,用于为一些专家所需的问题提供答案。 Jess也有自己的语言来创建规则。我们称之为Jess Rules。 Pellet使用Jena API或SWRL来定义规则。因此,使用Jess,您可以编写更复杂的规则。如果要在这些工具之间进行替换,可能需要为每种类型再次编写一些规则。

http://en.wikipedia.org/wiki/Semantic_reasoner

在此链接中,您可以找到语义推理器之间的比较表。我以前没有使用过SweetRules推理器,但它似乎支持SWRL和Jess规则,因此这个推理器可以帮助Jess和Pellet之间的交叉。

答案 1 :(得分:0)

规则引擎可以将规则的定义与编码分开,并将推理过程置于规则引擎内部,这可以带来诸如重用规则知识等优点。

答案 2 :(得分:0)

Reasoners通常使用monotonic推理实现更受约束的规则功能(如果有的话)。当人们说“推理者”时,他们通常是OWL推理者,因为它是基于RDF的可互操作的W3C推荐,并且可能根本没有使用Axioms and Facts设置的所有内容的规则支持。

另一方面,像CLIPS,Jess或Drools这样的规则引擎具有完整的,自包含的非标准编程语言,对可以表达的内容几乎没有限制,也不需要单独的功能部分 - 因此可能领先由于程序员的自由,设计系统速度慢,设计不佳。

从技术上讲,可以使用任何规则引擎代替推理器。作为特定的生产示例,可以使用PelletDrools替换为Drools-SWRLAPI以进行OWL / RDF推理。 Jess还有SWRL API。然而,由于Pellet是内置OWL支持的专用推理器,它神奇地推断所有内容并通过API或SPARQL回答问题 - 而Drools需要特殊的设置和相当多的编程来集成Java API。

另一个现实世界的区别是规则引擎主要用作BRMS(例如在FinTech中),而reasoners用于语义数据存储或知识管理应用程序,如商品属性或关系在新闻/媒体代理商。

截至2016年,Pellet的规则支持仅限于SWRL和Drools-SWRLAPI支持SWRL和SQWRL(均为单调)。 SWRL序列化本身是源自Protege SWRLTab插件的“事实上”标准。