我是Drools的新手,我有一些小问题。 我已经编写了一个测试规则文件,看它是否有效。
我有一些基于其他规则的结果的规则。 到目前为止,我通过操纵Java-Objekts中的属性来处理它。因此,以下规则可以检查这些属性。
但是可以在不操纵现有属性的情况下向知识库添加事实吗?
这是我的DRL的一部分
rule "Ist save"
no-loop true
when
$p : Person(guarantor == true)
then
$p.setSave(true);
end
rule "Ist trustworthy"
no-loop true
when
$p : Person(ages > 25)
Person(schufa == false)
then
modify($p) {setReliable(true); }
end
rule "gets credit"
no-loop true
when
$p : Person(reliable == true && save == true)
then
$p.setGetsCredit(true);
end
同样的问题改写: 实际上我通过设置setSave(true)来操纵Person。但是,如果我的Java类中没有Attribute isSave。是否也可以将事实isSave添加到我的知识库中?
非常感谢!
答案 0 :(得分:0)
没有什么可以阻止你定义一个能够保存该信息的类,一个“保存”值和对一个Person对象的引用,并插入它。