Darren Salomons

RETE with multivalue valueholder loops using 'or' connector

Discussion created by Darren Salomons on Jun 27, 2011
Latest reply on Jul 5, 2011 by Jean Lim

We use a lot of multi value value holder loops with our templates to simplify our rule writing.  For example a rule rewriter might want a rule to apply to 5 different states so they use our State template that allows them to select  5 states.  The SRL uses the valueholder loop with the 'or' constructor to buld the condition.  This is done instead of writing 5 different rules, 1 for each state. 

 

My understanding of RETE is that it will try and break apart all the or conditions to build a graph.  We attempted to compile our rules in RETE execution and it tooks 9 gigs of RAM to finish successfully.  What I would like to see is that the RETE algorithm not break apart the states and treat the state condition as a single node in the graph instead of 5 nodes.

 

Anyone have any experience with this and maybe an enhancement request can be done to the algorithm to make this work better?

Outcomes