@prefix core: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/2.0/core#> .
@prefix gmlowl: <http://www.opengis.net/ont/gml#> .
@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 veg: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/2.0/vegetation#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/2.0/vegetation> a owl:Ontology ;
    rdfs:label "Vegetation"@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/2.0/core.ttl> ;
    skos:prefLabel "Vegetation"@en .

veg:PlantCover.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range iso19136-bt:Code ;
    skos:definition "SIG3D: Function of PlantCover as given by the relevant national regulations, information communities, or specific applications."@en ;
    skos:prefLabel "function"@en .

veg:PlantCover.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range iso19136-bt:Code ;
    skos:definition "SIG3D: Usage of PlantCover as given by the relevant national regulations, information communities, or specific applications."@en ;
    skos:prefLabel "usage"@en .

veg:SolitaryVegetationObject.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range iso19136-bt:Code ;
    skos:definition "SIG3D: Function of SolitaryVegetationObject as given by the relevant national regulations, information communities, or specific applications."@en ;
    skos:prefLabel "function"@en .

veg:SolitaryVegetationObject.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range iso19136-bt:Code ;
    skos:definition "SIG3D: Usage of SolitaryVegetationObject as given by the relevant national regulations, information communities, or specific applications."@en ;
    skos:prefLabel "usage"@en .

veg:AbstractVegetationObject a owl:Class ;
    rdfs:label "AbstractVegetationObject"@en ;
    iso19150-2:isAbstract true ;
    rdfs:subClassOf core:AbstractCityObject ;
    skos:definition "SIG3D: Abstract super class of SolitaryVegetationObject and PlantCover"@en ;
    skos:prefLabel "AbstractVegetationObject"@en .

veg:PlantCover.averageHeight a owl:DatatypeProperty ;
    rdfs:label "averageHeight"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range sc:Measure ;
    skos:definition "SIG3D: Average value of the heights of the grown-up plants"@en ;
    skos:prefLabel "averageHeight"@en .

veg:PlantCover.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range iso19136-bt:Code ;
    skos:definition "SIG3D: Classification of PlantCover as given by the relevant national regulations, information communities, or specific applications."@en ;
    skos:prefLabel "class"@en .

veg:PlantCover.lod1MultiSolid a owl:ObjectProperty ;
    rdfs:label "lod1MultiSolid"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range gmlowl:MultiSolid ;
    skos:definition "SIG3D: Relation to a LOD1 multiple solid geometry of PlantCover.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod1MultiSolid"@en .

veg:PlantCover.lod1MultiSurface a owl:ObjectProperty ;
    rdfs:label "lod1MultiSurface"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range gmlowl:MultiSurface ;
    skos:definition "SIG3D:  Relation to a LOD1 surface geometry of PlantCover.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod1MultiSurface"@en .

veg:PlantCover.lod2MultiSolid a owl:ObjectProperty ;
    rdfs:label "lod2MultiSolid"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range gmlowl:MultiSolid ;
    skos:definition "SIG3D: Relation to a LOD2 multiple solid geometry of PlantCover.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod2MultiSolid"@en .

veg:PlantCover.lod2MultiSurface a owl:ObjectProperty ;
    rdfs:label "lod2MultiSurface"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range gmlowl:MultiSurface ;
    skos:definition "SIG3D: Relation to a LOD2 surface geometry of PlantCover.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod2MultiSurface"@en .

veg:PlantCover.lod3MultiSolid a owl:ObjectProperty ;
    rdfs:label "lod3MultiSolid"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range gmlowl:MultiSolid ;
    skos:definition "SIG3D: Relation to a LOD3 multiple solid geometry of PlantCover.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod3MultiSolid"@en .

veg:PlantCover.lod3MultiSurface a owl:ObjectProperty ;
    rdfs:label "lod3MultiSurface"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range gmlowl:MultiSurface ;
    skos:definition "SIG3D: Relation to a LOD3 surface geometry of PlantCover.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod3MultiSurface"@en .

veg:PlantCover.lod4MultiSolid a owl:ObjectProperty ;
    rdfs:label "lod4MultiSolid"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range gmlowl:MultiSolid ;
    skos:definition "SIG3D: Relation to a LOD4 multiple solid geometry of PlantCover.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod4MultiSolid"@en .

veg:PlantCover.lod4MultiSurface a owl:ObjectProperty ;
    rdfs:label "lod4MultiSurface"@en ;
    rdfs:domain veg:PlantCover ;
    rdfs:range gmlowl:MultiSurface ;
    skos:definition "SIG3D: Relation to a LOD4 surface geometry of PlantCover.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod4MultiSurface"@en .

veg:SolitaryVegetationObject.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range iso19136-bt:Code ;
    skos:definition "SIG3D: Classification of SolitaryVegetationObject as given by the relevant national regulations, information communities, or specific applications."@en ;
    skos:prefLabel "class"@en .

veg:SolitaryVegetationObject.crownDiameter a owl:DatatypeProperty ;
    rdfs:label "crownDiameter"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range sc:Measure ;
    skos:definition "SIG3D: Maximal diameter of the crown."@en ;
    skos:prefLabel "crownDiameter"@en .

veg:SolitaryVegetationObject.height a owl:DatatypeProperty ;
    rdfs:label "height"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range sc:Measure ;
    skos:definition "SIG3D: Distance between the highest point of the vegetation object and the lowest point of the terrain at the bottom of the object."@en ;
    skos:prefLabel "height"@en .

veg:SolitaryVegetationObject.lod1Geometry a owl:ObjectProperty ;
    rdfs:label "lod1Geometry"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range gmlowl:AbstractGeometry ;
    skos:definition "SIG3D: Relation to LOD1 geometry of SolitaryVegetationObject.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod1Geometry"@en .

veg:SolitaryVegetationObject.lod1ImplicitRepresentation a owl:ObjectProperty ;
    rdfs:label "lod1ImplicitRepresentation"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range core:ImplicitGeometry ;
    skos:definition "SIG3D: Relation to LOD1 implicit geometry of SolitaryVegetationObject.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod1ImplicitRepresentation"@en .

veg:SolitaryVegetationObject.lod2Geometry a owl:ObjectProperty ;
    rdfs:label "lod2Geometry"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range gmlowl:AbstractGeometry ;
    skos:definition "SIG3D: Relation to LOD2 geometry of SolitaryVegetationObject.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod2Geometry"@en .

veg:SolitaryVegetationObject.lod2ImplicitRepresentation a owl:ObjectProperty ;
    rdfs:label "lod2ImplicitRepresentation"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range core:ImplicitGeometry ;
    skos:definition "SIG3D: Relation to LOD2 implicit geometry of SolitaryVegetationObject.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod2ImplicitRepresentation"@en .

veg:SolitaryVegetationObject.lod3Geometry a owl:ObjectProperty ;
    rdfs:label "lod3Geometry"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range gmlowl:AbstractGeometry ;
    skos:definition "SIG3D: Relation to LOD3 geometry of SolitaryVegetationObject.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod3Geometry"@en .

veg:SolitaryVegetationObject.lod3ImplicitRepresentation a owl:ObjectProperty ;
    rdfs:label "lod3ImplicitRepresentation"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range core:ImplicitGeometry ;
    skos:definition "SIG3D: Relation to LOD3 implicit geometry of SolitaryVegetationObject.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod3ImplicitRepresentation"@en .

veg:SolitaryVegetationObject.lod4Geometry a owl:ObjectProperty ;
    rdfs:label "lod4Geometry"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range gmlowl:AbstractGeometry ;
    skos:definition "SIG3D: Relation to LOD4 geometry of SolitaryVegetationObject.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod4Geometry"@en .

veg:SolitaryVegetationObject.lod4ImplicitRepresentation a owl:ObjectProperty ;
    rdfs:label "lod4ImplicitRepresentation"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range core:ImplicitGeometry ;
    skos:definition "SIG3D: Relation to LOD4 implicit geometry of SolitaryVegetationObject.The LOD concept for the module Vegetation is defined in chapter ..."@en ;
    skos:prefLabel "lod4ImplicitRepresentation"@en .

veg:SolitaryVegetationObject.species a owl:ObjectProperty ;
    rdfs:label "species"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range iso19136-bt:Code ;
    skos:definition "SIG3D: Botanical classification of the SolitaryVegetationObject"@en ;
    skos:prefLabel "species"@en .

veg:SolitaryVegetationObject.trunkDiameter a owl:DatatypeProperty ;
    rdfs:label "trunkDiameter"@en ;
    rdfs:domain veg:SolitaryVegetationObject ;
    rdfs:range sc:Measure ;
    skos:definition "SIG3D: Value of the trunk's diameter"@en ;
    skos:prefLabel "trunkDiameter"@en .

veg:PlantCover a owl:Class ;
    rdfs:label "PlantCover"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSolid ;
            owl:onProperty veg:PlantCover.lod4MultiSolid ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSolid ;
            owl:onProperty veg:PlantCover.lod3MultiSolid ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSurface ;
            owl:onProperty veg:PlantCover.lod1MultiSurface ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSolid ;
            owl:onProperty veg:PlantCover.lod4MultiSolid ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSolid ;
            owl:onProperty veg:PlantCover.lod2MultiSolid ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSolid ;
            owl:onProperty veg:PlantCover.lod1MultiSolid ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSurface ;
            owl:onProperty veg:PlantCover.lod3MultiSurface ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSurface ;
            owl:onProperty veg:PlantCover.lod2MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass iso19136-bt:Code ;
            owl:onProperty veg:PlantCover.class ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange sc:Measure ;
            owl:onProperty veg:PlantCover.averageHeight ],
        [ a owl:Restriction ;
            owl:allValuesFrom iso19136-bt:Code ;
            owl:onProperty veg:PlantCover.function ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSurface ;
            owl:onProperty veg:PlantCover.lod3MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSurface ;
            owl:onProperty veg:PlantCover.lod2MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSurface ;
            owl:onProperty veg:PlantCover.lod4MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSolid ;
            owl:onProperty veg:PlantCover.lod1MultiSolid ],
        [ a owl:Restriction ;
            owl:allValuesFrom sc:Measure ;
            owl:onProperty veg:PlantCover.averageHeight ],
        [ a owl:Restriction ;
            owl:allValuesFrom iso19136-bt:Code ;
            owl:onProperty veg:PlantCover.class ],
        [ a owl:Restriction ;
            owl:allValuesFrom iso19136-bt:Code ;
            owl:onProperty veg:PlantCover.usage ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSurface ;
            owl:onProperty veg:PlantCover.lod4MultiSurface ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:MultiSurface ;
            owl:onProperty veg:PlantCover.lod1MultiSurface ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSolid ;
            owl:onProperty veg:PlantCover.lod2MultiSolid ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:MultiSolid ;
            owl:onProperty veg:PlantCover.lod3MultiSolid ],
        veg:AbstractVegetationObject ;
    owl:disjointWith veg:SolitaryVegetationObject ;
    skos:definition "SIG3D: Area filled with a specific vegetation"@en ;
    skos:prefLabel "PlantCover"@en .

veg:SolitaryVegetationObject a owl:Class ;
    rdfs:label "SolitaryVegetationObject"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom core:ImplicitGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod2ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:allValuesFrom iso19136-bt:Code ;
            owl:onProperty veg:SolitaryVegetationObject.function ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:AbstractGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod4Geometry ],
        [ a owl:Restriction ;
            owl:allValuesFrom iso19136-bt:Code ;
            owl:onProperty veg:SolitaryVegetationObject.species ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass iso19136-bt:Code ;
            owl:onProperty veg:SolitaryVegetationObject.species ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:AbstractGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod1Geometry ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass core:ImplicitGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod1ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:AbstractGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod2Geometry ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass iso19136-bt:Code ;
            owl:onProperty veg:SolitaryVegetationObject.class ],
        [ a owl:Restriction ;
            owl:allValuesFrom sc:Measure ;
            owl:onProperty veg:SolitaryVegetationObject.height ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass core:ImplicitGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod2ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ImplicitGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod1ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ImplicitGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod4ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass core:ImplicitGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod3ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:allValuesFrom iso19136-bt:Code ;
            owl:onProperty veg:SolitaryVegetationObject.class ],
        [ a owl:Restriction ;
            owl:allValuesFrom sc:Measure ;
            owl:onProperty veg:SolitaryVegetationObject.trunkDiameter ],
        [ a owl:Restriction ;
            owl:allValuesFrom iso19136-bt:Code ;
            owl:onProperty veg:SolitaryVegetationObject.usage ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange sc:Measure ;
            owl:onProperty veg:SolitaryVegetationObject.trunkDiameter ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:AbstractGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod4Geometry ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange sc:Measure ;
            owl:onProperty veg:SolitaryVegetationObject.height ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:AbstractGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod1Geometry ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass core:ImplicitGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod4ImplicitRepresentation ],
        [ a owl:Restriction ;
            owl:allValuesFrom gmlowl:AbstractGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod3Geometry ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:AbstractGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod2Geometry ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass gmlowl:AbstractGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod3Geometry ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onDataRange sc:Measure ;
            owl:onProperty veg:SolitaryVegetationObject.crownDiameter ],
        [ a owl:Restriction ;
            owl:allValuesFrom sc:Measure ;
            owl:onProperty veg:SolitaryVegetationObject.crownDiameter ],
        [ a owl:Restriction ;
            owl:allValuesFrom core:ImplicitGeometry ;
            owl:onProperty veg:SolitaryVegetationObject.lod3ImplicitRepresentation ],
        veg:AbstractVegetationObject ;
    skos:definition "SIG3D: Single vegetation object"@en ;
    skos:prefLabel "SolitaryVegetationObject"@en .

