【发布时间】:2019-04-08 06:06:57
【问题描述】:
我正在研究基于立法的专家系统,我有很多这样的规则:
规则 1: 如果扣押金额大于3000,扣押金额,理由律100
规则2:如果扣押属于家庭类型,扣押金额,理由法200
问题是“Seize”这个动作只能应用一次,但是我需要保存遇到的规则的历史,下面我举个例子
rule "law 100"
when
$seizure: Seizure(amount>3000)
then
$seizure.getRules().add("Justification: law 100 of the civil that says bla bla");
$seizure.applyPunishment();
rule "law 200"
when
$seizure: Seizure(type == TYPES.Family)
then
$seizure.getRules().add("Justification: law 200 of the family code that says bla bla");
$seizure.applyPunishment();
如上所示,我需要保存描述规则“$seizure.getRules().add("Justification: law of the Civil Code");”的“then”部分。如果“$seizure.applyPunishment();”我也需要它已在规则 1 中应用,将不会在规则 2 中重新应用。
感谢您的建议
【问题讨论】:
标签: java drools expert-system