Drools规则引擎(通常是Rete算法)是否支持高阶规则?

时间:2019-10-13 15:32:34

标签: logic drools optaplanner rule-engine business-rules

我可以想象规则引擎的更高级别/元级别的功能:

  • 规则可以具有属性,并且有可能表达:如果rule-P的属性值为PA = 1,则Rule-R的属性值为RA = 1;
  • 规则(完整的结构-具有内容和属性)可以用作其他规则中谓词的参数,甚至可以形成元递归结构;
  • 可能存在一些规则,其结果可能是构造新规则并添加到规则库中(自编程,几乎称为Goedle机器)。

Drools引擎支持这些功能吗?如果不支持,那么实现这些功能又需要什么呢?是否正在做出努力,是否已经对此类问题进行了一些思考?

当我搜索Rete算法和更高阶的功能时,Google返回了有关HEX程序http://www.kr.tuwien.ac.at/research/systems/dlvhex/hexlanguage.html的作品,但是据我所知,它主要是关于数据记录的,那么数据记录就是像Prolog一样的后向链接方法。 Prolog在诸如元解释学习http://andrewcropper.com/pubs/jelia19-typed.pdf和lambda-Prolog http://www.lix.polytechnique.fr/~dale/lProlog/之类的高阶功能方面进行了大量的工作。

但是我试图了解这些高阶功能在正向链接系统中的表达方式,例如业务规则,生产规则和Drools。

据我所知,每个高阶特征(例如针对高阶逻辑与一阶逻辑)都可以表示为一阶特征的结构,但是有实例证明了二阶二阶逻辑中的定理只占几页,但是一阶证明对于整个宇宙来说太大了。

所以-也许Drools开箱即用地支持高阶概念?

0 个答案:

没有答案