BASE <https://w3id.org/itsdata/transport-network/v1/>
PREFIX : <https://w3id.org/itsdata/transport-network/v1/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX its-core: <https://w3id.org/itsdata/core/v1/>
PREFIX its-location: <https://w3id.org/itsdata/location/v1/>
PREFIX its-sh: <https://w3id.org/itsdata/shacl/v1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

:PublicTransportSystemSHACL
    a owl:Ontology ;
    dcterms:title "SHACL rules for ITS Public Transport System pattern"@en ;
    skos:definition "SHACL node shapes for public-transport-system classes, which inherit constraints from the ITS Location ontology."@en ;
    its-core:draft "true" ;
    dcterms:created "Draft" ;
    dcterms:modified "2026-05-05T21:43:49Z"^^xsd:dateTime ;
    owl:versionInfo "0.0.1" ;
    owl:versionIRI <PublicTransportSystemSHACL/r0.1> ;
    owl:imports its-location:LocationCoreSHACL ;
    owl:imports its-location:PointSHACL ;
    owl:imports its-location:LinearSHACL ;
     owl:imports :TransportNetworkSHACL .

:PublicTransportSystemThingShape
    a sh:NodeShape ;
    sh:targetClass :PublicTransportSystemThing ;
    sh:and ( its-location:FeatureShape ) .

:PublicTransportSystemShape
    a sh:NodeShape ;
    sh:targetClass :PublicTransportSystem ;
    sh:and ( its-location:LocationGroupShape ) .

:PublicTransportElementShape
    a sh:NodeShape ;
    sh:targetClass :PublicTransportElement ;
    sh:and ( its-location:FeatureShape ) .

:PublicTransportLineShape
    a sh:NodeShape ;
    sh:targetClass :PublicTransportLine ;
    sh:and ( its-location:LinearFeatureShape ) .

:PublicTransportRouteShape
    a sh:NodeShape ;
    sh:targetClass :PublicTransportRoute ;
    sh:and ( its-location:LinearFeatureShape ) .

:GroupOfLinesShape
    a sh:NodeShape ;
    sh:targetClass :GroupOfLines ;
    sh:and ( its-location:LocationGroupShape ) .

:RoutePointShape
    a sh:NodeShape ;
    sh:targetClass :RoutePoint ;
    sh:and ( its-location:PointFeatureShape ) .

:PointOnRouteShape
    a sh:NodeShape ;
    sh:targetClass :PointOnRoute ;
    sh:and ( its-location:PointFeatureShape ) .

