@prefix brid: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/bridge#> .
@prefix con: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/construction#> .
@prefix core: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/core#> .
@prefix iso19150-2: <http://def.isotc211.org/iso19150/-2/2012/base#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/bridge> a owl:Ontology ;
    rdfs:label "Bridge"@en ;
    owl:imports <http://def.isotc211.org/iso19150/-2/2012/base>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/construction.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/core.ttl> ;
    skos:definition "The Bridge module supports representation of thematic and spatial aspects of bridges, bridge parts, bridge installations, and interior bridge structures."@en .

brid:AbstractBridge.address a owl:ObjectProperty ;
    rdfs:label "address"@en ;
    rdfs:domain brid:AbstractBridge ;
    rdfs:range core:Address ;
    skos:definition "Relates the addresses to the Bridge or BridgePart."@en .

brid:AbstractBridge.adeOfAbstractBridge a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractBridge"@en ;
    rdfs:domain brid:AbstractBridge ;
    rdfs:range brid:ADEOfAbstractBridge ;
    skos:definition "Augments AbstractBridge with properties defined in an ADE."@en .

brid:AbstractBridge.bridgeConstructiveElement a owl:ObjectProperty ;
    rdfs:label "bridgeConstructiveElement"@en ;
    rdfs:domain brid:AbstractBridge ;
    rdfs:range brid:BridgeConstructiveElement ;
    skos:definition "Relates the constructive elements to the Bridge or BridgePart."@en .

brid:AbstractBridge.bridgeFurniture a owl:ObjectProperty ;
    rdfs:label "bridgeFurniture"@en ;
    rdfs:domain brid:AbstractBridge ;
    rdfs:range brid:BridgeFurniture ;
    skos:definition "Relates the furniture objects to the Bridge or BridgePart."@en .

brid:AbstractBridge.bridgeInstallation a owl:ObjectProperty ;
    rdfs:label "bridgeInstallation"@en ;
    rdfs:domain brid:AbstractBridge ;
    rdfs:range brid:BridgeInstallation ;
    skos:definition "Relates the installation objects to the Bridge or BridgePart."@en .

brid:AbstractBridge.bridgeRoom a owl:ObjectProperty ;
    rdfs:label "bridgeRoom"@en ;
    rdfs:domain brid:AbstractBridge ;
    rdfs:range brid:BridgeRoom ;
    skos:definition "Relates the rooms to the Bridge or BridgePart."@en .

brid:AbstractBridge.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain brid:AbstractBridge ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the intended purposes of the Bridge or BridgePart."@en .

brid:AbstractBridge.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain brid:AbstractBridge ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the actual uses of the Bridge or BridgePart."@en .

brid:Bridge.adeOfBridge a owl:ObjectProperty ;
    rdfs:label "adeOfBridge"@en ;
    rdfs:domain brid:Bridge ;
    rdfs:range brid:ADEOfBridge ;
    skos:definition "Augments the Bridge with properties defined in an ADE."@en .

brid:Bridge.bridgePart a owl:ObjectProperty ;
    rdfs:label "bridgePart"@en ;
    rdfs:domain brid:Bridge ;
    rdfs:range brid:BridgePart ;
    skos:definition "Relates the bridge parts to the Bridge."@en .

brid:BridgeConstructiveElement.adeOfBridgeConstructiveElement a owl:ObjectProperty ;
    rdfs:label "adeOfBridgeConstructiveElement"@en ;
    rdfs:domain brid:BridgeConstructiveElement ;
    rdfs:range brid:ADEOfBridgeConstructiveElement ;
    skos:definition "Augments the BridgeConstructiveElement with properties defined in an ADE."@en .

brid:BridgeConstructiveElement.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain brid:BridgeConstructiveElement ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the intended purposes of the BridgeConstructiveElement."@en .

brid:BridgeConstructiveElement.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain brid:BridgeConstructiveElement ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the actual uses of the BridgeConstructiveElement."@en .

brid:BridgeFurniture.adeOfBridgeFurniture a owl:ObjectProperty ;
    rdfs:label "adeOfBridgeFurniture"@en ;
    rdfs:domain brid:BridgeFurniture ;
    rdfs:range brid:ADEOfBridgeFurniture ;
    skos:definition "Augments the BridgeFurniture with properties defined in an ADE."@en .

brid:BridgeFurniture.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain brid:BridgeFurniture ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the intended purposes of the BridgeFurniture."@en .

brid:BridgeFurniture.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain brid:BridgeFurniture ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the actual uses of the BridgeFurniture."@en .

brid:BridgeInstallation.adeOfBridgeInstallation a owl:ObjectProperty ;
    rdfs:label "adeOfBridgeInstallation"@en ;
    rdfs:domain brid:BridgeInstallation ;
    rdfs:range brid:ADEOfBridgeInstallation ;
    skos:definition "Augments the BridgeInstallation with properties defined in an ADE."@en .

brid:BridgeInstallation.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain brid:BridgeInstallation ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the intended purposes of the BridgeInstallation."@en .

brid:BridgeInstallation.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain brid:BridgeInstallation ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the actual uses of the BridgeInstallation."@en .

brid:BridgePart.adeOfBridgePart a owl:ObjectProperty ;
    rdfs:label "adeOfBridgePart"@en ;
    rdfs:domain brid:BridgePart ;
    rdfs:range brid:ADEOfBridgePart ;
    skos:definition "Augments the BridgePart with properties defined in an ADE."@en .

brid:BridgeRoom.adeOfBridgeRoom a owl:ObjectProperty ;
    rdfs:label "adeOfBridgeRoom"@en ;
    rdfs:domain brid:BridgeRoom ;
    rdfs:range brid:ADEOfBridgeRoom ;
    skos:definition "Augments the BridgeRoom with properties defined in an ADE."@en .

brid:BridgeRoom.boundary a owl:ObjectProperty ;
    rdfs:label "boundary"@en ;
    rdfs:domain brid:BridgeRoom ;
    rdfs:range core:AbstractThematicSurface ;
    skos:definition "Relates to the surfaces that bound the BridgeRoom. This relation is inherited from the Core module."@en .

brid:BridgeRoom.bridgeFurniture a owl:ObjectProperty ;
    rdfs:label "bridgeFurniture"@en ;
    rdfs:domain brid:BridgeRoom ;
    rdfs:range brid:BridgeFurniture ;
    skos:definition "Relates the furniture objects to the BridgeRoom."@en .

brid:BridgeRoom.bridgeInstallation a owl:ObjectProperty ;
    rdfs:label "bridgeInstallation"@en ;
    rdfs:domain brid:BridgeRoom ;
    rdfs:range brid:BridgeInstallation ;
    skos:definition "Relates to the installation objects to the BridgeRoom."@en .

brid:BridgeRoom.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain brid:BridgeRoom ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the intended purposes of the BridgeRoom."@en .

brid:BridgeRoom.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain brid:BridgeRoom ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the actual uses of the BridgeRoom."@en .

brid:ADEOfAbstractBridge a owl:Class ;
    rdfs:label "ADEOfAbstractBridge"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractBridge acts as a hook to define properties within an ADE that are to be added to AbstractBridge."@en .

brid:ADEOfBridge a owl:Class ;
    rdfs:label "ADEOfBridge"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfBridge acts as a hook to define properties within an ADE that are to be added to a Bridge."@en .

brid:ADEOfBridgeConstructiveElement a owl:Class ;
    rdfs:label "ADEOfBridgeConstructiveElement"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfBridgeConstructiveElement acts as a hook to define properties within an ADE that are to be added to a BridgeConstructiveElement."@en .

brid:ADEOfBridgeFurniture a owl:Class ;
    rdfs:label "ADEOfBridgeFurniture"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfBridgeFurniture acts as a hook to define properties within an ADE that are to be added to a BridgeFurniture."@en .

brid:ADEOfBridgeInstallation a owl:Class ;
    rdfs:label "ADEOfBridgeInstallation"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfBridgeInstallation acts as a hook to define properties within an ADE that are to be added to a BridgeInstallation."@en .

brid:ADEOfBridgePart a owl:Class ;
    rdfs:label "ADEOfBridgePart"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfBridgePart acts as a hook to define properties within an ADE that are to be added to a BridgePart."@en .

brid:ADEOfBridgeRoom a owl:Class ;
    rdfs:label "ADEOfBridgeRoom"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfBridgeRoom acts as a hook to define properties within an ADE that are to be added to a BridgeRoom."@en .

brid:AbstractBridge.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain brid:AbstractBridge ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the Bridge or BridgePart."@en .

brid:AbstractBridge.isMovable a owl:DatatypeProperty ;
    rdfs:label "isMovable"@en ;
    rdfs:domain brid:AbstractBridge ;
    rdfs:range xsd:boolean ;
    skos:definition "Indicates whether the Bridge or BridgePart can be moved to allow for watercraft to pass."@en .

brid:Bridge a owl:Class ;
    rdfs:label "Bridge"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom brid:ADEOfBridge ;
            owl:onProperty brid:Bridge.adeOfBridge ],
        [ a owl:Restriction ;
            owl:allValuesFrom brid:BridgePart ;
            owl:onProperty brid:Bridge.bridgePart ],
        brid:AbstractBridge ;
    owl:disjointWith brid:BridgePart ;
    skos:definition "A Bridge represents a structure that affords the passage of pedestrians, animals, vehicles, and service(s) above obstacles or between two points at a height above ground. [cf. ISO 6707-1]"@en .

brid:BridgeConstructiveElement.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain brid:BridgeConstructiveElement ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the BridgeConstructiveElement."@en .

brid:BridgeFurniture.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain brid:BridgeFurniture ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the BridgeFurniture."@en .

brid:BridgeInstallation.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain brid:BridgeInstallation ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the BridgeInstallation."@en .

brid:BridgeRoom.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain brid:BridgeRoom ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the BridgeRoom."@en .

brid:BridgePart a owl:Class ;
    rdfs:label "BridgePart"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom brid:ADEOfBridgePart ;
            owl:onProperty brid:BridgePart.adeOfBridgePart ],
        brid:AbstractBridge ;
    skos:definition "A BridgePart is a physical or functional subdivision of a Bridge. It would be considered a Bridge, if it were not part of a collection of other BridgeParts."@en .

brid:BridgeConstructiveElement a owl:Class ;
    rdfs:label "BridgeConstructiveElement"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom brid:ADEOfBridgeConstructiveElement ;
            owl:onProperty brid:BridgeConstructiveElement.adeOfBridgeConstructiveElement ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeConstructiveElement.usage ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeConstructiveElement.function ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeConstructiveElement.class ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty brid:BridgeConstructiveElement.class ],
        con:AbstractConstructiveElement ;
    skos:definition "A BridgeConstructiveElement is an element of a bridge which is essential from a structural point of view. Examples are pylons, anchorages, slabs, beams."@en .

brid:BridgeFurniture a owl:Class ;
    rdfs:label "BridgeFurniture"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom brid:ADEOfBridgeFurniture ;
            owl:onProperty brid:BridgeFurniture.adeOfBridgeFurniture ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeFurniture.usage ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeFurniture.function ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeFurniture.class ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty brid:BridgeFurniture.class ],
        con:AbstractFurniture ;
    skos:definition "A BridgeFurniture is an equipment for occupant use, usually not fixed to the bridge. [cf. ISO 6707-1]"@en .

brid:BridgeInstallation a owl:Class ;
    rdfs:label "BridgeInstallation"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom brid:ADEOfBridgeInstallation ;
            owl:onProperty brid:BridgeInstallation.adeOfBridgeInstallation ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeInstallation.usage ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeInstallation.function ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeInstallation.class ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty brid:BridgeInstallation.class ],
        con:AbstractInstallation ;
    skos:definition "A BridgeInstallation is a permanent part of a Bridge (inside and/or outside) which does not have the significance of a BridgePart. In contrast to BridgeConstructiveElements, a BridgeInstallation is not essential from a structural point of view. Examples are stairs, antennas or railways."@en .

brid:BridgeRoom a owl:Class ;
    rdfs:label "BridgeRoom"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom brid:BridgeFurniture ;
            owl:onProperty brid:BridgeRoom.bridgeFurniture ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeRoom.class ],
        [ a owl:Restriction ;
            owl:allValuesFrom brid:BridgeInstallation ;
            owl:onProperty brid:BridgeRoom.bridgeInstallation ],
        [ a owl:Restriction ;
            owl:allValuesFrom brid:ADEOfBridgeRoom ;
            owl:onProperty brid:BridgeRoom.adeOfBridgeRoom ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty brid:BridgeRoom.class ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeRoom.usage ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractThematicSurface ;
            owl:onProperty brid:BridgeRoom.boundary ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:BridgeRoom.function ],
        core:AbstractUnoccupiedSpace ;
    skos:definition "A BridgeRoom is a space within a Bridge or BridgePart intended for human occupancy (e.g. a place of work or recreation) and/or containment (storage) of animals or things. A BridgeRoom is bounded physically and/or virtually (e.g. by ClosureSurfaces or GenericSurfaces)."@en .

brid:AbstractBridge a owl:Class ;
    rdfs:label "AbstractBridge"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:AbstractBridge.class ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty brid:AbstractBridge.class ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange xsd:boolean ;
            owl:onProperty brid:AbstractBridge.isMovable ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:AbstractBridge.function ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:boolean ;
            owl:onProperty brid:AbstractBridge.isMovable ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty brid:AbstractBridge.usage ],
        [ a owl:Restriction ;
            owl:allValuesFrom brid:BridgeFurniture ;
            owl:onProperty brid:AbstractBridge.bridgeFurniture ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:Address ;
            owl:onProperty brid:AbstractBridge.address ],
        [ a owl:Restriction ;
            owl:allValuesFrom brid:ADEOfAbstractBridge ;
            owl:onProperty brid:AbstractBridge.adeOfAbstractBridge ],
        [ a owl:Restriction ;
            owl:allValuesFrom brid:BridgeInstallation ;
            owl:onProperty brid:AbstractBridge.bridgeInstallation ],
        [ a owl:Restriction ;
            owl:allValuesFrom brid:BridgeRoom ;
            owl:onProperty brid:AbstractBridge.bridgeRoom ],
        [ a owl:Restriction ;
            owl:allValuesFrom brid:BridgeConstructiveElement ;
            owl:onProperty brid:AbstractBridge.bridgeConstructiveElement ],
        con:AbstractConstruction ;
    skos:definition "AbstractBridge is an abstract superclass representing the common attributes and associations of the classes Bridge and BridgePart."@en .

