PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX s4city: <https://saref.etsi.org/saref4city/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

<http://www.w3.org/2006/time#TemporalDuration> a rdfs:Class .

<http://purl.org/vocab/cpsv#PublicService> a rdfs:Class ;
  rdfs:label "Public Service"@en ;
  rdfs:comment "This class represents the service itself. A public service is the capacity to carry out a procedure and exists whether it is used or not. It is a set of deeds and acts performed by or on behalf of a public agency for the benefit of a citizen, a business or another public agency."@en .

<http://www.opengis.net/ont/geosparql#Geometry> a rdfs:Class ;
  rdfs:label "Geometry"@en ;
  rdfs:comment "The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types."@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> .

<http://www.w3.org/2003/01/geo/wgs84_pos#Point> a rdfs:Class ;
  rdfs:label "Point"@en ;
  rdfs:comment "A point, typically described using a coordinate system relative to Earth, such as WGS84."@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Geometry> .

<https://saref.etsi.org/core/Device> a rdfs:Class ;
  rdfs:label "Device"@en ;
  rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended."@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> .

<https://saref.etsi.org/core/controlsProperty> a rdf:Property ;
  rdfs:label "controls property"@en ;
  rdfs:range <https://saref.etsi.org/core/Property> .

<https://saref.etsi.org/core/measuresProperty> a rdf:Property ;
  rdfs:label "measures property"@en ;
  rdfs:range <https://saref.etsi.org/core/Property> .

<https://saref.etsi.org/core/makesMeasurement> a rdf:Property ;
  rdfs:label "makes measurement"@en ;
  rdfs:range <https://saref.etsi.org/core/Measurement> .

<http://xmlns.com/foaf/0.1/Agent> a rdfs:Class ;
  rdfs:label "Agent"@en .

<http://xmlns.com/foaf/0.1/Person> a rdfs:Class ;
  rdfs:label "Person"@en ;
  rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> .

<http://www.w3.org/ns/org#Organization> a rdfs:Class ;
  rdfs:label "Organization"@en ;
  rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> .

<https://saref.etsi.org/core/UnitOfMeasure> a rdfs:Class ;
  rdfs:label "Unit of measure"@en ;
  rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example,  Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en .

s4city:AdministrativeArea a rdfs:Class ;
  rdfs:label "Administrative area"@en ;
  rdfs:comment "An administrative division, unit, entity, area or region, also referred to as a subnational entity, constituent unit, or country subdivision, is a portion of a country or other region delineated for the purpose of administration. (https://en.wikipedia.org/wiki/Administrative_division)"@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> .

<https://saref.etsi.org/core/Actuator> a rdfs:Class ;
  rdfs:label "Actuator"@en ;
  rdfs:comment "A device responsible for moving or controlling a mechanism or system"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Device> .

<http://www.w3.org/2006/time#Instant> a rdfs:Class ;
  rdfs:label "Instant"@en ;
  rdfs:comment "A temporal entity with zero extent or duration"@en ;
  rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> .

s4city:Event a rdfs:Class ;
  rdfs:label "Event"@en ;
  rdfs:comment "Temporary and scheduled event, like a festival or competition. (Definition taken from Wikidata)"@en ;
  rdfs:seeAlso <https://www.wikidata.org/wiki/Q1656682> .

s4city:isSubEventOf a rdf:Property ;
  rdfs:label "is subevent of"@en ;
  rdfs:range s4city:Event .

s4city:takesPlaceAtTime a rdf:Property ;
  rdfs:label "takes place at time"@en ;
  rdfs:range <http://www.w3.org/2006/time#TemporalEntity> .

s4city:hasAccesibility a rdf:Property ;
  rdfs:label "has accesibility"@en ;
  rdfs:range <http://www.w3.org/2004/02/skos/core#Concept> .

s4city:takesPlaceAtFacility a rdf:Property ;
  rdfs:label "takes place at facility"@en ;
  rdfs:range s4city:Facility .

s4city:isOrganizedBy a rdf:Property ;
  rdfs:label "is organized by"@en ;
  rdfs:range s4city:Agent .

s4city:Country a rdfs:Class ;
  rdfs:label "Country"@en ;
  rdfs:comment "A country is a region that is identified as a distinct national entity in political geography. (https://en.wikipedia.org/wiki/Country)"@en ;
  rdfs:subClassOf s4city:AdministrativeArea .

s4city:KeyPerformanceIndicator a rdfs:Class ;
  rdfs:label "Key Performance Indicator"@en ;
  rdfs:comment "A Key Performance Indicator (KPI) is a type of performance measurement. KPIs evaluate the success of an organization or of a particular activity in which it engages. (Definition taken from FIWARE)"@en ;
  rdfs:seeAlso <http://fiware-datamodels.readthedocs.io/en/latest/KeyPerformanceIndicator/doc/spec/index.html> .

s4city:hasCalculationPeriod a rdf:Property ;
  rdfs:label "has calculation period"@en ;
  rdfs:range <http://www.w3.org/2006/time#TemporalDuration> .

s4city:isKPIOf a rdf:Property ;
  rdfs:label "is key performance indicator of"@en ;
  rdfs:range <https://saref.etsi.org/core/FeatureOfInterest> .

s4city:CityObject a rdfs:Class ;
  rdfs:label "City object"@en ;
  rdfs:comment "Generic class for describing city objects."@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> .

<http://www.opengis.net/ont/geosparql#SpatialObject> a rdfs:Class ;
  rdfs:label "SpatialObject"@en ;
  rdfs:comment "The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry."@en .

s4city:Facility a rdfs:Class ;
  rdfs:label "Facility"@en ;
  rdfs:comment "A place, amenity, or piece of equipment provided for a particular purpose. (Definition taken from https://en.oxforddictionaries.com/definition/facility)"@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> .

<http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> a rdfs:Class .

<http://www.w3.org/2003/01/geo/wgs84_pos#alt> a rdf:Property ;
  rdfs:label "altitude"@en ;
  rdfs:comment "The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid)."@en ;
  rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.w3.org/2003/01/geo/wgs84_pos#lat> a rdf:Property ;
  rdfs:label "latitude"@en ;
  rdfs:comment "The WGS84 latitude of a SpatialThing (decimal degrees)."@en ;
  rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.w3.org/2003/01/geo/wgs84_pos#long> a rdf:Property ;
  rdfs:label "longitude"@en ;
  rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)."@en ;
  rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.w3.org/2006/time#Interval> a rdfs:Class ;
  rdfs:label "A temporal entity with an extent or duration"@en ;
  rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> .

s4city:KeyPerformanceIndicatorAssessment a rdfs:Class ;
  rdfs:label "Key performance indicator assessment"@en ;
  rdfs:comment "A Key Performance Indicator assessment represents the assessment of a KPI calculated by a given agent in a given time."@en .

s4city:quantifiesKPI a rdf:Property ;
  rdfs:label "quantifies KPI"@en ;
  rdfs:range s4city:KeyPerformanceIndicator .

s4city:isDerivedFrom a rdf:Property ;
  rdfs:label "is derived from"@en ;
  rdfs:range <https://saref.etsi.org/core/Measurement> .

<https://saref.etsi.org/core/hasValue> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4city:assesses a rdf:Property ;
  rdfs:label "assesses"@en ;
  rdfs:range <https://saref.etsi.org/core/FeatureOfInterest> .

s4city:isAssessedBy a rdf:Property ;
  rdfs:label "is assessed by"@en ;
  rdfs:range s4city:Agent .

s4city:hasLastUpdateDate a rdf:Property ;
  rdfs:label "has last update date"@en ;
  rdfs:range xsd:dateTime .

s4city:refersToTime a rdf:Property ;
  rdfs:label "refers to time"@en ;
  rdfs:range <http://www.w3.org/2006/time#TemporalEntity> .

<https://saref.etsi.org/core/isMeasuredIn> a rdf:Property ;
  rdfs:label "is measured in"@en ;
  rdfs:range <https://saref.etsi.org/core/UnitOfMeasure> .

s4city:hasExpirationDate a rdf:Property ;
  rdfs:label "has expiration date"@en ;
  rdfs:range xsd:dateTime .

s4city:hasCreationDate a rdf:Property ;
  rdfs:label "has creation date"@en ;
  rdfs:range xsd:dateTime .

<http://purl.org/dc/terms/LinguisticSystem> a rdfs:Class .

<https://saref.etsi.org/core/Sensor> a rdfs:Class ;
  rdfs:label "Sensor"@en ;
  rdfs:comment """A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes.
A device that has category saref:Sensor and performs a saref:SensingFunction."""@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Device> .

<http://www.w3.org/2006/time#TemporalEntity> a rdfs:Class ;
  rdfs:label "Temporal entity"@en ;
  rdfs:comment "A temporal interval or instant."@en .

s4city:City a rdfs:Class ;
  rdfs:label "City"@en ;
  rdfs:comment "A city is a large human settlement. A city is distinguished from other human settlements by its relatively great size, but also by its functions and its special symbolic status, which may be conferred by a central authority. (https://en.wikipedia.org/wiki/City)"@en ;
  rdfs:subClassOf s4city:AdministrativeArea .

s4city:Agent a rdfs:Class ;
  rdfs:label "Agent"@en ;
  rdfs:comment "An agent making an action in the context of a city. An agent could be a person, software, etc."@en ;
  rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> .

<http://purl.org/vocab/cpsv#provides> a rdf:Property ;
  rdfs:label "provides"@en ;
  rdfs:comment "The provides property links an Agent to a Public Service for which it is responsible. Whether it provides the service directly or outsources it is not relevant, the Agent that provides the service is the one that is ultimately responsible for its provision."@en ;
  rdfs:range s4city:PublicService .

<http://purl.org/vocab/cpsv#uses> a rdf:Property ;
  rdfs:label "uses"@en ;
  rdfs:comment "The uses property links an Agent to a Public Service in which it plays the specific role of user, meaning that it provides the input and receives the output but does not play any direct role in providing the service. This will typically be an individual citizen or an outside organisation."@en ;
  rdfs:range s4city:PublicService .

s4city:PublicService a rdfs:Class ;
  rdfs:label "Public service"@en ;
  rdfs:comment "Public service is a service which is provided by government either directly (through the public sector) or by financing provision of services. (Definition taken from Wikipedia)"@en ;
  rdfs:seeAlso <https://en.wikipedia.org/wiki/Public_service> ;
  rdfs:subClassOf <http://purl.org/vocab/cpsv#PublicService> .

s4city:involvesFacility a rdf:Property ;
  rdfs:label "involves facility"@en ;
  rdfs:range s4city:Facility .

<http://purl.org/vocab/cpsv#physicallyAvailableAt> a rdf:Property ;
  rdfs:label "physically available at"@en ;
  rdfs:comment "A physical location at which a user may interact with the Public Service."@en ;
  rdfs:range s4city:AdministrativeArea .

s4city:isAvailableInLanguage a rdf:Property ;
  rdfs:label "is available in language"@en ;
  rdfs:range <http://purl.org/dc/terms/LinguisticSystem> .

s4city:PublicAdministration a rdfs:Class ;
  rdfs:label "Public administration"@en ;
  rdfs:comment "Public leadership of public affairs directly responsible for executive action. (Definition taken from wikidata)"@en ;
  rdfs:seeAlso <https://www.wikidata.org/wiki/Q31728> ;
  rdfs:subClassOf <http://www.w3.org/ns/org#Organization> .

s4city:District a rdfs:Class ;
  rdfs:label "District"@en ;
  rdfs:comment "A district is a type of administrative division that, in some countries, is managed by local government. Across the world, areas known as \"districts\" vary greatly in size, spanning regions or counties, several municipalities, subdivisions of municipalities, school district, or political district. (https://en.wikipedia.org/wiki/District)"@en ;
  rdfs:subClassOf s4city:AdministrativeArea .

<http://www.w3.org/2004/02/skos/core#Concept> a rdfs:Class .

<https://saref.etsi.org/core/Measurement> a rdfs:Class ;
  rdfs:label "Measurement"@en ;
  rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en .

<https://saref.etsi.org/core/relatesToProperty> a rdf:Property ;
  rdfs:label "relates to property"@en ;
  rdfs:range <https://saref.etsi.org/core/Property> .

<https://saref.etsi.org/core/isMeasurementOf> a rdf:Property ;
  rdfs:range <https://saref.etsi.org/core/FeatureOfInterest> .

<https://saref.etsi.org/core/measurementMadeBy> a rdf:Property ;
  rdfs:range <https://saref.etsi.org/core/Device> .

<https://saref.etsi.org/core/hasTimestamp> a rdf:Property ;
  rdfs:range xsd:dateTime .

s4city:Neighbourhood a rdfs:Class ;
  rdfs:label "Neighbourhood"@en ;
  rdfs:comment "A neighbourhood (British English), or neighborhood (American English; see spelling differences), is a geographically localised community within a larger city, town, suburb or rural area. (https://en.wikipedia.org/wiki/Neighbourhood)"@en ;
  rdfs:subClassOf s4city:AdministrativeArea .

<http://www.opengis.net/ont/geosparql#Feature> a rdfs:Class ;
  rdfs:label "Feature"@en ;
  rdfs:comment "This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156:2011, and it is superclass of all feature types."@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

<https://saref.etsi.org/core/Property> a rdfs:Class ;
  rdfs:label "Property"@en ;
  rdfs:comment "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended."@en .

<https://saref.etsi.org/core/isPropertyOf> a rdf:Property ;
  rdfs:label "is property of"@en ;
  rdfs:range <https://saref.etsi.org/core/FeatureOfInterest> .

<https://saref.etsi.org/core/relatesToMeasurement> a rdf:Property ;
  rdfs:label "relates to measurement"@en ;
  rdfs:range <https://saref.etsi.org/core/Measurement> .

<https://saref.etsi.org/core/isMeasuredByDevice> a rdf:Property ;
  rdfs:label "is measured by device"@en ;
  rdfs:range <https://saref.etsi.org/core/Device> .

<https://saref.etsi.org/core/isControlledByDevice> a rdf:Property ;
  rdfs:label "is controlled by device"@en ;
  rdfs:range <https://saref.etsi.org/core/Device> .

<https://saref.etsi.org/core/FeatureOfInterest> a rdfs:Class .

<https://saref.etsi.org/core/hasProperty> a rdf:Property ;
  rdfs:label "has property"@en ;
  rdfs:range <https://saref.etsi.org/core/Property> .

s4city:hasKPI a rdf:Property ;
  rdfs:label "has key performance indicator"@en ;
  rdfs:range s4city:KeyPerformanceIndicator .

<https://saref.etsi.org/core/hasMeasurement> a rdf:Property ;
  rdfs:range <https://saref.etsi.org/core/Measurement> .

<http://www.opengis.net/ont/geosparql#hasGeometry> a rdf:Property ;
  rdfs:label "has geometry"@en ;
  rdfs:comment "A spatial representation for a given feature."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.opengis.net/ont/geosparql#sfContains> a rdf:Property ;
  rdfs:label "contains"@en ;
  rdfs:comment "Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.opengis.net/ont/geosparql#sfWithin> a rdf:Property ;
  rdfs:label "within"@en ;
  rdfs:comment "Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.w3.org/2003/01/geo/wgs84_pos#location> a rdf:Property ;
  rdfs:label "location"@en ;
  rdfs:comment "The relation between something and the point, or other geometrical thing in space, where it is.  For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping ."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4city:refersToFeature a rdf:Property ;
  rdfs:label "refers to feature"@en ;
  rdfs:comment "Relation between a KPI assessment and the geographical feature it refers to"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .
