I assume you are using Fusion, using a session clock so that temporal operators are available.
rule "three A" when $a1: EventA( $index : index ) $a2: EventA( index == $index ) $a3: EventA( index == $index ) not EventB( this after[0ms] $a1 && before[0ms] $a3, index == $index ) then // ... match retract( $a1 ); retract( $a2 ); retract( $a3 ); end -W 2010/10/25 赵侃侃 <[email protected]> > Hello, > > I'm still quite new to the drools stuffs just getting the examples running. > I'm sorry if my question is too basic. > I have a system that will continuously to receive events sent from some > other system. Basically I have two types of events, eventA and eventB. > Both eventA and eventB have two properties, index and timestamp. > > What I want is to capture a pattern to meet the following conditions > > 1. every 3 consecutive eventsA without any eventB in between having a same > index value ordering by their timestamp. > > 2. all events in a matched pattern will have the same value of property > index. > > 3. if a pattern is matched, any of the events in this pattern should not be > used again for a new matching. > > there are some examples below, the number after a colon stands for the > value of its index number and assume those events are already ordered by > their timestamp. > > eventB:2 eventA:1 eventA:1 eventA:1 eventB:3 --------- one > successful match, we have three eventA with same index value 1 in a row > > eventB:2 eventA:1 eventA:1 eventB:1 eventA:1 --------- no > match because there's an eventB in between > > eventB:2 eventA:1 eventA:1 eventB:2 eventA:1 --------- one > successful match because the in-between eventB has a different index value > > eventA:1 eventA:1 eventA:1 eventA:1 eventA:1 --------- > only one match, because once matched, the events can not be used for a > second match again. > > > I just don't know how to write a rule like this. Is there anyone who can > shed some lights on? > > Best Regards, > Kevin > > > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
