@prefix : <https://w3id.org/citydata/part2/v1/> .
@prefix cc: <http://creativecommons.org/ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix cdm1: <https://w3id.org/citydata/part1/v1/> .
@base <https://w3id.org/citydata/part2/v1/> .

<https://w3id.org/citydata/part2/v1/TransportInfrastructurePattern> rdf:type owl:Ontology ;
                                                                     owl:imports :InfrastructurePattern ;
                                                                     cc:license "http://creativecommons.org/licenses/by/4.0/" ;
                                                                     dcterms:creator "Kenneth Vaughn" ,
                                                                                     "Mark Fox" ,
                                                                                     "Megan Katsumi" ;
                                                                     dcterms:modified "2026-02-12"^^xsd:date ;
                                                                     dcterms:title "Information technology - City data model - Part 2: City level concepts - Transport Infrastructure pattern" ;
                                                                     dcterms:bibliographicCitation "ISO/IEC 5087-2:2024" ;
                                                                     vann:preferredNamespacePrefix "cdm2" ;
                                                                     vann:preferredNamespaceUri "https://w3id.org/citydata/part2/v1/" ;
                                                                     rdfs:seeAlso <https://www.iso.org/standard/80742.html> ;
                                                                     rdfs:comment "The prior version of this ontology used a different ontology IRI. This update remains semantically consistent with the version adopted as ISO 5087-2:2024." ;
                                                                     owl:priorVersion <https://standards.iso.org/iso-iec/5087/-2/ed-1/en/ontology/TransportInfrastructure/> ;
                                                                     owl:versionIRI <https://w3id.org/citydata/part2/v1/TransportInfrastructurePattern/r3.0/> ;
                                                                     owl:versionInfo "1.3.0" ;
                                                                     skos:definition "This ontology specifies the city-level concepts for the transport infrastructure pattern of the city data model. The Transportation Infrastructure pattern defines the concepts that are relevant in describing the physical transportation infrastructure and their characteristics. This includes the concepts of a Road, Bridge, and Tunnel. The Infrastructure Pattern is reused here, as these transportation structures are all defined as types of (subclasses) Infrastructure Elements." .

#################################################################
#    Object Properties
#################################################################

###  https://w3id.org/citydata/part2/v1/TransportInfrastructureObjectProperty
:TransportInfrastructureObjectProperty rdf:type owl:ObjectProperty ;
                                       rdfs:subPropertyOf :CityObjectProperty ;
                                       skos:definition "Added for organizational purposes, to identify object properties defined for the Transport Infrastructure Pattern in the City-level CDM ontology." .


###  https://w3id.org/citydata/part2/v1/networkType
:networkType rdf:type owl:ObjectProperty ;
             rdfs:subPropertyOf :TransportInfrastructureObjectProperty ;
             rdfs:range :Code ;
             rdfs:comment "This was originally defined for types of transport infrastructure but can be applied to other network types as well."@en ;
             skos:definition "Identifies the type of network." .


###  https://w3id.org/citydata/part2/v1/supports
:supports rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf :TransportInfrastructureObjectProperty ;
          rdfs:range :InfrastructureElement ;
          skos:definition "Identifies the infrastructure element that is supported (carried in or carried through) the current (domain) object." ;
          skos:example "A road segment can be supported by a tunnel or bridge." .


#################################################################
#    Classes
#################################################################

###  https://w3id.org/citydata/part2/v1/Bridge
:Bridge rdf:type owl:Class ;
        rdfs:subClassOf :InfrastructureElement ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty cdm1:hasProperPart ;
                          owl:allValuesFrom :BridgeSegment
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :supports ;
                          owl:allValuesFrom :TravelledWaySegment
                        ] ;
        skos:definition "A Bridge is a Infrastructure Element that enables travel over some obstacle or area. It may contain some Road Segments or Rail Line Segments." ;
        skos:note "A Bridge is identified as such by a governing body." .


###  https://w3id.org/citydata/part2/v1/BridgeSegment
:BridgeSegment rdf:type owl:Class ;
               rdfs:subClassOf :InfrastructureElement ,
                               [ rdf:type owl:Restriction ;
                                 owl:onProperty :supports ;
                                 owl:allValuesFrom :TravelledWaySegment
                               ] .


###  https://w3id.org/citydata/part2/v1/RailLine
:RailLine rdf:type owl:Class ;
          rdfs:subClassOf :TravelledWay ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty cdm1:aggregationOf ;
                            owl:allValuesFrom :RailLink
                          ] ;
          skos:definition "A Rail Line is a type of Travelled Way that describes a part of the physical transportation infrastructure that has been fitted with tracks to allow travel by trains and other sorts of rail vehicles. No distinction is made between Rail Line types at this level." .


###  https://w3id.org/citydata/part2/v1/RailLink
:RailLink rdf:type owl:Class ;
          rdfs:subClassOf :TravelledWayLink ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty cdm1:aggregateOf ;
                            owl:allValuesFrom :RailLine
                          ] ;
          skos:definition "A Rail Link is a type of Travelled Way Link that represents a length of RailLine." .


###  https://w3id.org/citydata/part2/v1/RailSegment
:RailSegment rdf:type owl:Class ;
             rdfs:subClassOf :TravelledWaySegment ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty cdm1:properPartOf ;
                               owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                               owl:onClass :RailLink
                             ] ;
             skos:definition "A Rail Segment is a type of Travelled Way Segment that represents part of a Rail Link." .


###  https://w3id.org/citydata/part2/v1/Road
:Road rdf:type owl:Class ;
      rdfs:subClassOf :TravelledWay ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty cdm1:aggregationOf ;
                        owl:allValuesFrom :RoadLink
                      ] ;
      skos:definition "A Road is a type of Travelled Way that describes a part of the physical transport infrastructure that has been improved to allow travel by motor vehicles, persons, bicycles, or similar methods of conveyance. road vehicles. No distinction is made between Road types at this level." .


###  https://w3id.org/citydata/part2/v1/RoadLink
:RoadLink rdf:type owl:Class ;
          rdfs:subClassOf :TravelledWayLink ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty cdm1:aggregateOf ;
                            owl:allValuesFrom :Road
                          ] ;
          skos:definition "A Road Link is a type of Travelled Way Link that represents a length of Road." .


###  https://w3id.org/citydata/part2/v1/RoadNetworkType
:RoadNetworkType rdf:type owl:Class ;
                 rdfs:subClassOf :InfrastructureThing ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :hasCode ;
                                   owl:allValuesFrom :Code
                                 ] .


###  https://w3id.org/citydata/part2/v1/RoadSegment
:RoadSegment rdf:type owl:Class ;
             rdfs:subClassOf :TravelledWaySegment ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty :networkType ;
                               owl:allValuesFrom :RoadNetworkType
                             ] ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty cdm1:properPartOf ;
                               owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                               owl:onClass :RoadLink
                             ] ;
             skos:definition "A Road Segment is a type of Travelled Way Segment that represents part of a Road Link." .


###  https://w3id.org/citydata/part2/v1/TransportInfrastructureThing
:TransportInfrastructureThing rdf:type owl:Class ;
                              rdfs:subClassOf :CityPatternThing ;
                              skos:definition "Added for organizational purposes, to identify classes defined in the Transport Infrastructure Pattern ontology." .


###  https://w3id.org/citydata/part2/v1/TravelledWay
:TravelledWay rdf:type owl:Class ;
              rdfs:subClassOf :InfrastructureElement ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty cdm1:aggregationOf ;
                                owl:allValuesFrom :TravelledWayLink
                              ] ;
              skos:definition "A Travelled Way is a type of Infrastructure Element that enables travel." .


###  https://w3id.org/citydata/part2/v1/TravelledWayLink
:TravelledWayLink rdf:type owl:Class ;
                  rdfs:subClassOf :InfrastructureElement ,
                                  [ rdf:type owl:Restriction ;
                                    owl:onProperty cdm1:aggregateOf ;
                                    owl:allValuesFrom :TravelledWay
                                  ] ;
                  skos:definition "A Travelled Way Link represents a continuous length of a Travelled Way and is a type of Infrastructure Element that connects two or more Travelled Way Segments." .


###  https://w3id.org/citydata/part2/v1/TravelledWaySegment
:TravelledWaySegment rdf:type owl:Class ;
                     rdfs:subClassOf :InfrastructureElement ,
                                     [ rdf:type owl:Restriction ;
                                       owl:onProperty cdm1:aggregateOf ;
                                       owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                       owl:onClass :TravelledWayLink
                                     ] ;
                     skos:definition "A Travelled Way Segment is a type of Infrastructure Element that represents part of a Travelled Way Link." .


###  https://w3id.org/citydata/part2/v1/Tunnel
:Tunnel rdf:type owl:Class ;
        rdfs:subClassOf :InfrastructureElement ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty cdm1:hasProperPart ;
                          owl:allValuesFrom :TunnelSegment
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :supports ;
                          owl:allValuesFrom :TravelledWaySegment
                        ] ;
        skos:definition "A Tunnel is a Infrastructure Element that enables travel through or underneath some obstacle or area. It may contain some Road or RailLine Segments." .


###  https://w3id.org/citydata/part2/v1/TunnelSegment
:TunnelSegment rdf:type owl:Class ;
               rdfs:subClassOf :InfrastructureElement ,
                               [ rdf:type owl:Restriction ;
                                 owl:onProperty :supports ;
                                 owl:allValuesFrom :TravelledWaySegment
                               ] ;
               skos:definition "A Tunnel Segment is a type of Infrastructure Element that represents part of a Tunnel." .
