# The Description and Situation pattern in use: the right-of-way rule of the German road traffic
# act is a description, and tram line 4 crossing the Kaiserstrasse junction on 3 June 2023 is a
# situation that satisfies it. The rule uses the concept "vehicle with right of way", and that
# concept is what classifies the tram inside the situation it is set in.

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

ex:VehicleWithRightOfWay a owl:NamedIndividual , classification:Concept , description:Concept ;
    rdfs:label "the concept \"vehicle with right of way\"" ;
    classification:classifies ex:TramLine4 ;
    description:isConceptUsedIn ex:RightOfWayRule .

ex:RightOfWayRule a owl:NamedIndividual , description:Description ;
    rdfs:label "the right-of-way rule of the road traffic act (StVO section 8)" ;
    <http://www.ontologydesignpatterns.org/cp/owl/descriptionandsituation.owl#isSatisfiedBy> ex:KaiserstrasseCrossing ;
    description:usesConcept ex:VehicleWithRightOfWay .

ex:TramLine4 a owl:NamedIndividual , classification:Entity , situation:Entity ;
    rdfs:label "tram line 4 approaching the junction" ;
    classification:isClassifiedBy ex:VehicleWithRightOfWay ;
    situation:hasSetting ex:KaiserstrasseCrossing .

ex:KaiserstrasseCrossing a owl:NamedIndividual , situation:Situation ;
    rdfs:label "the Kaiserstrasse junction crossing of 3 June 2023" ;
    situation:isSettingFor ex:TramLine4 .

# Only one direction of each inverse pair is asserted: describes/isDescribedBy, isSatisfiedBy/satisfies. A reasoner adds the other.
