繁体   English   中英

如何为Drools添加事实

[英]How to add a fact to Drools

我是Drools的新手,我有一些小问题。 我已经准备好编写一个Test-Rule-File只是为了看看它是否有效。

我有一些规则,其条件取决于其他规则的结果。 到目前为止,我通过在Java对象中处理属性来处理它。 因此,以下规则可以检查这些属性。

但是有可能在不操纵现有属性的情况下将事实添加到知识库中吗?

这是我的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类中没有isSave属性。 是否可以将事实isSave添加到我的知识库中?

非常感谢!

没有什么可以阻止您定义能够保存该信息的类,“保存”值和对Person对象的引用,然后将其插入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM