Yes, a single fact will match multiple patterns but you can avoid it (As far as I remember, it was not the case in v3 and earlier).
You can either specify this in your Java :
RuleBaseConfiguration conf = new RuleBaseConfiguration();
conf.setRemoveIdentities( true );
RuleBase rulebase = new ReteooRuleBase( conf );
Or in your rule :
rule "foo"
when
$a : Cheese(name="Stilton")
$b : Cheese(this != $a, name="Stilton")
then
# etc
end
Chris
Suppose I have a rule like:
rule "foo"
when
$a : Cheese(name="Stilton")
$b : Cheese(name="Stilton")
then
# etc
end
First question: is it possible that a == b ? In other words, can both
patterns end up matching the same object in one activation? I have been
assuming this is so, but it isn't covered in the docs so far as I can see.
Second question: why can't I add as a pattern, $a != $b ? The eclipse
IDE compiler complains they are undefined. What is the scope of the
bindings defined by $a and $b ?
--
Julian Morrison
Programmer
i-neda Ltd.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users