[rules-users] Rules that cumulate on consequence
Geoffrey De Smet
ge0ffrey.spam at gmail.com
Wed Nov 23 05:22:25 EST 2011
Good idea,
but note that it will only work properly in a stateless session (which
is most likely in his case).
In a stateful session, with multiple fireAllRules and when the
applicant's properties change between those fireAllRules call,
the trick is to do an insertLogical of a ScoreDiff instead of setScore()
and then add 1 general rule to accumulate all those ScoreDiffs and put
the resulting score into the Result.
Op 23-11-11 10:56, Michael Anstis schreef:
> Why not use a Fact that contains your result?
>
> In DRL terms it'd look like this:-
>
> rule "one"
> when
> $r : Result( $score : score )
> Applicant( numberOfLoans > 1 )
> then
> $r.setScore( $score + 5 );
> update( $r );
> end
>
> rule "two"
> when
> $r : Result( $score : score )
> Applicant( disposableIncome < 20000 )
> then
> $r.setScore( $score + 10 );
> update( $r );
> end
>
> The result could equally just contain the factors influencing the
> score with a low salience rule then calculating the final score:-
>
> rule "one"
> salience 100
> when
> $r : Result()
> Applicant( $nl : numberOfLoans )
> then
> $r.setNumberOfLoans( $nl );
> update( $r );
> end
>
> rule "two"
> salience 100
> when
> $r : Result()
> Applicant( $di : disposableIncome )
> then
> $r.setDisposableIncome( $di );
> update( $r );
> end
>
> rule "calculate score"
> salience 200
> when
> $r : Result( $nl : numberOfLoans > 1, $di : disposableIncome <
> 20000 )
> then
> $r.setScore( 20 );
> update( $r );
> end
>
>
> On 23 November 2011 09:44, lansyj <lansyjp at gmail.com
> <mailto:lansyjp at gmail.com>> wrote:
>
> hi folks
>
> We are working on a requirement that requires us to have multiple
> rules that
> could fire for a given input and for all the rules that fire, we
> would want
> to cumulate the consequence to reach the final consequence.
>
> As an example, if we want to identify the credit score for a
> person, based
> on his gender you might want to assign/increment/decrement the
> score, then
> based on nationality, and so on.
>
> So, considering the long list of such criteria, having rules that
> cover all
> scenarios and are still mutually exclusive isnt a scalable
> solution. Could
> you please advice on how this could be achieved.
>
> We run Drools 5.1.1 and Guvnor; rules are made using the guided
> editor with
> DSLs.
>
> Awaiting your support,
>
> Best Regards
>
> -lj
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/Rules-that-cumulate-on-consequence-tp3530214p3530214.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
--
With kind regards,
Geoffrey De Smet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20111123/5228a3e7/attachment.html
More information about the rules-users
mailing list