Hi David, must have missed your previous e-mail.
* Where can we find a more detailed description of CEP functionality in
drools?
Unfortunately we don't have proper documentation for CEP in Drools yet. General documentation about the subject can be found in a lot of places, but a good starting point is: www.complexevents.com.
* Is it a good idea to use CEP for analyzing historic data (retrieved from
the database)? or is it best for online data.
Usually CEP is used to match "online **events**" with "historic **data**", but in the reality, in Drools you can assign event semantics to any type of fact, so it really depends on your problem domain and how you are modeling it.
* Can we use CEP in a stateless session?
Not sure it makes sense. Need to investigate that. CEP is usually about streams of events and ongoing event pattern detection, and so we are developing it for Stateful sessions.
* As we understand, CEP attaches to each fact a temporal attribute of the
assertion time. Can we define that a particular attribute (e.g.,
LabResult.samplingDate) will be used as the time stamp? Or, should we assert
the facts by their temporal order, and advance the session-clock
appropriately?
Yes, just assign event semantics to your fact and declare its timestamp attribute:
declare LabResult
@role( event )
@timestamp( samplingDate )
end
* Can we use CEP to analyze the data in the examples above?
Well, you can, but is it the best tool for the job? Maybe yes, maybe no. Look at your case and read the quick list of itens that describe what means to assign and event semantic to your labresults. They will match I guess, but just make it sure. Otherwise, maybe what you need is best support for date constraints, and that is another subject.
Keep tunned. As the pieces start to come to their places now, we will be releasing more info on our CEP support.
Cheers,
Edson
2008/8/19 David Boaz
<davidb@dbmotion.com>
Dear all,
We posted this question two weeks ago, but with no replies. please forgive
me for posting it again.
In our business, most of the facts have time-stamp attributes. For example,
each laboratory test (a fact) has the time stamp when the sample was taken,
and when the machine produced the result value. In our business-logic, we
often analyze the relation between facts using these attributes.
For example:
1) finding two adjacent labResults with an increasing value
2) checking whether 3 facts are consecutive
3) counting the number of facts fulfilling a specific constraint within a
specific time window.
We were happy to read (in the blog) about the new CEP feature which is about
to be added to drools 5.0.
* Where can we find a more detailed description of CEP functionality in
drools?
* Is it a good idea to use CEP for analyzing historic data (retrieved from
the database)? or is it best for online data.
* Can we use CEP in a stateless session?
* As we understand, CEP attaches to each fact a temporal attribute of the
assertion time. Can we define that a particular attribute (e.g.,
LabResult.samplingDate) will be used as the time stamp? Or, should we assert
the facts by their temporal order, and advance the session-clock
appropriately?
* Can we use CEP to analyze the data in the examples above?
Many thanks for the help, David
--
View this message in context: http://www.nabble.com/CEP-functionality-tp19020709p19020709.html
Sent from the drools - user mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools Core Development
JBoss, a division of Red Hat @ www.jboss.com