# The region pattern on the two cases its own documentation gives: the number of wheels of that
# truck, and the colour of my car. Each value is an individual Region rather than a literal, so
# two vehicles can share one - which is what makes "which vehicles are signal red?" answerable.

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

ex:TipperTruck a owl:NamedIndividual , owl:Thing ;
    rdfs:label "the tipper truck registered BD51 SMR" ;
    region:hasRegion ex:TwelveWheels , ex:SignalRed , ex:GrossWeight26Tonnes .

ex:OwnersCar a owl:NamedIndividual , owl:Thing ;
    rdfs:label "the owner's saloon car, parked beside the depot" ;
    region:hasRegion ex:FourWheels , ex:SignalRed .

ex:TwelveWheels a owl:NamedIndividual , region:Region ;
    rdfs:label "twelve, on the number-of-wheels dimension" ;
    region:hasRegionDataValue 12 .

ex:FourWheels a owl:NamedIndividual , region:Region ;
    rdfs:label "four, on the number-of-wheels dimension" ;
    region:hasRegionDataValue 4 .

ex:SignalRed a owl:NamedIndividual , region:Region ;
    rdfs:label "signal red, RAL 3001, on the colour dimension" ;
    rdfs:comment "Held by both vehicles. The region is the shared value, which is why it is an individual and not a string repeated twice." ;
    region:hasRegionDataValue "RAL 3001" .

ex:GrossWeight26Tonnes a owl:NamedIndividual , region:Region ;
    rdfs:label "26 tonnes, on the gross-vehicle-weight dimension" ;
    region:hasRegionDataValue 26.0 .

# Only one direction of each inverse pair is asserted: hasRegion/isRegionFor. A reasoner adds the other.
