我有一个业务规则,我需要在Drools中建模。该规则规定我有一套列车开往旅途中。如果每列火车都符合以下标准,我需要启动规则:
如果任何列车符合上述标准,我可以编写匹配的规则,例如
Train(driver == "Ted"
|| (driver == "Joe" && destCountry == "Scotland")
|| (driver == "Andy" && origin == "London" && dest == "Birmingham"))
但是,我可以编写一条规则,确保知识库中的所有列车都符合标准吗?
答案 0 :(得分:2)
非常简单:使用实现否定存在量词的条件元素not
。当然,你必须确定没有否定的条件,即
not Train( ! (driver == "Ted")
&& ! (driver == "Joe" && destCountry == "Scotland")
&& ! (driver == "Andy" && origin == "London" && dest == "Birmingham"))