在 drools 中,我可以让 date-effective/date-expires 值由 facts/functions 设置吗?
In drools, can I have date-effective/date-expires values be set by facts/functions?
我尝试使用事实来设置 date-effective
和 date-expires
的值,其规则类似于 salience
的动态设置方式,但不断出现解析器错误。这些属性在规则解析时是固定的还是可以动态设置?
我找不到任何进一步的提示,所以我只是想看看是否有人知道这是否可行?
动态显着性对我有用:
rule "my rule XYZ"
salience $priority
when
// condition facts
$rrd : RuleRuntimeData(ruleCode == "xyz", $priority : priority)
...
这样的事情可能吗?如果是这样,语法是什么?
rule "my rule XYZ"
date-expires $dateExpires
date-effective $dateEffective
salience $priority
when
$rrd : RuleRuntimeData(ruleCode == "xyz", $priority : priority, $dateExpires : endDate, $dateEffective : startDate)
...
(如果它是必须在规则解析时固定的值,我可能必须使用日期事实或议程过滤器而不是 date-effective
和 date-expires
属性)
动态设置这些值可能会有一些用例。但是,定义规则应该从 从他们将要评估的数据中触发 的时间的想法让我感到困惑。必须至少部分地进行规则评估,以得出一个事实 T 携带一个 date/time 的有效日期。如果时间还没有到,它可能会失败。但是然后想象另一个规则,其中另一个事实 X 必须在评估到达事实 T 之前到达,事实 T 携带 date/time 以确保有效日期。如果 X 到达的时间超过了 T 中给定的时间,那么对 T 的评估会将 date/time 设置为过去的某个时间并继续进行评估。综上所述:LHS评估的技术细节将影响规则的成败。
请注意,动态显着性完全不同:它只是将 触发优先级 设置为成功评估后的事后想法。
议程过滤器听起来是一种非常合理的方式来定义 window 规则的活动时间。
我不太确定 "date facts",但谁知道 - 我没看到你的想法。
我尝试使用事实来设置 date-effective
和 date-expires
的值,其规则类似于 salience
的动态设置方式,但不断出现解析器错误。这些属性在规则解析时是固定的还是可以动态设置?
我找不到任何进一步的提示,所以我只是想看看是否有人知道这是否可行?
动态显着性对我有用:
rule "my rule XYZ"
salience $priority
when
// condition facts
$rrd : RuleRuntimeData(ruleCode == "xyz", $priority : priority)
...
这样的事情可能吗?如果是这样,语法是什么?
rule "my rule XYZ"
date-expires $dateExpires
date-effective $dateEffective
salience $priority
when
$rrd : RuleRuntimeData(ruleCode == "xyz", $priority : priority, $dateExpires : endDate, $dateEffective : startDate)
...
(如果它是必须在规则解析时固定的值,我可能必须使用日期事实或议程过滤器而不是 date-effective
和 date-expires
属性)
动态设置这些值可能会有一些用例。但是,定义规则应该从 从他们将要评估的数据中触发 的时间的想法让我感到困惑。必须至少部分地进行规则评估,以得出一个事实 T 携带一个 date/time 的有效日期。如果时间还没有到,它可能会失败。但是然后想象另一个规则,其中另一个事实 X 必须在评估到达事实 T 之前到达,事实 T 携带 date/time 以确保有效日期。如果 X 到达的时间超过了 T 中给定的时间,那么对 T 的评估会将 date/time 设置为过去的某个时间并继续进行评估。综上所述:LHS评估的技术细节将影响规则的成败。
请注意,动态显着性完全不同:它只是将 触发优先级 设置为成功评估后的事后想法。
议程过滤器听起来是一种非常合理的方式来定义 window 规则的活动时间。
我不太确定 "date facts",但谁知道 - 我没看到你的想法。