@prefix core: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/core#> .
@prefix frn: <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/cityfurniture#> .
@prefix iso19150-2: <http://def.isotc211.org/iso19150/-2/2012/base#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/cityfurniture> a owl:Ontology ;
    rdfs:label "CityFurniture"@en ;
    owl:imports <http://def.isotc211.org/iso19150/-2/2012/base>,
        <https://dataset-dl.liris.cnrs.fr/rdf-owl-urban-data-ontologies/Ontologies/CityGML/3.0/core.ttl> ;
    skos:definition "The CityFurniture module supports representation of city furniture objects. City furniture objects are immovable objects like lanterns, traffic signs, advertising columns, benches, or bus stops that can be found in traffic areas, residential areas, on squares, or in built-up areas."@en .

frn:CityFurniture.adeOfCityFurniture a owl:ObjectProperty ;
    rdfs:label "adeOfCityFurniture"@en ;
    rdfs:domain frn:CityFurniture ;
    rdfs:range frn:ADEOfCityFurniture ;
    skos:definition "Augments the CityFurniture with properties defined in an ADE."@en .

frn:CityFurniture.function a owl:ObjectProperty ;
    rdfs:label "function"@en ;
    rdfs:domain frn:CityFurniture ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the intended purposes of the CityFurniture."@en .

frn:CityFurniture.usage a owl:ObjectProperty ;
    rdfs:label "usage"@en ;
    rdfs:domain frn:CityFurniture ;
    rdfs:range owl:Class ;
    skos:definition "Specifies the actual uses of the CityFurniture."@en .

frn:ADEOfCityFurniture a owl:Class ;
    rdfs:label "ADEOfCityFurniture"@en ;
    iso19150-2:isAbstract true ;
    skos:definition "ADEOfCityFurniture acts as a hook to define properties within an ADE that are to be added to a CityFurniture."@en .

frn:CityFurniture.class a owl:ObjectProperty ;
    rdfs:label "class"@en ;
    rdfs:domain frn:CityFurniture ;
    rdfs:range owl:Class ;
    skos:definition "Indicates the specific type of the CityFurniture."@en .

frn:CityFurniture a owl:Class ;
    rdfs:label "CityFurniture"@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom frn:ADEOfCityFurniture ;
            owl:onProperty frn:CityFurniture.adeOfCityFurniture ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty frn:CityFurniture.usage ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty frn:CityFurniture.function ],
        [ a owl:Restriction ;
            owl:allValuesFrom owl:Class ;
            owl:onProperty frn:CityFurniture.class ],
        [ a owl:Restriction ;
            owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
            owl:onClass owl:Class ;
            owl:onProperty frn:CityFurniture.class ],
        core:AbstractOccupiedSpace ;
    skos:definition "CityFurniture is an object or piece of equipment installed in the outdoor environment for various purposes. Examples include street signs, traffic signals, street lamps, benches, fountains."@en .

