[
http://jira.jboss.com/jira/browse/JBRULES-1374?page=all ]
Matthias Groch updated JBRULES-1374:
------------------------------------
Description:
All this goes back to Allen's interval-based semantics defined in 1983 in his paper
"Maintaining Knowledge about temporal relationships". In it the 13 relationships
are defined. In fact, we have the "equals" relation, plus 6 further
relationships and their inverses (e.g., "before" is the inverse relationship of
"after"). I wrote down how to formally interpret the visual representation for
all 13 relationships given by Allen on page 4 (see the box at the upper right corner; the
pictoral example illustrates best the situation) of the paper, i.e. I expressed them in
the format you suggested using the start and end time of the events. Here we go (of
course, for all events E must hold: E.startTS <= E.endTS).
A coincides B: (A.startTS == B.startTS) && (A.endTS == B.endTS)
A before B: (A.endTS < B.startTS)
A after B: (A.startTS > B.endTS)
A meets B: (A.endTS == B.startTS) && (A.startTS <= B.startTS)
A met-by B: (A.startTS == B.endTS) && (A.startTS >= B.startTS)
A overlaps B: (A.startTS < B.startTS) && (A.endTS < B.endTS)
&& (A.endTS > B.startTS)
A overlapped-by B: (A.startTS > B.startTS) && (A.endTS > B.endTS)
&& (A.startTS < B.endTS)
A during B: (A.startTS > B.startTS) && (A.endTS < B.endTS)
A includes B: (A.startTS < B.startTS) && (A.endTS > B.endTS)
A starts B: (A.startTS == B.startTS) && (A.endTS < B.endTS)
A started-by B: (A.startTS == B.startTS) && (A.endTS > B.endTS)
A finishes B: (A.startTS > B.startTS) && (A.endTS == B.endTS)
A finished-by B: (A.startTS < B.startTS) && (A.endTS == B.endTS)
Remark: In the original paper the terms "equals" and "contains" are
proposed. Due to the fact that these keywords already exist in Drools, "equals"
is replaced by "coincides", and "contains" is substituted by
"includes".
was:
All this goes back to Allen's interval-based semantics defined in 1983 in his paper
"Maintaining Knowledge about temporal relationships". In it the 13 relationships
are defined. In fact, we have the "equals" relation, plus 6 further
relationships and their inverses (e.g., "before" is the inverse relationship of
"after"). I wrote down how to formally interpret the visual representation for
all 13 relationships given by Allen on page 4 (see the box at the upper right corner; the
pictoral example illustrates best the situation) of the paper, i.e. I expressed them in
the format you suggested using the start and end time of the events. Here we go (of
course, for all events E must hold: E.startTS <= E.endTS).
A coincides B: (A.startTS == B.startTS) && (A.endTS == B.endTS)
A before B: (A.endTS < B.startTS)
A after B: (A.startTS > B.endTS)
A meets B: (A.endTS == B.startTS) && (A.startTS <= B.startTS)
A met-by B: (A.startTS == B.endTS) && (startTS >= B.startTS)
A overlaps B: (A.startTS < B.startTS) && (A.endTS < B.endTS)
&& (A.endTS > B.startTS)
A overlapped-by B: (A.startTS > B.startTS) && (A.endTS > B.endTS)
&& (A.startTS < B.endTS)
A during B: (A.startTS > B.startTS) && (A.endTS < B.endTS)
A includes B: (A.startTS < B.startTS) && (A.endTS > B.endTS)
A starts B: (A.startTS == B.startTS) && (A.endTS < B.endTS)
A started-by B: (A.startTS == B.startTS) && (A.endTS > B.endTS)
A finishes B: (A.startTS > B.startTS) && (A.endTS == B.endTS)
A finished-by B: (A.startTS < B.startTS) && (A.endTS == B.endTS)
Remark: In the original paper the terms "equals" and "contains" are
proposed. Due to the fact that these keywords already exist in Drools, "equals"
is replaced by "coincides", and "contains" is substituted by
"includes".
Implement the new time relation operators
-----------------------------------------
Key: JBRULES-1374
URL:
http://jira.jboss.com/jira/browse/JBRULES-1374
Project: JBoss Drools
Issue Type: Sub-task
Security Level: Public(Everyone can see)
Components: Reteoo, Drl Parser/Builder, xml
Reporter: Edson Tirelli
Assigned To: Edson Tirelli
Fix For: 4.1.0
All this goes back to Allen's interval-based semantics defined in 1983 in his paper
"Maintaining Knowledge about temporal relationships". In it the 13 relationships
are defined. In fact, we have the "equals" relation, plus 6 further
relationships and their inverses (e.g., "before" is the inverse relationship of
"after"). I wrote down how to formally interpret the visual representation for
all 13 relationships given by Allen on page 4 (see the box at the upper right corner; the
pictoral example illustrates best the situation) of the paper, i.e. I expressed them in
the format you suggested using the start and end time of the events. Here we go (of
course, for all events E must hold: E.startTS <= E.endTS).
A coincides B: (A.startTS == B.startTS) && (A.endTS == B.endTS)
A before B: (A.endTS < B.startTS)
A after B: (A.startTS > B.endTS)
A meets B: (A.endTS == B.startTS) && (A.startTS <= B.startTS)
A met-by B: (A.startTS == B.endTS) && (A.startTS >= B.startTS)
A overlaps B: (A.startTS < B.startTS) && (A.endTS < B.endTS)
&& (A.endTS > B.startTS)
A overlapped-by B: (A.startTS > B.startTS) && (A.endTS > B.endTS)
&& (A.startTS < B.endTS)
A during B: (A.startTS > B.startTS) && (A.endTS < B.endTS)
A includes B: (A.startTS < B.startTS) && (A.endTS > B.endTS)
A starts B: (A.startTS == B.startTS) && (A.endTS < B.endTS)
A started-by B: (A.startTS == B.startTS) && (A.endTS > B.endTS)
A finishes B: (A.startTS > B.startTS) && (A.endTS == B.endTS)
A finished-by B: (A.startTS < B.startTS) && (A.endTS == B.endTS)
Remark: In the original paper the terms "equals" and "contains" are
proposed. Due to the fact that these keywords already exist in Drools, "equals"
is replaced by "coincides", and "contains" is substituted by
"includes".
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira