I think that the simplest solution would be to either store the sum of
the children's values into each Node, or to create and insert
additional facts containing these sums, in parallel to non-leaf Node
facts.
-W
On 28/02/2013, mcyrb <cyrille.martins(a)thalesgroup.com> wrote:
Hello.
I have a tree, with each leaf containing a random value.
The value of each node is the sum of its children value.
I would like to write a rule which looks like this:
when
nodeValue == 18 (e.g.)
then
// do something with this node
end
The accumulate conditional element looked adequate for this, so I wrote
something like this
when
n: Node()
accumulate( Leaf( parentNode == n, v : value ); nodeValue : sum( v );
nodeValue == 18 )
then
// do something with n
end
So... the problem is that this works only for nodes where its direct childs
are leafs, and not for upper nodes.
Have you got an idea to solve this ?
Thank you
--
View this message in context:
http://drools.46999.n3.nabble.com/Tree-iteration-with-accumulate-is-it-po...
Sent from the Drools: User forum mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users