杰斯关于事实和规则的问题

时间:2013-08-29 00:31:18

标签: rule jess

我使用Jess规则引擎和java,我有一个模板人,有很多事实。我优先考虑一个关于人的规则,我希望得到满足规则的事实数量并使其成功。这可能吗; 例如,命令engine.executeCommand(“(run)”)仅在规则触发时返回0或1

1 个答案:

答案 0 :(得分:0)

根据您的需要,您可能会做一些事情。函数(run)实际上返回触发的规则数,因此如果每个事实激活一个规则,那么(run)的返回值就会这样做。

如果您需要执行更复杂的操作,则可以注册JessEventListener以在每个规则触发时收到通知。 JessEvent将包含规则的整个激活记录,因此您可以浏览它并根据需要计算事实。由于规则可以匹配事实的不存在,或者存在至少一个符合模式等的事实,“多少事实激活规则”的问题并不完全是直截了当的。但是手头有激活记录,你可以随意计算它们。