有序执行一个DRL文件中定义的多个规则

发布于 2024-12-25 20:25:56 字数 49 浏览 1 评论 0原文

我在一个DRL文件中定义了多个规则,如何设置顺序,想要一个接一个地执行(从上到下)。

I defined multiples rules in one DRL file, how to set order, want to execute one after another (top to bottom).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

亚希 2025-01-01 20:25:56

当更新插入的事实(对象)时满足条件时,规则会自动触发。但如果你想从上到下运行它,你可以在规则中设置一个名为 salience 的属性。它采用的值是一个整数。首先执行具有最高显着性的规则。

规则“必须名字”
显着性10
什么时候
(人(名字=="" || 名字==null))
然后
...
结尾

Rules are fired automatically when the conditions are met when the inserted facts(objects) are updated. But if in case you want to run it from top to bottom, you can set a property called salience in the rule. The value it takes is an integer. The rule with the highest salience is executed first.

rule "First name mandatory"
salience 10
when
(Person(firstName=="" || firstName==null))
then
...
end

少女的英雄梦 2025-01-01 20:25:56

如果您使用显着性,您将杀死规则引擎,因为您将强制规则执行顺序而不是让引擎决定。
干杯

If you use salience you will be killing the rule engine, because you will be forcing the rule execution order instead of letting the engine decide.
Cheers

叫思念不要吵 2025-01-01 20:25:56

优先考虑规则是最好的形式。
使用 Salience 确定每个规则的优先级,其中数字越大表示优先级越高。
规则的默认显着性为 0,您可以指定负显着性,例如,如果您希望最后触发规则。

Setting priority to rules is the best form.
Use Salience to determine the priority of each rule, where a higher number denotes a higher priority.
The default Salience for rules is 0, and you can give negative Salience, for example,if you want a rule to be fired last.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文