@prefix app: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/appearance#> .
@prefix bldg: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/building#> .
@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 dem: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/relief#> .
@prefix doc: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/Document/3.0/document#> .
@prefix dyn: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/dynamizer#> .
@prefix frn: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/cityfurniture#> .
@prefix gen: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/generics#> .
@prefix gmlowl: <http://www.opengis.net/ont/gml#> .
@prefix grp: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/cityobjectgroup#> .
@prefix iso19109: <http://def.isotc211.org/iso19109/2015/GeneralFeatureModel#> .
@prefix iso19111-2019: <http://def.isotc211.org/iso19111/2019/CoordinateReferenceSystems#> .
@prefix iso19150-2: <http://def.isotc211.org/iso19150/-2/2012/base#> .
@prefix luse: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/landuse#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sc: <http://shapechange.net/resources/ont/base#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix tran: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/transportation#> .
@prefix tun: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/tunnel#> .
@prefix veg: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/vegetation#> .
@prefix wksp: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/Workspace/3.0/workspace#> .
@prefix wtr: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/waterbody#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/core> a owl:Ontology ;
    rdfs:label "Core"@en ;
    owl:imports <http://def.isotc211.org/iso19150/-2/2012/base>,
        <http://shapechange.net/resources/ont/base>,
        <http://www.opengis.net/ont/gml>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/appearance.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/bridge.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/building.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/cityfurniture.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/cityobjectgroup.ttl>,
        <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/Document/3.0/document.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/dynamizer.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/generics.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/landuse.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/relief.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/transportation.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/tunnel.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/vegetation.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/waterbody.ttl>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/Workspace/3.0/workspace.ttl> ;
    skos:definition "The Core module defines the basic components of the CityGML conceptual model. This includes abstract base classes that define the core properties of more specialized thematic classes defined in other modules as well as concrete classes that are common to other modules, for example basic data types."@en .

core:IntegerBetween0and3 a owl:Class ;
    rdfs:label "IntegerBetween0and3"@en ;
    skos:definition "IntegerBetween0and3 is a basic type for integer values, which are greater or equal than 0 and less or equal than 3. The type is used for encoding the LOD number."@en .

core:AbstractAppearance.adeOfAbstractAppearance a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractAppearance"@en ;
    rdfs:domain core:AbstractAppearance ;
    rdfs:range core:ADEOfAbstractAppearance ;
    skos:definition "Augments AbstractAppearance with properties defined in an ADE."@en .

core:AbstractCityObject.adeOfAbstractCityObject a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractCityObject"@en ;
    rdfs:domain core:AbstractCityObject ;
    rdfs:range core:ADEOfAbstractCityObject ;
    skos:definition "Augments AbstractCityObject with properties defined in an ADE."@en .

core:AbstractCityObject.appearance a owl:ObjectProperty ;
    rdfs:label "appearance"@en ;
    rdfs:domain core:AbstractCityObject ;
    rdfs:range core:AbstractAppearance ;
    skos:definition "Relates appearances to the city object."@en .

core:AbstractCityObject.dynamizer a owl:ObjectProperty ;
    rdfs:label "dynamizer"@en ;
    rdfs:domain core:AbstractCityObject ;
    rdfs:range core:AbstractDynamizer ;
    skos:definition "Relates Dynamizer objects to the city object. These allow timeseries data to override static attribute values of the city object."@en .

core:AbstractCityObject.externalReference a owl:ObjectProperty ;
    rdfs:label "externalReference"@en ;
    rdfs:domain core:AbstractCityObject ;
    rdfs:range core:ExternalReference ;
    skos:definition "References external objects in other information systems that have a relation to the city object."@en .

core:AbstractCityObject.generalizesTo a owl:ObjectProperty ;
    rdfs:label "generalizesTo"@en ;
    rdfs:domain core:AbstractCityObject ;
    rdfs:range core:AbstractCityObject ;
    skos:definition "Relates generalized representations of the same real-world object in different Levels of Detail to the city object. The direction of this relation is from the city object to the corresponding generalized city objects."@en .

core:AbstractCityObject.genericAttribute a owl:ObjectProperty ;
    rdfs:label "genericAttribute"@en ;
    rdfs:domain core:AbstractCityObject ;
    rdfs:range core:AbstractGenericAttribute ;
    skos:definition "Relates generic attributes to the city object."@en .

core:AbstractCityObject.relatedTo a owl:ObjectProperty ;
    rdfs:label "relatedTo"@en ;
    rdfs:domain core:AbstractCityObject ;
    rdfs:range core:CityObjectRelation ;
    skos:definition "Relates other city objects to the city object. It also describes how the city objects are related to each other."@en .

core:AbstractDynamizer.adeOfAbstractDynamizer a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractDynamizer"@en ;
    rdfs:domain core:AbstractDynamizer ;
    rdfs:range core:ADEOfAbstractDynamizer ;
    skos:definition "Augments AbstractDynamizer with properties defined in an ADE."@en .

core:AbstractFeature.adeOfAbstractFeature a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractFeature"@en ;
    rdfs:domain core:AbstractFeature ;
    rdfs:range core:ADEOfAbstractFeature ;
    skos:definition "Augments AbstractFeature with properties defined in an ADE."@en .

core:AbstractFeature.name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:domain core:AbstractFeature ;
    rdfs:range xsd:Name ;
    skos:definition "Specifies the name of the feature."@en .

core:AbstractFeatureWithLifespan.adeOfAbstractFeatureWithLifespan a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractFeatureWithLifespan"@en ;
    rdfs:domain core:AbstractFeatureWithLifespan ;
    rdfs:range core:ADEOfAbstractFeatureWithLifespan ;
    skos:definition "Augments AbstractFeatureWithLifespan with properties defined in an ADE."@en .

core:AbstractLogicalSpace a owl:Class ;
    rdfs:label "AbstractLogicalSpace"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractLogicalSpace ;
            owl:onProperty core:AbstractLogicalSpace.adeOfAbstractLogicalSpace ],
        core:AbstractSpace ;
    owl:disjointWith core:AbstractPhysicalSpace ;
    skos:definition "AbstractLogicalSpace is the abstract superclass for all types of logical spaces. Logical space refers to spaces that are not bounded by physical surfaces but are defined according to thematic considerations."@en .

core:AbstractLogicalSpace.adeOfAbstractLogicalSpace a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractLogicalSpace"@en ;
    rdfs:domain core:AbstractLogicalSpace ;
    rdfs:range core:ADEOfAbstractLogicalSpace ;
    skos:definition "Augments AbstractLogicalSpace with properties defined in an ADE."@en .

core:AbstractOccupiedSpace.adeOfAbstractOccupiedSpace a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractOccupiedSpace"@en ;
    rdfs:domain core:AbstractOccupiedSpace ;
    rdfs:range core:ADEOfAbstractOccupiedSpace ;
    skos:definition "Augments AbstractOccupiedSpace with properties defined in an ADE."@en .

core:AbstractPhysicalSpace.adeOfAbstractPhysicalSpace a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractPhysicalSpace"@en ;
    rdfs:domain core:AbstractPhysicalSpace ;
    rdfs:range core:ADEOfAbstractPhysicalSpace ;
    skos:definition "Augments AbstractPhysicalSpace with properties defined in an ADE."@en .

core:AbstractPointCloud.adeOfAbstractPointCloud a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractPointCloud"@en ;
    rdfs:domain core:AbstractPointCloud ;
    rdfs:range core:ADEOfAbstractPointCloud ;
    skos:definition "Augments AbstractPointCloud with properties defined in an ADE."@en .

core:AbstractSpace.adeOfAbstractSpace a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractSpace"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range core:ADEOfAbstractSpace ;
    skos:definition "Augments AbstractSpace with properties defined in an ADE."@en .

core:AbstractSpace.area a owl:ObjectProperty ;
    rdfs:label "area"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range core:QualifiedArea ;
    skos:definition "Specifies qualified areas related to the space."@en .

core:AbstractSpace.boundary a owl:ObjectProperty ;
    rdfs:label "boundary"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range core:AbstractSpaceBoundary ;
    skos:definition "Relates to surfaces that bound the space."@en .

core:AbstractSpace.volume a owl:ObjectProperty ;
    rdfs:label "volume"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range core:QualifiedVolume ;
    skos:definition "Specifies qualified volumes related to the space."@en .

core:AbstractSpaceBoundary.adeOfAbstractSpaceBoundary a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractSpaceBoundary"@en ;
    rdfs:domain core:AbstractSpaceBoundary ;
    rdfs:range core:ADEOfAbstractSpaceBoundary ;
    skos:definition "Augments AbstractSpaceBoundary with properties defined in an ADE."@en .

core:AbstractThematicSurface.adeOfAbstractThematicSurface a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractThematicSurface"@en ;
    rdfs:domain core:AbstractThematicSurface ;
    rdfs:range core:ADEOfAbstractThematicSurface ;
    skos:definition "Augments AbstractThematicSurface with properties defined in an ADE."@en .

core:AbstractThematicSurface.area a owl:ObjectProperty ;
    rdfs:label "area"@en ;
    rdfs:domain core:AbstractThematicSurface ;
    rdfs:range core:QualifiedArea ;
    skos:definition "Specifies qualified areas related to the thematic surface."@en .

core:AbstractUnoccupiedSpace.adeOfAbstractUnoccupiedSpace a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractUnoccupiedSpace"@en ;
    rdfs:domain core:AbstractUnoccupiedSpace ;
    rdfs:range core:ADEOfAbstractUnoccupiedSpace ;
    skos:definition "Augments AbstractUnoccupiedSpace with properties defined in an ADE."@en .

core:AbstractVersion.adeOfAbstractVersion a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractVersion"@en ;
    rdfs:domain core:AbstractVersion ;
    rdfs:range core:ADEOfAbstractVersion ;
    skos:definition "Augments AbstractVersion with properties defined in an ADE."@en .

core:AbstractVersionTransition.adeOfAbstractVersionTransition a owl:ObjectProperty ;
    rdfs:label "adeOfAbstractVersionTransition"@en ;
    rdfs:domain core:AbstractVersionTransition ;
    rdfs:range core:ADEOfAbstractVersionTransition ;
    skos:definition "Augments AbstractVersionTransition with properties defined in an ADE."@en .

core:Address.adeOfAddress a owl:ObjectProperty ;
    rdfs:label "adeOfAddress"@en ;
    rdfs:domain core:Address ;
    rdfs:range core:ADEOfAddress ;
    skos:definition "Augments the Address with properties defined in an ADE."@en .

core:CityModel.adeOfCityModel a owl:ObjectProperty ;
    rdfs:label "adeOfCityModel"@en ;
    rdfs:domain core:CityModel ;
    rdfs:range core:ADEOfCityModel ;
    skos:definition "Augments the CityModel with properties defined in an ADE."@en .

core:CityModel.cityModelMember_appearanceMember a owl:ObjectProperty ;
    rdfs:label "cityModelMember.appearanceMember"@en ;
    rdfs:domain core:CityModel ;
    rdfs:range core:AbstractAppearance ;
    skos:definition "Specifies the appearances of the CityModel."@en .

core:CityModel.cityModelMember_cityObjectMember a owl:ObjectProperty ;
    rdfs:label "cityModelMember.cityObjectMember"@en ;
    rdfs:domain core:CityModel ;
    rdfs:range core:AbstractCityObject ;
    skos:definition "Specifies the city objects that are part of the CityModel."@en .

core:CityModel.cityModelMember_featureMember a owl:ObjectProperty ;
    rdfs:label "cityModelMember.featureMember"@en ;
    rdfs:domain core:CityModel ;
    rdfs:range core:AbstractFeature ;
    skos:definition "Specifies the feature objects that are part of the CityModel. It allows to include objects that are not derived from a class defined in the CityGML conceptual model, but from the ISO 19109 class AnyFeature."@en .

core:CityModel.cityModelMember_versionMember a owl:ObjectProperty ;
    rdfs:label "cityModelMember.versionMember"@en ;
    rdfs:domain core:CityModel ;
    rdfs:range core:AbstractVersion ;
    skos:definition "Specifies the different versions of the CityModel."@en .

core:CityModel.cityModelMember_versionTransitionMember a owl:ObjectProperty ;
    rdfs:label "cityModelMember.versionTransitionMember"@en ;
    rdfs:domain core:CityModel ;
    rdfs:range core:AbstractVersionTransition ;
    skos:definition "Specifies the transitions between the different versions of the CityModel."@en .

core:CityObjectRelation.genericAttribute a owl:ObjectProperty ;
    rdfs:label "genericAttribute"@en ;
    rdfs:domain core:CityObjectRelation ;
    rdfs:range core:AbstractGenericAttribute ;
    skos:definition "Relates generic attributes to the CityObjectRelation."@en .

core:ClosureSurface.adeOfClosureSurface a owl:ObjectProperty ;
    rdfs:label "adeOfClosureSurface"@en ;
    rdfs:domain core:ClosureSurface ;
    rdfs:range core:ADEOfClosureSurface ;
    skos:definition "Augments the ClosureSurface with properties defined in an ADE."@en .

core:DoubleBetween0and1List a owl:Class ;
    rdfs:label "DoubleBetween0and1List"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:DoubleBetween0and1 ;
            owl:onProperty core:DoubleBetween0and1List.list ],
        [ a owl:Restriction ;
            owl:onClass core:DoubleBetween0and1 ;
            owl:onProperty core:DoubleBetween0and1List.list ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] ;
    skos:definition "DoubleBetween0and1List is a basic type that represents a list of double values greater or equal than 0 and less or equal than 1. The type is used for color encoding, for example."@en .

core:ImplicitGeometry.appearance a owl:ObjectProperty ;
    rdfs:label "appearance"@en ;
    rdfs:domain core:ImplicitGeometry ;
    rdfs:range core:AbstractAppearance ;
    skos:definition "Relates appearances to the ImplicitGeometry."@en .

core:TransformationMatrix2x2 a owl:Class ;
    rdfs:label "TransformationMatrix2x2"@en ;
    rdfs:subClassOf core:DoubleList ;
    skos:definition "TransformationMatrix2x2 is a 2 by 2 matrix represented as a list of four double values in row major order."@en .

core:TransformationMatrix3x4 a owl:Class ;
    rdfs:label "TransformationMatrix3x4"@en ;
    rdfs:subClassOf core:DoubleList ;
    skos:definition "TransformationMatrix3x4 is a 3 by 4 matrix represented as a list of twelve double values in row major order."@en .

core:ADEOfAbstractAppearance a owl:Class ;
    rdfs:label "ADEOfAbstractAppearance"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractAppearance acts as a hook to define properties within an ADE that are to be added to AbstractAppearance."@en .

core:ADEOfAbstractCityObject a owl:Class ;
    rdfs:label "ADEOfAbstractCityObject"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractCityObject acts as a hook to define properties within an ADE that are to be added to AbstractCityObject."@en .

core:ADEOfAbstractDynamizer a owl:Class ;
    rdfs:label "ADEOfAbstractDynamizer"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractDynamizer acts as a hook to define properties within an ADE that are to be added to AbstractDynamizer."@en .

core:ADEOfAbstractFeature a owl:Class ;
    rdfs:label "ADEOfAbstractFeature"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractFeature acts as a hook to define properties within an ADE that are to be added to AbstractFeature."@en .

core:ADEOfAbstractFeatureWithLifespan a owl:Class ;
    rdfs:label "ADEOfAbstractFeatureWithLifespan"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractFeatureWithLifespan acts as a hook to define properties within an ADE that are to be added to AbstractFeatureWithLifespan."@en .

core:ADEOfAbstractLogicalSpace a owl:Class ;
    rdfs:label "ADEOfAbstractLogicalSpace"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractLogicalSpace acts as a hook to define properties within an ADE that are to be added to AbstractLogicalSpace."@en .

core:ADEOfAbstractOccupiedSpace a owl:Class ;
    rdfs:label "ADEOfAbstractOccupiedSpace"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractOccupiedSpace acts as a hook to define properties within an ADE that are to be added to AbstractOccupiedSpace."@en .

core:ADEOfAbstractPhysicalSpace a owl:Class ;
    rdfs:label "ADEOfAbstractPhysicalSpace"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractPhysicalSpace acts as a hook to define properties within an ADE that are to be added to AbstractPhysicalSpace."@en .

core:ADEOfAbstractPointCloud a owl:Class ;
    rdfs:label "ADEOfAbstractPointCloud"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractPointCloud acts as a hook to define properties within an ADE that are to be added to AbstractPointCloud."@en .

core:ADEOfAbstractSpace a owl:Class ;
    rdfs:label "ADEOfAbstractSpace"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractSpace acts as a hook to define properties within an ADE that are to be added to AbstractSpace."@en .

core:ADEOfAbstractSpaceBoundary a owl:Class ;
    rdfs:label "ADEOfAbstractSpaceBoundary"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractSpaceBoundary acts as a hook to define properties within an ADE that are to be added to AbstractSpaceBoundary."@en .

core:ADEOfAbstractThematicSurface a owl:Class ;
    rdfs:label "ADEOfAbstractThematicSurface"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractThematicSurface acts as a hook to define properties within an ADE that are to be added to AbstractThematicSurface."@en .

core:ADEOfAbstractUnoccupiedSpace a owl:Class ;
    rdfs:label "ADEOfAbstractUnoccupiedSpace"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractUnoccupiedSpace acts as a hook to define properties within an ADE that are to be added to AbstractUnoccupiedSpace."@en .

core:ADEOfAbstractVersion a owl:Class ;
    rdfs:label "ADEOfAbstractVersion"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractVersion acts as a hook to define properties within an ADE that are to be added to AbstractVersion."@en .

core:ADEOfAbstractVersionTransition a owl:Class ;
    rdfs:label "ADEOfAbstractVersionTransition"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAbstractVersionTransition acts as a hook to define properties within an ADE that are to be added to AbstractVersionTransition."@en .

core:ADEOfAddress a owl:Class ;
    rdfs:label "ADEOfAddress"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfAddress acts as a hook to define properties within an ADE that are to be added to an Address."@en .

core:ADEOfCityModel a owl:Class ;
    rdfs:label "ADEOfCityModel"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfCityModel acts as a hook to define properties within an ADE that are to be added to a CityModel."@en .

core:ADEOfClosureSurface a owl:Class ;
    rdfs:label "ADEOfClosureSurface"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfClosureSurface acts as a hook to define properties within an ADE that are to be added to a ClosureSurface."@en .

core:AbstractCityObject.relativeToTerrain a owl:DatatypeProperty ;
    rdfs:label "relativeToTerrain"@en ;
    rdfs:domain core:AbstractCityObject ;
    rdfs:range core:RelativeToTerrain ;
    skos:definition "Describes the vertical position of the city object relative to the surrounding terrain."@en .

core:AbstractCityObject.relativeToWater a owl:DatatypeProperty ;
    rdfs:label "relativeToWater"@en ;
    rdfs:domain core:AbstractCityObject ;
    rdfs:range core:RelativeToWater ;
    skos:definition "Describes the vertical position of the city object relative to the surrounding water surface."@en .

core:AbstractFeature.description a owl:DatatypeProperty ;
    rdfs:label "description"@en ;
    rdfs:domain core:AbstractFeature ;
    rdfs:range xsd:string ;
    skos:definition "Provides further information on the feature."@en .

core:AbstractFeature.featureID a owl:ObjectProperty ;
    rdfs:label "featureID"@en ;
    rdfs:domain core:AbstractFeature ;
    rdfs:range core:ID ;
    skos:definition "Specifies the unique identifier of the feature that is valid in the instance document within which it occurs."@en .

core:AbstractFeature.identifier a owl:ObjectProperty ;
    rdfs:label "identifier"@en ;
    rdfs:domain core:AbstractFeature ;
    rdfs:range rdfs:Resource ;
    skos:definition "Specifies the unique identifier of the feature that is valid globally."@en .

core:AbstractFeatureWithLifespan.creationDate a owl:DatatypeProperty ;
    rdfs:label "creationDate"@en ;
    rdfs:domain core:AbstractFeatureWithLifespan ;
    rdfs:range xsd:dateTime ;
    skos:definition "Indicates the date at which a CityGML feature was added to the CityModel."@en .

core:AbstractFeatureWithLifespan.terminationDate a owl:DatatypeProperty ;
    rdfs:label "terminationDate"@en ;
    rdfs:domain core:AbstractFeatureWithLifespan ;
    rdfs:range xsd:dateTime ;
    skos:definition "Indicates the date at which a CityGML feature was removed from the CityModel."@en .

core:AbstractFeatureWithLifespan.validFrom a owl:DatatypeProperty ;
    rdfs:label "validFrom"@en ;
    rdfs:domain core:AbstractFeatureWithLifespan ;
    rdfs:range xsd:dateTime ;
    skos:definition "Indicates the date at which a CityGML feature started to exist in the real world."@en .

core:AbstractFeatureWithLifespan.validTo a owl:DatatypeProperty ;
    rdfs:label "validTo"@en ;
    rdfs:domain core:AbstractFeatureWithLifespan ;
    rdfs:range xsd:dateTime ;
    skos:definition "Indicates the date at which a CityGML feature ended to exist in the real world."@en .

core:AbstractOccupiedSpace.lod1ImplicitRepresentation a owl:ObjectProperty ;
    rdfs:label "lod1ImplicitRepresentation"@en ;
    rdfs:domain core:AbstractOccupiedSpace ;
    rdfs:range core:ImplicitGeometry ;
    skos:definition "Relates to an implicit geometry that represents the occupied space in Level of Detail 1."@en .

core:AbstractOccupiedSpace.lod2ImplicitRepresentation a owl:ObjectProperty ;
    rdfs:label "lod2ImplicitRepresentation"@en ;
    rdfs:domain core:AbstractOccupiedSpace ;
    rdfs:range core:ImplicitGeometry ;
    skos:definition "Relates to an implicit geometry that represents the occupied space in Level of Detail 2."@en .

core:AbstractOccupiedSpace.lod3ImplicitRepresentation a owl:ObjectProperty ;
    rdfs:label "lod3ImplicitRepresentation"@en ;
    rdfs:domain core:AbstractOccupiedSpace ;
    rdfs:range core:ImplicitGeometry ;
    skos:definition "Relates to an implicit geometry that represents the occupied space in Level of Detail 3."@en .

core:AbstractPhysicalSpace.lod1TerrainIntersectionCurve a owl:ObjectProperty ;
    rdfs:label "lod1TerrainIntersectionCurve"@en ;
    rdfs:domain core:AbstractPhysicalSpace ;
    rdfs:range gmlowl:MultiCurve ;
    skos:definition "Relates to a 3D MultiCurve geometry that represents the terrain intersection curve of the physical space in Level of Detail 1."@en .

core:AbstractPhysicalSpace.lod2TerrainIntersectionCurve a owl:ObjectProperty ;
    rdfs:label "lod2TerrainIntersectionCurve"@en ;
    rdfs:domain core:AbstractPhysicalSpace ;
    rdfs:range gmlowl:MultiCurve ;
    skos:definition "Relates to a 3D MultiCurve geometry that represents the terrain intersection curve of the physical space in Level of Detail 2."@en .

core:AbstractPhysicalSpace.lod3TerrainIntersectionCurve a owl:ObjectProperty ;
    rdfs:label "lod3TerrainIntersectionCurve"@en ;
    rdfs:domain core:AbstractPhysicalSpace ;
    rdfs:range gmlowl:MultiCurve ;
    skos:definition "Relates to a 3D MultiCurve geometry that represents the terrain intersection curve of the physical space in Level of Detail 3."@en .

core:AbstractPhysicalSpace.pointCloud a owl:ObjectProperty ;
    rdfs:label "pointCloud"@en ;
    rdfs:domain core:AbstractPhysicalSpace ;
    rdfs:range core:AbstractPointCloud ;
    skos:definition "Relates to a 3D PointCloud that represents the physical space."@en .

core:AbstractSpace.lod0MultiCurve a owl:ObjectProperty ;
    rdfs:label "lod0MultiCurve"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range gmlowl:MultiCurve ;
    skos:definition "Relates to a 3D MultiCurve geometry that represents the space in Level of Detail 0."@en .

core:AbstractSpace.lod0MultiSurface a owl:ObjectProperty ;
    rdfs:label "lod0MultiSurface"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range gmlowl:MultiSurface ;
    skos:definition "Relates to a 3D MultiSurface geometry that represents the space in Level of Detail 0."@en .

core:AbstractSpace.lod0Point a owl:ObjectProperty ;
    rdfs:label "lod0Point"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range gmlowl:Point ;
    skos:definition "Relates to a 3D Point geometry that represents the space in Level of Detail 0."@en .

core:AbstractSpace.lod1Solid a owl:ObjectProperty ;
    rdfs:label "lod1Solid"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range gmlowl:Solid ;
    skos:definition "Relates to a 3D Solid geometry that represents the space in Level of Detail 1."@en .

core:AbstractSpace.lod2MultiCurve a owl:ObjectProperty ;
    rdfs:label "lod2MultiCurve"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range gmlowl:MultiCurve ;
    skos:definition "Relates to a 3D MultiCurve geometry that represents the space in Level of Detail 2."@en .

core:AbstractSpace.lod2MultiSurface a owl:ObjectProperty ;
    rdfs:label "lod2MultiSurface"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range gmlowl:MultiSurface ;
    skos:definition "Relates to a 3D MultiSurface geometry that represents the space in Level of Detail 2."@en .

core:AbstractSpace.lod2Solid a owl:ObjectProperty ;
    rdfs:label "lod2Solid"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range gmlowl:Solid ;
    skos:definition "Relates to a 3D Solid geometry that represents the space in Level of Detail 2."@en .

core:AbstractSpace.lod3MultiCurve a owl:ObjectProperty ;
    rdfs:label "lod3MultiCurve"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range gmlowl:MultiCurve ;
    skos:definition "Relates to a 3D MultiCurve geometry that represents the space in Level of Detail 3."@en .

core:AbstractSpace.lod3MultiSurface a owl:ObjectProperty ;
    rdfs:label "lod3MultiSurface"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range gmlowl:MultiSurface ;
    skos:definition "Relates to a 3D MultiSurface geometry that represents the space in Level of Detail 3."@en .

core:AbstractSpace.lod3Solid a owl:ObjectProperty ;
    rdfs:label "lod3Solid"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range gmlowl:Solid ;
    skos:definition "Relates to a 3D Solid geometry that represents the space in Level of Detail 3."@en .

core:AbstractSpace.spaceType a owl:DatatypeProperty ;
    rdfs:label "spaceType"@en ;
    rdfs:domain core:AbstractSpace ;
    rdfs:range core:SpaceType ;
    skos:definition "Specifies the degree of openness of a space."@en .

core:AbstractThematicSurface.lod0MultiCurve a owl:ObjectProperty ;
    rdfs:label "lod0MultiCurve"@en ;
    rdfs:domain core:AbstractThematicSurface ;
    rdfs:range gmlowl:MultiCurve ;
    skos:definition "Relates to a 3D MultiCurve geometry that represents the thematic surface in Level of Detail 0."@en .

core:AbstractThematicSurface.lod0MultiSurface a owl:ObjectProperty ;
    rdfs:label "lod0MultiSurface"@en ;
    rdfs:domain core:AbstractThematicSurface ;
    rdfs:range gmlowl:MultiSurface ;
    skos:definition "Relates to a 3D MultiSurface geometry that represents the thematic surface in Level of Detail 0."@en .

core:AbstractThematicSurface.lod1MultiSurface a owl:ObjectProperty ;
    rdfs:label "lod1MultiSurface"@en ;
    rdfs:domain core:AbstractThematicSurface ;
    rdfs:range gmlowl:MultiSurface ;
    skos:definition "Relates to a 3D MultiSurface geometry that represents the thematic surface in Level of Detail 1."@en .

core:AbstractThematicSurface.lod2MultiSurface a owl:ObjectProperty ;
    rdfs:label "lod2MultiSurface"@en ;
    rdfs:domain core:AbstractThematicSurface ;
    rdfs:range gmlowl:MultiSurface ;
    skos:definition "Relates to a 3D MultiSurface geometry that represents the thematic surface in Level of Detail 2."@en .

core:AbstractThematicSurface.lod3MultiSurface a owl:ObjectProperty ;
    rdfs:label "lod3MultiSurface"@en ;
    rdfs:domain core:AbstractThematicSurface ;
    rdfs:range gmlowl:MultiSurface ;
    skos:definition "Relates to a 3D MultiSurface geometry that represents the thematic surface in Level of Detail 3."@en .

core:AbstractThematicSurface.pointCloud a owl:ObjectProperty ;
    rdfs:label "pointCloud"@en ;
    rdfs:domain core:AbstractThematicSurface ;
    rdfs:range core:AbstractPointCloud ;
    skos:definition "Relates to a 3D PointCloud that represents the thematic surface."@en .

core:AbstractUnoccupiedSpace a owl:Class ;
    rdfs:label "AbstractUnoccupiedSpace"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractUnoccupiedSpace ;
            owl:onProperty core:AbstractUnoccupiedSpace.adeOfAbstractUnoccupiedSpace ],
        core:AbstractPhysicalSpace ;
    skos:definition "AbstractUnoccupiedSpace is the abstract superclass for all types of physically unoccupied spaces. Unoccupied space refers to spaces that are entirely or mostly free of matter."@en .

core:Address.multiPoint a owl:ObjectProperty ;
    rdfs:label "multiPoint"@en ;
    rdfs:domain core:Address ;
    rdfs:range gmlowl:MultiPoint ;
    skos:definition "Relates to the MultiPoint geometry of the Address. The geometry relates the address spatially to a city object."@en .

core:Address.xalAddress a owl:ObjectProperty ;
    rdfs:label "xalAddress"@en ;
    rdfs:domain core:Address ;
    rdfs:range core:XALAddress ;
    skos:definition "Relates an OASIS address object to the Address."@en .

core:CityModel.engineeringCRS a owl:ObjectProperty ;
    rdfs:label "engineeringCRS"@en ;
    rdfs:domain core:CityModel ;
    rdfs:range iso19111-2019:EngineeringCRS ;
    skos:definition "Specifies the local engineering coordinate reference system of the CityModel that can be provided inline the CityModel instead of referencing a well-known CRS definition. The definition of an engineering CRS requires an anchor point which relates the origin of the local coordinate system to a point on the earth’s surface in order to facilitate the transformation of coordinates from the local engineering CRS."@en .

core:CityObjectRelation.relatedTo a owl:ObjectProperty ;
    rdfs:label "relatedTo"@en ;
    rdfs:domain core:CityObjectRelation ;
    rdfs:range core:AbstractCityObject ;
    skos:definition "Relates other city objects to the city object. It also describes how the city objects are related to each other."@en .

core:CityObjectRelation.relationType a owl:ObjectProperty ;
    rdfs:label "relationType"@en ;
    rdfs:domain core:CityObjectRelation ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the CityObjectRelation."@en .

core:ClosureSurface a owl:Class ;
    rdfs:label "ClosureSurface"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfClosureSurface ;
            owl:onProperty core:ClosureSurface.adeOfClosureSurface ],
        core:AbstractThematicSurface ;
    skos:definition "ClosureSurface is a special type of thematic surface used to close holes in volumetric objects. Closure surfaces are virtual (non-physical) surfaces."@en .

core:DoubleBetween0and1List.list a owl:ObjectProperty ;
    rdfs:label "list"@en ;
    rdfs:domain core:DoubleBetween0and1List ;
    rdfs:range core:DoubleBetween0and1 ;
    skos:definition "Specifies the list of double values."@en .

core:DoubleList.list a owl:DatatypeProperty ;
    rdfs:label "list"@en ;
    rdfs:domain core:DoubleList ;
    rdfs:range xsd:double ;
    skos:definition "Specifies the list of double values."@en .

core:DoubleOrNilReasonList.list_nilReason_URI a owl:DatatypeProperty ;
    rdfs:label "list.nilReason.URI"@en ;
    rdfs:domain core:DoubleOrNilReasonList ;
    rdfs:range xsd:anyURI ;
    skos:definition "Specifies a URI that points to a resource that describes the nil reason."@en .

core:DoubleOrNilReasonList.list_nilReason_nilReasonEnumeration a owl:ObjectProperty ;
    rdfs:label "list.nilReason.nilReasonEnumeration"@en ;
    rdfs:domain core:DoubleOrNilReasonList ;
    rdfs:range owl:Class ;
    skos:definition "Indicates a nil reason that is provided in a code list."@en .

core:DoubleOrNilReasonList.list_value a owl:DatatypeProperty ;
    rdfs:label "list.value"@en ;
    rdfs:domain core:DoubleOrNilReasonList ;
    rdfs:range xsd:double ;
    skos:definition "Specifies the double value."@en .

core:ExternalReference.informationSystem a owl:DatatypeProperty ;
    rdfs:label "informationSystem"@en ;
    rdfs:domain core:ExternalReference ;
    rdfs:range xsd:anyURI ;
    skos:definition "Specifies the URI that points to the external information system."@en .

core:ExternalReference.relationType a owl:DatatypeProperty ;
    rdfs:label "relationType"@en ;
    rdfs:domain core:ExternalReference ;
    rdfs:range xsd:anyURI ;
    skos:definition "Specifies a URI that additionally qualifies the ExternalReference. The URI can point to a definition from an external ontology (e.g. the sameAs relation from OWL) and allows for mapping the ExternalReference to RDF triples."@en .

core:ExternalReference.targetResource a owl:DatatypeProperty ;
    rdfs:label "targetResource"@en ;
    rdfs:domain core:ExternalReference ;
    rdfs:range xsd:anyURI ;
    skos:definition "Specifies the URI that points to the object in the external information system."@en .

core:ImplicitGeometry.libraryObject a owl:DatatypeProperty ;
    rdfs:label "libraryObject"@en ;
    rdfs:domain core:ImplicitGeometry ;
    rdfs:range xsd:anyURI ;
    skos:definition "Specifies the URI that points to the prototypical geometry stored in an external file."@en .

core:ImplicitGeometry.mimeType a owl:ObjectProperty ;
    rdfs:label "mimeType"@en ;
    rdfs:domain core:ImplicitGeometry ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the MIME type of the external file that stores the prototypical geometry."@en .

core:ImplicitGeometry.objectID a owl:ObjectProperty ;
    rdfs:label "objectID"@en ;
    rdfs:domain core:ImplicitGeometry ;
    rdfs:range core:ID ;
    skos:definition "Specifies the unique identifier of the ImplicitGeometry."@en .

core:ImplicitGeometry.referencePoint a owl:ObjectProperty ;
    rdfs:label "referencePoint"@en ;
    rdfs:domain core:ImplicitGeometry ;
    rdfs:range gmlowl:Point ;
    skos:definition "Relates to a 3D Point geometry that represents the base point of the object in the world coordinate system."@en .

core:ImplicitGeometry.relativeGeometry a owl:ObjectProperty ;
    rdfs:label "relativeGeometry"@en ;
    rdfs:domain core:ImplicitGeometry ;
    rdfs:range gmlowl:AbstractGeometry ;
    skos:definition "Relates to a prototypical geometry in a local coordinate system stored inline with the city model."@en .

core:ImplicitGeometry.transformationMatrix a owl:ObjectProperty ;
    rdfs:label "transformationMatrix"@en ;
    rdfs:domain core:ImplicitGeometry ;
    rdfs:range core:TransformationMatrix4x4 ;
    skos:definition "Specifies the mathematical transformation (translation, rotation, and scaling) between the prototypical geometry and the actual spatial position of the object."@en .

core:Occupancy.interval a owl:ObjectProperty ;
    rdfs:label "interval"@en ;
    rdfs:domain core:Occupancy ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the time period the occupants are contained by a feature."@en .

core:Occupancy.numberOfOccupants a owl:DatatypeProperty ;
    rdfs:label "numberOfOccupants"@en ;
    rdfs:domain core:Occupancy ;
    rdfs:range xsd:integer ;
    skos:definition "Indicates the number of occupants contained by a feature."@en .

core:Occupancy.occupantType a owl:ObjectProperty ;
    rdfs:label "occupantType"@en ;
    rdfs:domain core:Occupancy ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the occupants that are contained by a feature."@en .

core:QualifiedArea.area a owl:DatatypeProperty ;
    rdfs:label "area"@en ;
    rdfs:domain core:QualifiedArea ;
    rdfs:range sc:Measure ;
    skos:definition "Specifies the value of the QualifiedArea."@en .

core:QualifiedArea.typeOfArea a owl:ObjectProperty ;
    rdfs:label "typeOfArea"@en ;
    rdfs:domain core:QualifiedArea ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the QualifiedArea."@en .

core:QualifiedVolume.typeOfVolume a owl:ObjectProperty ;
    rdfs:label "typeOfVolume"@en ;
    rdfs:domain core:QualifiedVolume ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the QualifiedVolume."@en .

core:QualifiedVolume.volume a owl:DatatypeProperty ;
    rdfs:label "volume"@en ;
    rdfs:domain core:QualifiedVolume ;
    rdfs:range sc:Measure ;
    skos:definition "Specifies the value of the QualifiedVolume."@en .

core:DoubleBetween0and1 a owl:Class ;
    rdfs:label "DoubleBetween0and1"@en ;
    skos:definition "DoubleBetween0and1 is a basic type for values, which are greater or equal than 0 and less or equal than 1. The type is used for color encoding, for example."@en .

core:DoubleOrNilReasonList a owl:Class ;
    rdfs:label "DoubleOrNilReasonList"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty core:DoubleOrNilReasonList.list_nilReason_URI ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:anyURI ;
            owl:onProperty core:DoubleOrNilReasonList.list_nilReason_URI ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty core:DoubleOrNilReasonList.list_nilReason_nilReasonEnumeration ],
        [ a owl:Restriction ;
            owl:onClass owl:Class ;
            owl:onProperty core:DoubleOrNilReasonList.list_nilReason_nilReasonEnumeration ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:double ;
            owl:onProperty core:DoubleOrNilReasonList.list_value ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:double ;
            owl:onProperty core:DoubleOrNilReasonList.list_value ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] ;
    skos:definition "DoubleOrNilReasonList is a basic type that represents a list of double values and/or nil reasons."@en .

core:Occupancy a owl:Class ;
    rdfs:label "Occupancy"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty core:Occupancy.occupantType ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty core:Occupancy.occupantType ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty core:Occupancy.interval ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty core:Occupancy.interval ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:integer ;
            owl:onProperty core:Occupancy.numberOfOccupants ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:integer ;
            owl:onProperty core:Occupancy.numberOfOccupants ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] ;
    skos:definition "Occupancy is an application-dependent indication of what is contained by a feature."@en .

core:RelativeToTerrain a rdfs:Datatype ;
    rdfs:label "RelativeToTerrain"@en ;
    owl:equivalentClass [ a rdfs:Datatype ;
            owl:oneOf ( "entirelyAboveTerrain" "substantiallyAboveTerrain" "substantiallyAboveAndBelowTerrain" "substantiallyBelowTerrain" "entirelyBelowTerrain" ) ] ;
    skos:definition "RelativeToTerrain enumerates the spatial relations of a city object relative to terrain in a qualitative way."@en .

core:RelativeToWater a rdfs:Datatype ;
    rdfs:label "RelativeToWater"@en ;
    owl:equivalentClass [ a rdfs:Datatype ;
            owl:oneOf ( "entirelyAboveWaterSurface" "substantiallyAboveWaterSurface" "substantiallyAboveAndBelowWaterSurface" "substantiallyBelowWaterSurface" "entirelyBelowWaterSurface" "temporarilyAboveAndBelowWaterSurface" ) ] ;
    skos:definition "RelativeToWater enumerates the spatial relations of a city object relative to the water surface in a qualitative way."@en .

core:SpaceType a rdfs:Datatype ;
    rdfs:label "SpaceType"@en ;
    owl:equivalentClass [ a rdfs:Datatype ;
            owl:oneOf ( "closed" "open" "semiOpen" ) ] ;
    skos:definition "SpaceType is an enumeration that characterises a space according to its closure properties."@en .

core:XALAddress a owl:Class ;
    rdfs:label "XALAddress"@en ;
    skos:definition "XALAddress represents address details according to the OASIS xAL standard."@en .

core:AbstractDynamizer a owl:Class ;
    rdfs:label "AbstractDynamizer"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractDynamizer ;
            owl:onProperty core:AbstractDynamizer.adeOfAbstractDynamizer ],
        core:AbstractFeatureWithLifespan ;
    skos:definition "AbstractDynamizer is the abstract superclass to represent Dynamizer objects."@en .

core:AbstractGenericAttribute a owl:Class ;
    rdfs:label "AbstractGenericAttribute"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "AbstractGenericAttribute is the abstract superclass for all types of generic attributes."@en .

core:AbstractOccupiedSpace a owl:Class ;
    rdfs:label "AbstractOccupiedSpace"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractOccupiedSpace ;
            owl:onProperty core:AbstractOccupiedSpace.adeOfAbstractOccupiedSpace ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ImplicitGeometry ;
            owl:onProperty core:AbstractOccupiedSpace.lod3ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ImplicitGeometry ;
            owl:onProperty core:AbstractOccupiedSpace.lod2ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass core:ImplicitGeometry ;
            owl:onProperty core:AbstractOccupiedSpace.lod3ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ImplicitGeometry ;
            owl:onProperty core:AbstractOccupiedSpace.lod1ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass core:ImplicitGeometry ;
            owl:onProperty core:AbstractOccupiedSpace.lod2ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass core:ImplicitGeometry ;
            owl:onProperty core:AbstractOccupiedSpace.lod1ImplicitRepresentation ],
        core:AbstractPhysicalSpace ;
    owl:disjointWith core:AbstractUnoccupiedSpace ;
    skos:definition "AbstractOccupiedSpace is the abstract superclass for all types of physically occupied spaces. Occupied space refers to spaces that are partially or entirely filled with matter."@en .

core:AbstractVersion a owl:Class ;
    rdfs:label "AbstractVersion"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractVersion ;
            owl:onProperty core:AbstractVersion.adeOfAbstractVersion ],
        core:AbstractFeatureWithLifespan ;
    skos:definition "AbstractVersion is the abstract superclass to represent Version objects."@en .

core:AbstractVersionTransition a owl:Class ;
    rdfs:label "AbstractVersionTransition"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractVersionTransition ;
            owl:onProperty core:AbstractVersionTransition.adeOfAbstractVersionTransition ],
        core:AbstractFeatureWithLifespan ;
    skos:definition "AbstractVersionTransition is the abstract superclass to represent VersionTransition objects."@en .

core:Address a owl:Class ;
    rdfs:label "Address"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAddress ;
            owl:onProperty core:Address.adeOfAddress ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiPoint ;
            owl:onProperty core:Address.multiPoint ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiPoint ;
            owl:onProperty core:Address.multiPoint ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:XALAddress ;
            owl:onProperty core:Address.xalAddress ],
        [ a owl:Restriction ;
            owl:onClass core:XALAddress ;
            owl:onProperty core:Address.xalAddress ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        core:AbstractFeature ;
    skos:definition "Address represents an address of a city object."@en .

core:DoubleList a owl:Class ;
    rdfs:label "DoubleList"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:double ;
            owl:onProperty core:DoubleList.list ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:double ;
            owl:onProperty core:DoubleList.list ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] ;
    skos:definition "DoubleList is an ordered sequence of double values."@en .

core:QualifiedVolume a owl:Class ;
    rdfs:label "QualifiedVolume"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty core:QualifiedVolume.typeOfVolume ],
        [ a owl:Restriction ;
            owl:onClass owl:Class ;
            owl:onProperty core:QualifiedVolume.typeOfVolume ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom sc:Measure ;
            owl:onProperty core:QualifiedVolume.volume ],
        [ a owl:Restriction ;
            owl:onDataRange sc:Measure ;
            owl:onProperty core:QualifiedVolume.volume ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] ;
    skos:definition "QualifiedVolume is an application-dependent measure of the volume of a space."@en .

core:TransformationMatrix4x4 a owl:Class ;
    rdfs:label "TransformationMatrix4x4"@en ;
    rdfs:subClassOf core:DoubleList ;
    skos:definition "TransformationMatrix4x4 is a 4 by 4 matrix represented as a list of sixteen double values in row major order."@en .

core:AbstractSpaceBoundary a owl:Class ;
    rdfs:label "AbstractSpaceBoundary"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractSpaceBoundary ;
            owl:onProperty core:AbstractSpaceBoundary.adeOfAbstractSpaceBoundary ],
        core:AbstractCityObject ;
    skos:definition "AbstractSpaceBoundary is the abstract superclass for all types of space boundaries. A space boundary is an entity with areal extent in the real world. Space boundaries are objects that bound a Space. They also realize the contact between adjacent spaces."@en .

core:CityObjectRelation a owl:Class ;
    rdfs:label "CityObjectRelation"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractCityObject ;
            owl:onProperty core:CityObjectRelation.relatedTo ],
        [ a owl:Restriction ;
            owl:onClass core:AbstractCityObject ;
            owl:onProperty core:CityObjectRelation.relatedTo ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty core:CityObjectRelation.relationType ],
        [ a owl:Restriction ;
            owl:onClass owl:Class ;
            owl:onProperty core:CityObjectRelation.relationType ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractGenericAttribute ;
            owl:onProperty core:CityObjectRelation.genericAttribute ] ;
    skos:definition "CityObjectRelation represents a specific relation from the city object in which the relation is included to another city object."@en .

core:ExternalReference a owl:Class ;
    rdfs:label "ExternalReference"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty core:ExternalReference.relationType ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange xsd:anyURI ;
            owl:onProperty core:ExternalReference.relationType ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty core:ExternalReference.informationSystem ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange xsd:anyURI ;
            owl:onProperty core:ExternalReference.informationSystem ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty core:ExternalReference.targetResource ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:anyURI ;
            owl:onProperty core:ExternalReference.targetResource ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] ;
    skos:definition "ExternalReference is a reference to a corresponding object in another information system, for example in the German cadastre (ALKIS), the German topographic information system (ATKIS), or the OS UK MasterMap®."@en .

core:ID a owl:Class ;
    rdfs:label "ID"@en ;
    skos:definition "ID is a basic type that represents a unique identifier."@en .

core:QualifiedArea a owl:Class ;
    rdfs:label "QualifiedArea"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty core:QualifiedArea.typeOfArea ],
        [ a owl:Restriction ;
            owl:onClass owl:Class ;
            owl:onProperty core:QualifiedArea.typeOfArea ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom sc:Measure ;
            owl:onProperty core:QualifiedArea.area ],
        [ a owl:Restriction ;
            owl:onDataRange sc:Measure ;
            owl:onProperty core:QualifiedArea.area ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] ;
    skos:definition "QualifiedArea is an application-dependent measure of the area of a space or of a thematic surface."@en .

core:AbstractAppearance a owl:Class ;
    rdfs:label "AbstractAppearance"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractAppearance ;
            owl:onProperty core:AbstractAppearance.adeOfAbstractAppearance ],
        core:AbstractFeatureWithLifespan ;
    skos:definition "AbstractAppearance is the abstract superclass to represent any kind of appearance objects."@en .

core:AbstractPhysicalSpace a owl:Class ;
    rdfs:label "AbstractPhysicalSpace"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractPointCloud ;
            owl:onProperty core:AbstractPhysicalSpace.pointCloud ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiCurve ;
            owl:onProperty core:AbstractPhysicalSpace.lod2TerrainIntersectionCurve ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiCurve ;
            owl:onProperty core:AbstractPhysicalSpace.lod1TerrainIntersectionCurve ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiCurve ;
            owl:onProperty core:AbstractPhysicalSpace.lod2TerrainIntersectionCurve ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass core:AbstractPointCloud ;
            owl:onProperty core:AbstractPhysicalSpace.pointCloud ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiCurve ;
            owl:onProperty core:AbstractPhysicalSpace.lod3TerrainIntersectionCurve ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiCurve ;
            owl:onProperty core:AbstractPhysicalSpace.lod3TerrainIntersectionCurve ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiCurve ;
            owl:onProperty core:AbstractPhysicalSpace.lod1TerrainIntersectionCurve ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractPhysicalSpace ;
            owl:onProperty core:AbstractPhysicalSpace.adeOfAbstractPhysicalSpace ],
        core:AbstractSpace ;
    skos:definition "AbstractPhysicalSpace is the abstract superclass for all types of physical spaces. Physical space refers to spaces that are fully or partially bounded by physical objects."@en .

core:AbstractPointCloud a owl:Class ;
    rdfs:label "AbstractPointCloud"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractPointCloud ;
            owl:onProperty core:AbstractPointCloud.adeOfAbstractPointCloud ],
        core:AbstractFeature ;
    skos:definition "AbstractPointCloud is the abstract superclass to represent PointCloud objects."@en .

core:CityModel a owl:Class ;
    rdfs:label "CityModel"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass iso19111-2019:EngineeringCRS ;
            owl:onProperty core:CityModel.engineeringCRS ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractAppearance ;
            owl:onProperty core:CityModel.cityModelMember_appearanceMember ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractVersion ;
            owl:onProperty core:CityModel.cityModelMember_versionMember ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractVersionTransition ;
            owl:onProperty core:CityModel.cityModelMember_versionTransitionMember ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfCityModel ;
            owl:onProperty core:CityModel.adeOfCityModel ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractCityObject ;
            owl:onProperty core:CityModel.cityModelMember_cityObjectMember ],
        [ a owl:Restriction ;
            owl:allValuesFrom iso19111-2019:EngineeringCRS ;
            owl:onProperty core:CityModel.engineeringCRS ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractFeature ;
            owl:onProperty core:CityModel.cityModelMember_featureMember ],
        core:AbstractFeatureWithLifespan ;
    skos:definition "CityModel is the container for all objects belonging to a city model."@en .

core:AbstractFeature a owl:Class ;
    rdfs:label "AbstractFeature"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom rdfs:Resource ;
            owl:onProperty core:AbstractFeature.identifier ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange xsd:string ;
            owl:onProperty core:AbstractFeature.description ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractFeature ;
            owl:onProperty core:AbstractFeature.adeOfAbstractFeature ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass rdfs:Resource ;
            owl:onProperty core:AbstractFeature.identifier ],
        [ a owl:Restriction ;
            owl:onClass core:ID ;
            owl:onProperty core:AbstractFeature.featureID ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty core:AbstractFeature.description ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ID ;
            owl:onProperty core:AbstractFeature.featureID ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:Name ;
            owl:onProperty core:AbstractFeature.name ],
        iso19109:AnyFeature ;
    skos:definition "AbstractFeature is the abstract superclass of all feature types within the CityGML Conceptual Model."@en .

core:AbstractThematicSurface a owl:Class ;
    rdfs:label "AbstractThematicSurface"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiCurve ;
            owl:onProperty core:AbstractThematicSurface.lod0MultiCurve ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSurface ;
            owl:onProperty core:AbstractThematicSurface.lod0MultiSurface ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSurface ;
            owl:onProperty core:AbstractThematicSurface.lod1MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSurface ;
            owl:onProperty core:AbstractThematicSurface.lod1MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSurface ;
            owl:onProperty core:AbstractThematicSurface.lod2MultiSurface ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractPointCloud ;
            owl:onProperty core:AbstractThematicSurface.pointCloud ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSurface ;
            owl:onProperty core:AbstractThematicSurface.lod3MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass core:AbstractPointCloud ;
            owl:onProperty core:AbstractThematicSurface.pointCloud ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSurface ;
            owl:onProperty core:AbstractThematicSurface.lod3MultiSurface ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:QualifiedArea ;
            owl:onProperty core:AbstractThematicSurface.area ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSurface ;
            owl:onProperty core:AbstractThematicSurface.lod0MultiSurface ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractThematicSurface ;
            owl:onProperty core:AbstractThematicSurface.adeOfAbstractThematicSurface ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSurface ;
            owl:onProperty core:AbstractThematicSurface.lod2MultiSurface ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiCurve ;
            owl:onProperty core:AbstractThematicSurface.lod0MultiCurve ],
        core:AbstractSpaceBoundary ;
    skos:definition "AbstractThematicSurface is the abstract superclass for all types of thematic surfaces."@en .

core:AbstractFeatureWithLifespan a owl:Class ;
    rdfs:label "AbstractFeatureWithLifespan"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange xsd:dateTime ;
            owl:onProperty core:AbstractFeatureWithLifespan.validFrom ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractFeatureWithLifespan ;
            owl:onProperty core:AbstractFeatureWithLifespan.adeOfAbstractFeatureWithLifespan ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange xsd:dateTime ;
            owl:onProperty core:AbstractFeatureWithLifespan.creationDate ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:dateTime ;
            owl:onProperty core:AbstractFeatureWithLifespan.validFrom ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:dateTime ;
            owl:onProperty core:AbstractFeatureWithLifespan.terminationDate ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:dateTime ;
            owl:onProperty core:AbstractFeatureWithLifespan.validTo ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:dateTime ;
            owl:onProperty core:AbstractFeatureWithLifespan.creationDate ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange xsd:dateTime ;
            owl:onProperty core:AbstractFeatureWithLifespan.validTo ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange xsd:dateTime ;
            owl:onProperty core:AbstractFeatureWithLifespan.terminationDate ],
        core:AbstractFeature ;
    skos:definition "AbstractFeatureWithLifespan is the base class for all CityGML features. This class allows the optional specification of the real-world and database times for the existence of each feature."@en .

core:ImplicitGeometry a owl:Class ;
    rdfs:label "ImplicitGeometry"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty core:ImplicitGeometry.mimeType ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:AbstractGeometry ;
            owl:onProperty core:ImplicitGeometry.relativeGeometry ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty core:ImplicitGeometry.libraryObject ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:TransformationMatrix4x4 ;
            owl:onProperty core:ImplicitGeometry.transformationMatrix ],
        [ a owl:Restriction ;
            owl:onClass core:ID ;
            owl:onProperty core:ImplicitGeometry.objectID ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ID ;
            owl:onProperty core:ImplicitGeometry.objectID ],
        [ a owl:Restriction ;
            owl:onClass gmlowl:Point ;
            owl:onProperty core:ImplicitGeometry.referencePoint ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:onClass core:TransformationMatrix4x4 ;
            owl:onProperty core:ImplicitGeometry.transformationMatrix ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:Point ;
            owl:onProperty core:ImplicitGeometry.referencePoint ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:AbstractGeometry ;
            owl:onProperty core:ImplicitGeometry.relativeGeometry ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractAppearance ;
            owl:onProperty core:ImplicitGeometry.appearance ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange xsd:anyURI ;
            owl:onProperty core:ImplicitGeometry.libraryObject ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty core:ImplicitGeometry.mimeType ] ;
    skos:definition "ImplicitGeometry is a geometry representation where the shape is stored only once as a prototypical geometry. Examples are a tree or other vegetation object, a traffic light or a traffic sign. This prototypic geometry object can be re-used or referenced many times, wherever the corresponding feature occurs in the 3D city model."@en .

core:AbstractSpace a owl:Class ;
    rdfs:label "AbstractSpace"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:QualifiedArea ;
            owl:onProperty core:AbstractSpace.area ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiCurve ;
            owl:onProperty core:AbstractSpace.lod0MultiCurve ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiCurve ;
            owl:onProperty core:AbstractSpace.lod3MultiCurve ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractSpaceBoundary ;
            owl:onProperty core:AbstractSpace.boundary ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSurface ;
            owl:onProperty core:AbstractSpace.lod3MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSurface ;
            owl:onProperty core:AbstractSpace.lod2MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSurface ;
            owl:onProperty core:AbstractSpace.lod3MultiSurface ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:Solid ;
            owl:onProperty core:AbstractSpace.lod3Solid ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiCurve ;
            owl:onProperty core:AbstractSpace.lod3MultiCurve ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:Solid ;
            owl:onProperty core:AbstractSpace.lod1Solid ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:Solid ;
            owl:onProperty core:AbstractSpace.lod2Solid ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractSpace ;
            owl:onProperty core:AbstractSpace.adeOfAbstractSpace ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiCurve ;
            owl:onProperty core:AbstractSpace.lod2MultiCurve ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:Solid ;
            owl:onProperty core:AbstractSpace.lod2Solid ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiCurve ;
            owl:onProperty core:AbstractSpace.lod0MultiCurve ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange core:SpaceType ;
            owl:onProperty core:AbstractSpace.spaceType ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:QualifiedVolume ;
            owl:onProperty core:AbstractSpace.volume ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:Point ;
            owl:onProperty core:AbstractSpace.lod0Point ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:Solid ;
            owl:onProperty core:AbstractSpace.lod3Solid ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:SpaceType ;
            owl:onProperty core:AbstractSpace.spaceType ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:Solid ;
            owl:onProperty core:AbstractSpace.lod1Solid ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSurface ;
            owl:onProperty core:AbstractSpace.lod2MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiCurve ;
            owl:onProperty core:AbstractSpace.lod2MultiCurve ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSurface ;
            owl:onProperty core:AbstractSpace.lod0MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSurface ;
            owl:onProperty core:AbstractSpace.lod0MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:Point ;
            owl:onProperty core:AbstractSpace.lod0Point ],
        core:AbstractCityObject ;
    owl:disjointWith core:AbstractSpaceBoundary ;
    skos:definition "AbstractSpace is the abstract superclass for all types of spaces. A space is an entity of volumetric extent in the real world."@en .

core:AbstractCityObject a owl:Class ;
    rdfs:label "AbstractCityObject"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractAppearance ;
            owl:onProperty core:AbstractCityObject.appearance ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:CityObjectRelation ;
            owl:onProperty core:AbstractCityObject.relatedTo ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:RelativeToTerrain ;
            owl:onProperty core:AbstractCityObject.relativeToTerrain ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange core:RelativeToTerrain ;
            owl:onProperty core:AbstractCityObject.relativeToTerrain ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractDynamizer ;
            owl:onProperty core:AbstractCityObject.dynamizer ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange core:RelativeToWater ;
            owl:onProperty core:AbstractCityObject.relativeToWater ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ExternalReference ;
            owl:onProperty core:AbstractCityObject.externalReference ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractCityObject ;
            owl:onProperty core:AbstractCityObject.generalizesTo ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ADEOfAbstractCityObject ;
            owl:onProperty core:AbstractCityObject.adeOfAbstractCityObject ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractGenericAttribute ;
            owl:onProperty core:AbstractCityObject.genericAttribute ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:RelativeToWater ;
            owl:onProperty core:AbstractCityObject.relativeToWater ],
        core:AbstractFeatureWithLifespan ;
    skos:definition "AbstractCityObject is the abstract superclass of all thematic classes within the CityGML Conceptual Model."@en .

[] a owl:AllDisjointClasses ;
    owl:members ( bldg:AbstractBuildingSubdivision grp:CityObjectGroup gen:GenericLogicalSpace ) .

[] a owl:AllDisjointClasses ;
    owl:members ( frn:CityFurniture con:AbstractConstruction con:AbstractConstructiveElement con:AbstractFillingElement con:AbstractFurniture con:AbstractInstallation gen:GenericOccupiedSpace veg:AbstractVegetationObject wtr:WaterBody ) .

[] a owl:AllDisjointClasses ;
    owl:members ( con:AbstractConstructionSurface con:AbstractFillingSurface core:ClosureSurface gen:GenericThematicSurface luse:LandUse tran:AuxiliaryTrafficArea tran:HoleSurface tran:Marking tran:TrafficArea wtr:AbstractWaterBoundarySurface ) .

[] a owl:AllDisjointClasses ;
    owl:members ( core:AbstractAppearance core:AbstractCityObject core:AbstractDynamizer core:AbstractVersion core:AbstractVersionTransition core:CityModel doc:Document wksp:Scenario wksp:Space wksp:Workspace ) .

[] a owl:AllDisjointClasses ;
    owl:members ( core:TransformationMatrix2x2 core:TransformationMatrix3x4 core:TransformationMatrix4x4 ) .

[] a owl:AllDisjointClasses ;
    owl:members ( core:AbstractThematicSurface dem:AbstractReliefComponent dem:ReliefFeature ) .

[] a owl:AllDisjointClasses ;
    owl:members ( brid:BridgeRoom bldg:BuildingRoom gen:GenericUnoccupiedSpace tran:AbstractTransportationSpace tran:AuxiliaryTrafficSpace tran:ClearanceSpace tran:Hole tran:TrafficSpace tun:HollowSpace ) .

[] a owl:AllDisjointClasses ;
    owl:members ( app:AbstractSurfaceData core:AbstractFeatureWithLifespan core:AbstractPointCloud core:Address dyn:AbstractTimeseries ) .

[] a owl:AllDisjointClasses ;
    owl:members ( gen:CodeAttribute gen:DateAttribute gen:DoubleAttribute gen:GenericAttributeSet gen:IntAttribute gen:MeasureAttribute gen:StringAttribute gen:UriAttribute ) .

