我使用 Jess 规则引擎,我有一些规则可以改变一些槽值作为结论。这是通过两种不同的方式实现的:1.使用 Jess 修改(例如=>修改事实) 2.使用 Jess 函数(例如 => 更改(slotvalue)) 问题是当两条规则改变相同的 slotvalue 时。我为此使用 Jess 显着性,它仅适用于类型 1=>修改事实。当我有该功能的规则时,每次都会执行该规则。我该如何解决这个问题?
这是代码:
1)如果人是学生=>(修改
?时间 >5 =>(修改 ?fact(fredo 5))
如果一个人是学生,一天是星期三并且时间 >5,那么所有规则都会被触发,并且 fredo 槽值将为 5,因为该规则是最后触发的。在这种情况下我如何解决优先级问题(例如只触发第二条规则);可能吗; 感谢您的回复。