[rules-users] accumulate over multiple types

Geoffrey De Smet ge0ffrey.spam at gmail.com
Sat Jul 28 09:38:37 EDT 2007


I 'd like to get the number of queens which have the same y.

I used to do this with a query:
    query "multipleQueensHorizontal"
        Queen($id : id, $y : y);
        Queen(id > $id, y == $y);
    end
And then ask the size() of it.

But now I should be able to do this with the accumulate function:
     $multipleQueensHorizontal : Integer()
     from accumulate(
         $q1 : Queen($id : id, $y : y);
         Queen(id > $id, y == $y);
       , count($q1)
     );

However, I get a parsing error on it:
   Caused by: org.drools.rule.InvalidRulePackage: [31,37]: unknown:31:37 
Unexpected token ';'[33,6]: unknown:33:6 mismatched token: 
[@123,814:814=',',<12>,33:6]; expecting type THEN

Apparently the ; in of "$q1 : Queen($id : id, $y : y);" is inacceptable?

-- 
With kind regards,
Geoffrey De Smet




More information about the rules-users mailing list