Java Drools规则从对象列表中找出最大值';对象列表

Java Drools规则从对象列表中找出最大值';对象列表,java,drools,Java,Drools,我知道编写Drools规则从对象列表中查找最大值是多么容易 e.g. MyBase(listOfObjects : myObjects) accumulate (MyObject($value : value, $value != null) from listOfObjects; $maxValue : max($value)) 我的问题是,如何编写Drools规则来从对象列表中查找最大值 e.g. MyBase(listOfObjects : myObjects) ac

我知道编写Drools规则从对象列表中查找最大值是多么容易

e.g. MyBase(listOfObjects : myObjects)
     accumulate (MyObject($value : value, $value != null) from listOfObjects; $maxValue : max($value))
我的问题是,如何编写Drools规则来从对象列表中查找最大值

e.g. MyBase(listOfObjects : myObjects)
     accumulate (MyObject(anotherListOfObjects : mySmallerObjects) from listOfObjects
                 ,MySmallerObject($value : value, $value != null) from anotherListOfObjects; $maxValue : max($value))
上述方法不起作用

基本上,我有一个对象MyBase,它有
列出myObjects
。在
myObjects
中,我想从它们的
列表mymallerobjects
中找到最大值(跨越所有
myObjects
,而不仅仅是在
mymallerobjects
中)

我相信这在Drools中是可行的,我只需要正确的语法


我正在使用Drools 5.5版,谢谢

Hmm,我会先
collect
all
MySmallerObjects
,然后在
collect
操作的结果上累加<代码>收集允许从元素嵌套
。见第4.8.3.7.3章。Drools专家用户指南中的条件元素收集