# The pattern's own scenario: Mustafa's address in 2005 was in Brussels, and in 2008 in
# Istanbul. Each dated situation is one of these, beside the plain, undated Situation that
# the pattern adds a time interval to.

@prefix situation: <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#> .
@prefix timeindexedsituation: <http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#> .
@prefix timeinterval: <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#> .
@prefix ex: <https://w3id.org/ontoboard/example/timeindexedsituation#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

ex:Mustafa a owl:NamedIndividual , situation:Entity ;
    rdfs:label "Mustafa" ;
    situation:hasSetting ex:MustafaAddress .

ex:Brussels a owl:NamedIndividual , situation:Entity ;
    rdfs:label "Brussels" .

ex:Istanbul a owl:NamedIndividual , situation:Entity ;
    rdfs:label "Istanbul" .

ex:MustafaAddress a owl:NamedIndividual , situation:Situation ;
    rdfs:label "Mustafa's address, with no time index" .

ex:MustafaAddressIn2005 a owl:NamedIndividual , timeindexedsituation:TimeIndexedSituation ;
    rdfs:label "Mustafa's address in 2005" ;
    timeindexedsituation:forEntity ex:Mustafa ;
    timeindexedsituation:atTime ex:Year2005 ;
    situation:isSettingFor ex:Brussels .

ex:MustafaAddressIn2008 a owl:NamedIndividual , timeindexedsituation:TimeIndexedSituation ;
    rdfs:label "Mustafa's address in 2008" ;
    timeindexedsituation:forEntity ex:Mustafa ;
    timeindexedsituation:atTime ex:Year2008 ;
    situation:isSettingFor ex:Istanbul .

ex:Year2005 a owl:NamedIndividual , timeinterval:TimeInterval ;
    rdfs:label "2005" ;
    timeinterval:hasIntervalDate "2005" ;
    timeinterval:hasIntervalStartDate "2005-01-01" ;
    timeinterval:hasIntervalEndDate "2005-12-31" .

ex:Year2008 a owl:NamedIndividual , timeinterval:TimeInterval ;
    rdfs:label "2008" ;
    timeinterval:hasIntervalDate "2008" ;
    timeinterval:hasIntervalStartDate "2008-01-01" ;
    timeinterval:hasIntervalEndDate "2008-12-31" .

# Only one direction of each inverse pair is asserted: atTime/isTimeIndexFor, forEntity/hasTimeIndexedSetting. A reasoner adds the other.
