Hello everybody,
I recently started using Drools (with C#) and I have some problems in
understanding how temporal operators work with the duration field. According
to the documentation, the temporal operators work with startTimestamp and
endTimestamp of events, the semantics being defined with inequalities. In
order to work, temporal operator requires the duration field to be declared.
Now the questions:
1. What does @timeStamp stay for? The start or the end timestamp?
2. Does Drools calculate startTimestamp and endTimestamp if I set @timeStamp
and @duration attribute from my C# code? If not how can I set them? (like
shall I declare like @startTimeStamp(sth) and set from the C# code?)
3. Do temporal operators work if I do not set explicitly the start and end
timestamps but just @timeStamp and @duration attributes?
In particular, I have this drl file (%VAR% are replaced by other code):
declare IntensionalEvent
@role(event)
@timeStamp(timeStamp)
@duration(duration)
end
rule "Expression (%EVENTNAME1%, %OPERATOR%, %EVENTNAME2%, %TIMESPAN%,
%TIMEVAR%)"
dialect "mvel"
when
$eventA : IntensionalEvent( name == '%EVENTNAME2%' )
$eventB : IntensionalEvent( this %OPERATOR% $eventA,
name == '%EVENTNAME1%'
) over window:time( %TIMESPAN% )
then
blah blah... create an IntensionalEvent and set timestamp
and duration
end
Thanks everybody,
Gil
--
View this message in context:
http://drools.46999.n3.nabble.com/Duration-attritube-and-Temporal-Operato...
Sent from the Drools: User forum mailing list archive at
Nabble.com.