@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix dce: <http://purl.org/dc/elements/1.1/>.
@prefix skos: <http://www.w3.org/2004/02/skos/core#>.
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix math: <http://www.w3.org/2000/10/swap/math#>.
@prefix e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>.
@prefix time: <http://eulersharp.sourceforge.net/2003/03swap/time#>.
<http://eulersharp.sourceforge.net/2003/03swap/eventTime_rules>
dce:title """Event time rules"""@en;
dce:creator """Hans Cools"""@en;
dce:contributor """Jos De Roo, Kristof Depraetere, Romain Endelin"""@en;
dce:publisher """Agfa Healthcare/Belgium"""@en;
dce:description """Rules to describe how 2 events relate in time."""@en;
skos:note """Using epsilon precision, math:equalTo, log:notEqualTo, and 'past broadening time scope': the longer ago something happened, the broader the time description. E.g. a disease of 20 years ago will not be referred to as on a specific day or even in a month, but in a year."""@en;
rdfs:seeAlso
<http://eulersharp.sourceforge.net/2006/02swap/rif-plugin.yap>,
<http://eulersharp.sourceforge.net/2007/07test/rifP.n3>,
<http://eulersharp.sourceforge.net/2003/03swap/prolog>,
<http://eulersharp.sourceforge.net/2007/07test/biP.n3>.
{ ?event1 time:begins ?beginning1.
?event2 time:begins ?beginning2.
?beginning1 math:lessThan ?beginning2.
} =>
{ ?event1 time:beginsBefore ?event2.
?event2 time:beginsAfter ?event1.
}.
{ ?event1 time:ends ?end1.
?event2 time:ends ?end2.
?end1 math:lessThan ?end2.
} =>
{ ?event1 time:endsBefore ?event2.
?event2 time:endsAfter ?event1.
}.
{ ?event1 time:begins ?beginning1.
?event2 time:begins ?beginning2.
?event1 log:notEqualTo ?event2.
?beginning1 math:equalTo ?beginning2.
} =>
{ ?event1 time:hasSameBeginningAs ?event2.
}.
{ ?event1 time:ends ?end1.
?event2 time:ends ?end2.
?event1 log:notEqualTo ?event2.
?end1 math:equalTo ?end2.
} =>
{ ?event1 time:hasSameEndAs ?event2.
}.
{ ?event1 time:ends ?end1.
?event2 time:begins ?beginning2.
?end1 math:lessThan ?beginning2.
} =>
{ ?event1 time:before ?event2.
?event2 time:after ?event1.
}.
{ ?event2 time:begins ?beginning2.
?event1 time:ends ?end1.
?event1 time:beginsBefore ?event2.
?event1 time:endsBefore ?event2.
?end1 math:greaterThan ?beginning2.
} =>
{ ?event1 time:overlaps ?event2.
}.
{ ?event1 time:hasSameBeginningAs ?event2.
?event1 time:hasSameEndAs ?event2.
} =>
{ ?event1 time:hasSameTimeAs ?event2.
}.
{ ?event1 time:beginsBefore ?event2.
?event1 time:hasSameEndAs ?event2.
} =>
{ ?event2 time:during ?event1.
?event1 time:includes ?event2.
}.
{ ?event1 time:hasSameBeginningAs ?event2.
?event1 time:endsAfter ?event2.
} =>
{ ?event2 time:during ?event1.
?event1 time:includes ?event2.
}.
{ ?event1 time:beginsBefore ?event2.
?event1 time:endsAfter ?event2.
} =>
{ ?event2 time:during ?event1.
?event1 time:includes ?event2.
}.
{ ?event time:begins ?beginning.
?event time:ends ?end.
(?end ?beginning) math:difference ?duration.
} =>
{ ?event time:hasDuration ?duration.
}.
{ ?event1 time:hasDuration ?duration1.
?event1 log:notEqualTo ?event2.
?event2 time:hasDuration ?duration2.
?duration1 math:equalTo ?duration2.
} =>
{ ?event1 time:hasSameDurationAs ?event2.
}.
{ ?event1 time:hasDuration ?duration1.
?event2 time:hasDuration ?duration2.
?duration1 math:greaterThan ?duration2.
} =>
{ ?event1 time:takesLongerThan ?event2.
}.
{ ?event1 time:hasDuration ?duration1.
?event2 time:hasDuration ?duration2.
?duration1 math:lessThan ?duration2.
} =>
{ ?event1 time:takesLessLongThan ?event2.
}.
{
?event1 time:begins ?beginning1 .
?event2 time:ends ?end2 .
?beginning1 math:equalTo ?end2 .
} =>
{
?event1 time:beginsSameAsEndOf ?event2 .
?event2 time:endsSameAsBeginningOf ?event1 .
} .