0

オブジェクトのリストから最大値を見つける 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 があり、List<MyObjects> myObjects. 内でmyObjects、それらから最大値を見つけたい(内だけでなく、 内List<MySmallerObject> mySmallerObjects全体で)myObjectsmySmallerObjects

Drools で実行可能だと思いますが、構文を正しくする必要があるだけです。

Drools バージョン 5.5 を使用しています。ありがとうございます。

4

1 に答える 1

0

うーん、最初にcollectすべてを実行してから、操作の結果MySmallerObjectsを累積します。ネストされた要素を許可します。第4.8.3.7.3章を参照してください。Drools Expert User Guide http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/index.html#d0e5351のConditional Element collectcollectcollectfrom

于 2013-03-14T08:17:04.533 に答える