# The Colosseum is located in Rome, which is located in Italy, and a cat sits on a mat.
# hasLocation is transitive, so a reasoner concludes the Colosseum is located in Italy;
# and because a place is whatever something is located in, Rome and the mat are places.

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

ex:Colosseum a owl:NamedIndividual ;
    rdfs:label "the Colosseum" ;
    place:hasLocation ex:Rome .

ex:ArchOfConstantine a owl:NamedIndividual ;
    rdfs:label "the Arch of Constantine" ;
    place:hasLocation ex:Rome .

ex:Rome a owl:NamedIndividual , place:Place ;
    rdfs:label "Rome" ;
    place:hasLocation ex:Italy .

ex:Italy a owl:NamedIndividual , place:Place ;
    rdfs:label "Italy" .

ex:Cat a owl:NamedIndividual ;
    rdfs:label "the cat" ;
    place:hasLocation ex:Mat .

ex:Mat a owl:NamedIndividual , place:Place ;
    rdfs:label "the mat by the door" .

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