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

2007/10/26, Julian Morrison < jmorrison@i-neda.com>:
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