@prefix core: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/core#> .
@prefix gen: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/generics#> .
@prefix iso19136-bt: <http://def.isotc211.org/iso19136/2007/BasicTypes#> .
@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 sc: <http://shapechange.net/resources/ont/base#> .
@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/generics> a owl:Ontology ;
    rdfs:label "Generics"@en ;
    owl:imports <http://def.isotc211.org/iso19150/-2/2012/base>,
        <http://shapechange.net/resources/ont/base>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/core.ttl> ;
    skos:definition "The Generics module supports application-specific extensions to the CityGML conceptual model. These extensions may be used to model and exchange additional attributes and features not covered by the predefined thematic classes of CityGML. Generic extensions shall only be used if appropriate thematic classes or attributes are not provided by any other CityGML module."@en .

gen:GenericLogicalSpace.adeOfGenericLogicalSpace a owl:ObjectProperty ;
    rdfs:label "adeOfGenericLogicalSpace"@en ;
    rdfs:domain gen:GenericLogicalSpace ;
    rdfs:range gen:ADEOfGenericLogicalSpace ;
    skos:definition "Augments the GenericLogicalSpace with properties defined in an ADE."@en .

gen:GenericLogicalSpace.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain gen:GenericLogicalSpace ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the intended purposes of the GenericLogicalSpace."@en .

gen:GenericLogicalSpace.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain gen:GenericLogicalSpace ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the actual uses of the GenericLogicalSpace."@en .

gen:GenericOccupiedSpace.adeOfGenericOccupiedSpace a owl:ObjectProperty ;
    rdfs:label "adeOfGenericOccupiedSpace"@en ;
    rdfs:domain gen:GenericOccupiedSpace ;
    rdfs:range gen:ADEOfGenericOccupiedSpace ;
    skos:definition "Augments the GenericOccupiedSpace with properties defined in an ADE."@en .

gen:GenericOccupiedSpace.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain gen:GenericOccupiedSpace ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the intended purposes of the GenericOccupiedSpace."@en .

gen:GenericOccupiedSpace.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain gen:GenericOccupiedSpace ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the actual uses of the GenericOccupiedSpace."@en .

gen:GenericThematicSurface.adeOfGenericThematicSurface a owl:ObjectProperty ;
    rdfs:label "adeOfGenericThematicSurface"@en ;
    rdfs:domain gen:GenericThematicSurface ;
    rdfs:range gen:ADEOfGenericThematicSurface ;
    skos:definition "Augments the GenericThematicSurface with properties defined in an ADE."@en .

gen:GenericThematicSurface.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain gen:GenericThematicSurface ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the intended purposes of the GenericThematicSurface."@en .

gen:GenericThematicSurface.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain gen:GenericThematicSurface ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the actual uses of the GenericThematicSurface."@en .

gen:GenericUnoccupiedSpace.adeOfGenericUnoccupiedSpace a owl:ObjectProperty ;
    rdfs:label "adeOfGenericUnoccupiedSpace"@en ;
    rdfs:domain gen:GenericUnoccupiedSpace ;
    rdfs:range gen:ADEOfGenericUnoccupiedSpace ;
    skos:definition "Augments the GenericUnoccupiedSpace with properties defined in an ADE."@en .

gen:GenericUnoccupiedSpace.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain gen:GenericUnoccupiedSpace ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the intended purposes of the GenericUnoccupiedSpace."@en .

gen:GenericUnoccupiedSpace.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain gen:GenericUnoccupiedSpace ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the actual uses of the GenericUnoccupiedSpace."@en .

gen:ADEOfGenericLogicalSpace a owl:Class ;
    rdfs:label "ADEOfGenericLogicalSpace"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfGenericLogicalSpace acts as a hook to define properties within an ADE that are to be added to a GenericLogicalSpace."@en .

gen:ADEOfGenericOccupiedSpace a owl:Class ;
    rdfs:label "ADEOfGenericOccupiedSpace"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfGenericOccupiedSpace acts as a hook to define properties within an ADE that are to be added to a GenericOccupiedSpace."@en .

gen:ADEOfGenericThematicSurface a owl:Class ;
    rdfs:label "ADEOfGenericThematicSurface"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfGenericThematicSurface acts as a hook to define properties within an ADE that are to be added to a GenericThematicSurface."@en .

gen:ADEOfGenericUnoccupiedSpace a owl:Class ;
    rdfs:label "ADEOfGenericUnoccupiedSpace"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfGenericUnoccupiedSpace acts as a hook to define properties within an ADE that are to be added to a GenericUnoccupiedSpace."@en .

gen:CodeAttribute a owl:Class ;
    rdfs:label "CodeAttribute"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom iso19136-bt:Code ;
            owl:onProperty gen:CodeAttribute.value ],
        [ a owl:Restriction ;
            owl:onClass iso19136-bt:Code ;
            owl:onProperty gen:CodeAttribute.value ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty gen:CodeAttribute.name ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:string ;
            owl:onProperty gen:CodeAttribute.name ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        core:AbstractGenericAttribute ;
    skos:definition "CodeAttribute is a data type used to define generic attributes of type \"Code\"."@en .

gen:CodeAttribute.name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:domain gen:CodeAttribute ;
    rdfs:range xsd:string ;
    skos:definition "Specifies the name of the CodeAttribute."@en .

gen:CodeAttribute.value a owl:ObjectProperty ;
    rdfs:label "value"@en ;
    rdfs:domain gen:CodeAttribute ;
    rdfs:range iso19136-bt:Code ;
    skos:definition "Specifies the \"Code\" value."@en .

gen:DateAttribute a owl:Class ;
    rdfs:label "DateAttribute"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:date ;
            owl:onProperty gen:DateAttribute.value ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:date ;
            owl:onProperty gen:DateAttribute.value ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty gen:DateAttribute.name ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:string ;
            owl:onProperty gen:DateAttribute.name ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        core:AbstractGenericAttribute ;
    skos:definition "DateAttribute is a data type used to define generic attributes of type \"Date\"."@en .

gen:DateAttribute.name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:domain gen:DateAttribute ;
    rdfs:range xsd:string ;
    skos:definition "Specifies the name of the DateAttribute."@en .

gen:DateAttribute.value a owl:DatatypeProperty ;
    rdfs:label "value"@en ;
    rdfs:domain gen:DateAttribute ;
    rdfs:range xsd:date ;
    skos:definition "Specifies the \"Date\" value."@en .

gen:DoubleAttribute a owl:Class ;
    rdfs:label "DoubleAttribute"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:double ;
            owl:onProperty gen:DoubleAttribute.value ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:double ;
            owl:onProperty gen:DoubleAttribute.value ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty gen:DoubleAttribute.name ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:string ;
            owl:onProperty gen:DoubleAttribute.name ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        core:AbstractGenericAttribute ;
    skos:definition "DoubleAttribute is a data type used to define generic attributes of type \"Double\"."@en .

gen:DoubleAttribute.name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:domain gen:DoubleAttribute ;
    rdfs:range xsd:string ;
    skos:definition "Specifies the name of the DoubleAttribute."@en .

gen:DoubleAttribute.value a owl:DatatypeProperty ;
    rdfs:label "value"@en ;
    rdfs:domain gen:DoubleAttribute ;
    rdfs:range xsd:double ;
    skos:definition "Specifies the \"Double\" value."@en .

gen:GenericAttributeSet.codeSpace a owl:DatatypeProperty ;
    rdfs:label "codeSpace"@en ;
    rdfs:domain gen:GenericAttributeSet ;
    rdfs:range xsd:anyURI ;
    skos:definition "Associates the GenericAttributeSet with an authority that maintains the collection of generic attributes."@en .

gen:GenericAttributeSet.genericAttribute a owl:ObjectProperty ;
    rdfs:label "genericAttribute"@en ;
    rdfs:domain gen:GenericAttributeSet ;
    rdfs:range core:AbstractGenericAttribute ;
    skos:definition "Relates to the generic attributes that are part of the GenericAttributeSet."@en .

gen:GenericAttributeSet.name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:domain gen:GenericAttributeSet ;
    rdfs:range xsd:string ;
    skos:definition "Specifies the name of the GenericAttributeSet."@en .

gen:GenericLogicalSpace.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain gen:GenericLogicalSpace ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the GenericLogicalSpace."@en .

gen:GenericOccupiedSpace.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain gen:GenericOccupiedSpace ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the GenericOccupiedSpace."@en .

gen:GenericThematicSurface.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain gen:GenericThematicSurface ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the GenericThematicSurface."@en .

gen:GenericUnoccupiedSpace.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain gen:GenericUnoccupiedSpace ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the GenericUnoccupiedSpace."@en .

gen:IntAttribute a owl:Class ;
    rdfs:label "IntAttribute"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:integer ;
            owl:onProperty gen:IntAttribute.value ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:integer ;
            owl:onProperty gen:IntAttribute.value ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty gen:IntAttribute.name ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:string ;
            owl:onProperty gen:IntAttribute.name ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        core:AbstractGenericAttribute ;
    skos:definition "IntAttribute is a data type used to define generic attributes of type \"Integer\"."@en .

gen:IntAttribute.name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:domain gen:IntAttribute ;
    rdfs:range xsd:string ;
    skos:definition "Specifies the name of the IntAttribute."@en .

gen:IntAttribute.value a owl:DatatypeProperty ;
    rdfs:label "value"@en ;
    rdfs:domain gen:IntAttribute ;
    rdfs:range xsd:integer ;
    skos:definition "Specifies the \"Integer\" value."@en .

gen:MeasureAttribute a owl:Class ;
    rdfs:label "MeasureAttribute"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom sc:Measure ;
            owl:onProperty gen:MeasureAttribute.value ],
        [ a owl:Restriction ;
            owl:onDataRange sc:Measure ;
            owl:onProperty gen:MeasureAttribute.value ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty gen:MeasureAttribute.name ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:string ;
            owl:onProperty gen:MeasureAttribute.name ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        core:AbstractGenericAttribute ;
    skos:definition "MeasureAttribute is a data type used to define generic attributes of type \"Measure\"."@en .

gen:MeasureAttribute.name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:domain gen:MeasureAttribute ;
    rdfs:range xsd:string ;
    skos:definition "Specifies the name of the MeasureAttribute."@en .

gen:MeasureAttribute.value a owl:DatatypeProperty ;
    rdfs:label "value"@en ;
    rdfs:domain gen:MeasureAttribute ;
    rdfs:range sc:Measure ;
    skos:definition "Specifies the value of the MeasureAttribute. The value is of type \"Measure\", which can additionally provide the units of measure. [cf. ISO 19103]"@en .

gen:StringAttribute a owl:Class ;
    rdfs:label "StringAttribute"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty gen:StringAttribute.value ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:string ;
            owl:onProperty gen:StringAttribute.value ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty gen:StringAttribute.name ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:string ;
            owl:onProperty gen:StringAttribute.name ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        core:AbstractGenericAttribute ;
    skos:definition "StringAttribute is a data type used to define generic attributes of type \"String\"."@en .

gen:StringAttribute.name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:domain gen:StringAttribute ;
    rdfs:range xsd:string ;
    skos:definition "Specifies the name of the StringAttribute."@en .

gen:StringAttribute.value a owl:DatatypeProperty ;
    rdfs:label "value"@en ;
    rdfs:domain gen:StringAttribute ;
    rdfs:range xsd:string ;
    skos:definition "Specifies the \"String\" value."@en .

gen:UriAttribute a owl:Class ;
    rdfs:label "UriAttribute"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty gen:UriAttribute.value ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:anyURI ;
            owl:onProperty gen:UriAttribute.value ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty gen:UriAttribute.name ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:string ;
            owl:onProperty gen:UriAttribute.name ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        core:AbstractGenericAttribute ;
    skos:definition "UriAttribute is a data type used to define generic attributes of type \"URI\"."@en .

gen:UriAttribute.name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:domain gen:UriAttribute ;
    rdfs:range xsd:string ;
    skos:definition "Specifies the name of the UriAttribute."@en .

gen:UriAttribute.value a owl:DatatypeProperty ;
    rdfs:label "value"@en ;
    rdfs:domain gen:UriAttribute ;
    rdfs:range xsd:anyURI ;
    skos:definition "Specifies the \"URI\" value."@en .

gen:GenericAttributeSet a owl:Class ;
    rdfs:label "GenericAttributeSet"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom xsd:anyURI ;
            owl:onProperty gen:GenericAttributeSet.codeSpace ],
        [ a owl:Restriction ;
            owl:onDataRange xsd:string ;
            owl:onProperty gen:GenericAttributeSet.name ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
        [ a owl:Restriction ;
            owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass core:AbstractGenericAttribute ;
            owl:onProperty gen:GenericAttributeSet.genericAttribute ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:string ;
            owl:onProperty gen:GenericAttributeSet.name ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:AbstractGenericAttribute ;
            owl:onProperty gen:GenericAttributeSet.genericAttribute ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange xsd:anyURI ;
            owl:onProperty gen:GenericAttributeSet.codeSpace ],
        core:AbstractGenericAttribute ;
    skos:definition "A GenericAttributeSet is a named collection of generic attributes."@en .

gen:GenericLogicalSpace a owl:Class ;
    rdfs:label "GenericLogicalSpace"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom gen:ADEOfGenericLogicalSpace ;
            owl:onProperty gen:GenericLogicalSpace.adeOfGenericLogicalSpace ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericLogicalSpace.usage ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericLogicalSpace.function ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericLogicalSpace.class ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty gen:GenericLogicalSpace.class ],
        core:AbstractLogicalSpace ;
    skos:definition "A GenericLogicalSpace is a space that is not represented by any explicitly modelled AbstractLogicalSpace subclass within CityGML."@en .

gen:GenericOccupiedSpace a owl:Class ;
    rdfs:label "GenericOccupiedSpace"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom gen:ADEOfGenericOccupiedSpace ;
            owl:onProperty gen:GenericOccupiedSpace.adeOfGenericOccupiedSpace ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericOccupiedSpace.usage ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericOccupiedSpace.function ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericOccupiedSpace.class ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty gen:GenericOccupiedSpace.class ],
        core:AbstractOccupiedSpace ;
    skos:definition "A GenericOccupiedSpace is a space that is not represented by any explicitly modelled AbstractOccupiedSpace subclass within CityGML."@en .

gen:GenericThematicSurface a owl:Class ;
    rdfs:label "GenericThematicSurface"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom gen:ADEOfGenericThematicSurface ;
            owl:onProperty gen:GenericThematicSurface.adeOfGenericThematicSurface ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericThematicSurface.usage ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericThematicSurface.function ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericThematicSurface.class ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty gen:GenericThematicSurface.class ],
        core:AbstractThematicSurface ;
    skos:definition "A GenericThematicSurface is a surface that is not represented by any explicitly modelled AbstractThematicSurface subclass within CityGML."@en .

gen:GenericUnoccupiedSpace a owl:Class ;
    rdfs:label "GenericUnoccupiedSpace"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom gen:ADEOfGenericUnoccupiedSpace ;
            owl:onProperty gen:GenericUnoccupiedSpace.adeOfGenericUnoccupiedSpace ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericUnoccupiedSpace.usage ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericUnoccupiedSpace.function ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty gen:GenericUnoccupiedSpace.class ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty gen:GenericUnoccupiedSpace.class ],
        core:AbstractUnoccupiedSpace ;
    skos:definition "A GenericUnoccupiedSpace is a space that is not represented by any explicitly modelled AbstractUnoccupiedSpace subclass within CityGML."@en .

