SAREF4CITY ontology and semantics
Introduction and overview
The present document is a technical specification of SAREF4CITY, an OWL-DL ontology that extends SAREF [1] for the Smart Cities domain.
SAREF4CITY V2.1.1 is a major revision of SAREF4CITY, using updated reference ontology patterns specified in ETSI TS 103 548 [2] to solve the harmonization needs identified in ETSI TR 103 781 [i.2], with updated development framework and tools defined in ETSI TS 103 673 [i.3].
This extension has been created by investigating resources from potential stakeholders of the ontology, such as standardization bodies (e.g. Open Geospatial Consortium), associations (e.g. Spanish Federation of Municipalities and Provinces), IoT platforms (e.g. FIWARE) and European projects and initiatives (e.g. ISA2 programme) as reported in ETSI TR 103 506 [i.1]. In addition, the use cases defined in [i.1] were also taken into account, namely:
- Use case 1: eHealth and Smart Parking.
- Use case 2: Air Quality Monitoring and Mobility.
- Use case 3: Street Lighting, Air Quality Monitoring and Mobility.
Taking into account ontologies, data models, standards and datasets provided by the identified stakeholders, a set of requirements were identified and grouped in the following categories: Topology, Administrative Area, City Object, Event, Measurement, Key Performance Indicator, and Public Service. Such requirements and categories were validated during the "SAREF4CITY Validation Workshop" at the IoT Week in Bilbao on the 4th of June 2018. During the workshop, attendees validated the use cases proposed above and the list of requirements for the above-mentioned categories. According to the feedback and outcomes of the workshop, some actions were taken such as to discard some requirements, to eliminate duplicates, to clarify requirements, or to add new ones. The concrete decisions were reported in ETSI TR 103 506 [i.1]. The requirements listed in such document were taken as input for the ontology development. More precisely, the ontology conceptualization was done in a modular way in which one pattern was defined for each of the abovementioned categories.
After the first complete implementation of the ontology, a second validation workshop, the "Towards interoperability and harmonization of Smart City models with SAREF4CITY" one, took place on the 22nd of November 2018 at the European Commission premises in Brussels. During the workshop, the ontology was presented to a variety of stakeholders from industry to academia and public administration. Apart from observations and comments on the reuse and alignment with other ontologies, the discussion addressed more general questions like how to promote the adoption of SAREF or which is the technological and methodological support needed to create a SAREF ecosystem of collaborative ontologies.
The current version of the ontology, V2.1.1, represents the adaptation of the previous SAREF4CITY conceptualization according to the new SAREF core and the homogenization process across extensions.
SAREF4CITY is an OWL-DL ontology that extends SAREF and reuses seven other ontologies. SAREF4CITY includes 124 classes (13 defined in SAREF4CITY and 111 reused from the SAREF, time, sf, geo, foaf, dc, org, cpsv, skos and time ontologies), 103 object properties (18 defined in SAREF4CITY and 85 reused from the SAREF, geo, skos and cpsv ontologies) and 13 data type properties (6 defined in SAREF4CITY and 4 reused from the SAREF ontology).
SAREF4CITY focuses on extending SAREF in order to create a common core of general concepts for smart city data oriented to the IoT field. The main idea is to identify the core components, as mentioned, that could be extended for particular smart city subdomains, for example, for public transport.
The prefixes and namespaces used in SAREF4CITY and in the present document are listed in Table 1.
Prefix | Namespace |
---|---|
cpsv | http://purl.org/vocab/cpsv# |
dct | http://purl.org/dc/terms/ |
geo | http://www.opengis.net/ont/geosparql# |
owl | http://www.w3.org/2002/07/owl# |
prov | http://www.w3.org/ns/prov# |
rdf | http://www.w3.org/1999/02/22-rdf-syntax-ns# |
rdfs | http://www.w3.org/2000/01/rdf-schema# |
s4city | https://saref.etsi.org/saref4city/ |
saref | https://saref.etsi.org/core/ |
time | http://www.w3.org/2006/time# |
vann | http://purl.org/vocab/vann/ |
xml | http://www.w3.org/XML/1998/namespace |
xsd | http://www.w3.org/2001/XMLSchema# |
SAREF4CITY
General Overview
An overview of the SAREF4CITY ontology is provided in Figure 1. For all the entities described in the present document, it is indicated whether they are defined in the SAREF4CITY extension or elsewhere by the prefix included before their identifier, i.e. if the element is defined in SAREF4CITY, the prefix is s4city
, while if the element is reused from another ontology it is indicated by a prefix according to Table 1.
Arrows are used to represent properties between classes and to represent some RDF, RDF-S and OWL constructs, more precisely:
- Plain arrows with white triangles represent the
rdfs:subClassOf
relation between two classes. The origin of the arrow is the class to be declared as subclass of the class at the destination of the arrow. - Dashed arrows between two classes indicate a local restriction in the origin class, i.e. that the object property can be instantiated between the classes in the origin and the destination of the arrow. The identifier of the object property is indicated within the arrow.
- Dashed arrows with identifiers between stereotype signs (i.e. "<< >>") refer to OWL constructs that are applied to some ontology elements, that is, they can be applied to classes or properties depending on the OWL construct being used.
- Dashed arrows with no identifier are used to represent the
rdf:type
relation, indicating that the element in the origin of the arrow is an instance of the class in the destination of the arrow.
Datatype properties are denoted by rectangles attached to the classes, in an UML-oriented way. Dashed boxes represent local restrictions in the class, i.e. datatype properties that can be applied to the class they are attached to.
Individuals are denoted by rectangles in which the identifier is underlined.
Note that Figure 1 aims at showing a global overview of the main classes of SAREF4CITY and their mutual relations. More details on the different parts of Figure 1 are provided from clause 4.2.2 to clause 4.2.8.

Topology
In the SAREF4CITY ontology existing models have been reused when needed in order to increase interoperability and reduce effort in modelling general domains. As an example, for modelling the requirements related to the topology domain, standard ontologies already developed have been reused and connected to the SARE4CITY elements. As shown in Figure 2, for representing spatial objects the geo:SpatialObject
class from GeoSPARQL has been reused along with its subclasses geo:Feature
, geo:Geometry
and the classes from the simple features ontology sf:Geometry and sf:Point and the properties geo:sfContains
, geo:sfWithin
and geo:hasGeometry
.

Administrative Area
The model defined to describe administrative areas is depicted in Figure 3. As it can be observed, this model heavily relies on the topology pattern described in clause 4.2.2. In this sense, the ability to connect administrative areas (e.g. a city) with their inner areas, (e.g. its neighbourhoods) is given by inheritance of the geo:SpatialObject
class and through the geo:Feature
class. That is, as s4city:AdministrativeArea
is subclass of geo:SpatialObject
, the geo:sfContains
and geo:sfWithin
properties could also be applied to all the administrative areas defined, namely s4city:City
, s4city:Country
, s4city:District
and s4city:Neighbourhood
.

City Object
The model developed to represent city objects is shown in Figure 4. This model also relies on the topology pattern described in clause 4.2.2, as for the administrative area case. The ability to connect city objects with the city or with the parts in which they are located is enabled by means of the properties geo:sfContains
and geo:sfWithin
inherited from the geo:SpatialObject
class.

Event
Figure 5 presents the model developed to represent temporal and scheduled events. The main concept of this pattern is the class s4city:Event
. Such event is linked to the agent organizing it by means of the s4city:organizedBy
property. Note that a public administration is a subclass of agent; therefore, this model includes the possibility of events being organized by public administrations as well as by other types of agents. The events can take place at a particular facility (s4city:Facility
) which is indicated by the s4city:takesPlaceAtFacility
property and at a given time, which is represented by the s4city:takesPlaceAtTime
property that links the event to temporal entities (time:TemporalEntity
) defined by the W3C Time ontology. Finally, as events can be part of bigger events, this relation has been modelled by means of the property s4city:isSubEventOf
.

Table 2 summarizes the properties that characterize the s4city:Event
.
Property | Definition |
---|---|
s4city:isOrganizedBy only s4city:Agent | The relation between events and agents, that can be persons or organizations, that organize the event. |
Observation
The modelling of observation in the SAREF4CITY ontology totally relies on the observation model proposed in SAREF. This modelling includes the saref:FeatureOfInterest
class that provides the means to refer to the real world phenomena that is being observed in the given measurement. In order to reduce duplication with SAREF documentation, the reader is referred to the SAREF specification for details about SAREF modelling including here details only for the new concepts.
Key Performance Indicator
Figure 6 provides an overview of the modelling of Key Performance Indicators (KPI). The KPI modelling involves two main concepts, namely s4city:KeyPerformanceIndicator
and s4city:KeyPerformanceIndicatorAssessment
. This distinction is needed to decouple the definition of a KPI in general terms, for example the mean air pollution per week, and a particular value of such KPI, for example the mean value of air pollution last week in Madrid.
A s4city:KeyPerformanceIndicator
is related to a saref:FeatureOfInterest
by means of the property s4city:isKPIOf
. It should be noted that the inverse relation of s4city:isKPIOf
is also defined, more precisely, the relation s4city:hasKPI
links a given saref:FeatureOfInterest
to its KPIs represented as instances of s4city:KeyPerformanceIndicator
. The calculation period of a s4city:KeyPerformanceIndicator
is indicated by the property s4city:hasCalculationPeriod
. The name and a natural language description of the s4city:KeyPerformanceIndicator
are indicated by the attributes s4city:hasName
and s4city:hasDescription
, respectively.
The relation between a specific assessment of a KPI (s4city:KeyPerformanceIndicatorAssessment
) and the general KPI definition (s4city:KeyPerformanceIndicator
) can be established by means of the property s4city:quantifiesKPI
. A s4city:KeyPerformanceIndicatorAssessment
is related to the saref:FeatureOfInterest
by means of the property s4city:assesses
. The temporal entity to which the assessment of the KPI refers to is represented by the property s4city:refersToTime
. The agent assessing the KPI is linked by means of the property s4city:isAssessedBy
. In order to express the administrative area or geographical location assessed by the KPI, the property s4city:refersToFeature
is included in the model. In case the KPI represents a value extracted from an aggregation of observations, the property s4city:isDerivedFrom
can be used to link to such observations (saref:Observation
). The unit of measure in which a KPI value is expressed is indicated by means of the reused property saref:isMeasuredIn
while the value itself is indicated by the attribute saref:hasValue
. The name and a natural language description of the s4city:KeyPerformanceIndicatorAssessment
are indicated by the attributes s4city:hasName
and s4city:hasDescription
, respectively. The creation, expiration and last update dates of the value are represented by the attributes s4city:hasCreationDate
, s4city:hasExpirationDate
and s4city:hasLastUpdateDate
, respectively.

Table 3 summarizes the properties that characterize the s4city:KeyPerformanceIndicator
class.
Property | Definition |
---|---|
s4city:hasCalculationPeriod only xsd:duration | The relation between a KPI and its calculation period. |
s4city:isKPIOf only saref:FeatureOfInterest | The relation between a KPI and the feature of interest it assesses. |
Table 4 summarizes the properties that characterize the s4city:KeyPerformanceIndicatorAssessment
class.
Property | Definition |
---|---|
s4city:assesses only saref:FeatureOfInterest | The relation between a KPI assessment and the feature of interest it assesses. |
s4city:hasCreationDate only xsd:dateTime | The creation date of a KPI assessment. |
s4city:hasExpirationDate only xsd:dateTime | The expiration date of a KPI assessment. |
s4city:hasLastUpdateDate only xsd:dateTime | The last update date of a KPI assessment. |
s4city:isAssessedBy only s4city:Agent | The relation between a KPI assessment and the agent who assesses it. |
s4city:isDerivedFrom only saref:Observation | The relation between a KPI assessment and the observations it aggregates. |
s4city:quatifiesKPI only s4city:KeyPerformanceIndicator | The relation between a KPI assessment and the general description of the KPI it quantifies. |
s4city:refersToTime only time:TemporalEntity | The relation between a KPI assessment and the temporal point or interval it refers to. |
saref:hasValue exactly 1 rdfs:Literal | The value of the KPI assessment. |
saref:isMeasuredIn only saref:UnitOfMeasure | The relation between a KPI assessment and the units of measure the KPI value is expressed on. |
Public Service
The model developed to describe public services within the SAREF4CITY ontology is depicted in Figure 7. The main entity included is the s4city:PublicService
class which is a specialization of the reused concept cpsv:PublicService
class defined in the Public Service vocabulary provided by the ISA vocabularies European initiative. The facility in which the service is provided is indicated by the s4city:involvesFacility
property. It can be also possible to indicate in which administrative area it is provided, for example a neighbourhood, by means of the property cpsv:physicallyAvailableAt
. The public services that an agent (s4city:Agent
) provides or uses are indicated by means of the properties cpsv:provides
and cpsv:uses
, respectively. The languages in which a service is provided are indicated by the property s4city:isAvailableInLanguage
. The name and a natural language description of the s4city:PublicService
are indicated by the attributes s4city:hasName
and s4city:hasDescription
, respectively.

Table 5 summarizes the properties that characterize the s4city:PublicService
class.
Property | Definition |
---|---|
cpsv:physicallyAvailableAt only s4city:AdministrativeArea | The relation between a public event and the administrative area in which it is available. |
s4city:involvesFacility only s4city:Facility | The relation between a public event and the city facility in which it is provided. |
Instantiating SAREF4CITY
Figure 8 shows an example of how to instantiate the SAREF4CITY extension of SAREF. This example shows the use of different patterns included in the SAREF4CITY ontology. First of all, a camera (ex:Camera1
) measures the speed of a car (ex:Car35
) in the information attached to the individual ex:Camera1Measurement200
, which provides a value of 35 Km/hour. The position of the car at that moment is captured by the instance ex:CarLocation2018-11-20T13-30-00
with points to the geographical coordinates in which the car is located and also to the road segment in which it is included. It can be observed that such road segment might contain (see property geo:sf:Contains
) other city objects such as a lamppost or a building.
The KPI pattern is also instantiated in the example. The instance ex:RoadSegment50Congestion2018-11-20T13-30-00
refer to the value (70 %) of the road congestion on the 2018-11-20 at 13:20. Such value is assessed by the public administration ex:City4
. In the calculation of such value the speed of the cars (ex:CarsSpeed2018-11-20
), the pollution (ex:Polution2018-11-20
) and the GMaps API (ex:GMapsAPI2018-11-20)
values have been taken into account as it can be observed from the s4city:isDerivedFrom
property between the KPI value and the different saref:
Observation instances.
In the example the event ex:BasketMatch23
, as sub event of the ex:BasketWeek2018,
is described. It can be seen that the match is accessible by metro, is organized by ex:City4
and takes place at the facility ex:BasketArena7.
Finally, some examples of public services are shown. One service example is the ex:HealthService123
that involves the facility ex:BasketArena7
and is available in Spanish. Such service is available in area ex:Neighbourhood34
that is contained in ex:City4
, which is the service provider organization. In addition, another service, ex:BusService33,
is provided by another organization, in this case ex:TransportCo
.

Ontology Reference
Classes
s4city:AccessibilityConcept — Accessibility concept top Classes ToC
SKOS concept to list accessibility modes.
- has super-classes
- <http://www.w3.org/2004/02/skos/core#Concept>
- is in range of
- s4city:hasAccessibility
s4city:AdministrativeArea — Administrative area top Classes ToC
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)
- has super-classes
- geo:Feature
- has sub-classes
-
s4city:City
s4city:Country
s4city:District
s4city:Neighbourhood
s4city:Agent — Agent top Classes ToC
An agent making an action in the context of a city. An agent could be a person, software, etc.
- has super-classes
-
cpsv:provides only
s4city:PublicService
cpsv:uses only s4city:PublicService
<http://xmlns.com/foaf/0.1/Agent>
s4city:City — City top Classes ToC
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)
- has super-classes
- s4city:AdministrativeArea
s4city:CityObject — City object top Classes ToC
Generic class for describing city objects.
- has super-classes
- geo:Feature
s4city:Country — Country top Classes ToC
A country is a region that is identified as a distinct national entity in political geography. (https://en.wikipedia.org/wiki/Country)
- has super-classes
- s4city:AdministrativeArea
s4city:District — District top Classes ToC
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)
- has super-classes
- s4city:AdministrativeArea
s4city:Event — Event top Classes ToC
Temporary and scheduled event, like a festival or competition. (Definition taken from Wikidata)
- has super-classes
- s4city:isOrganizedBy only s4city:Agent
- is in domain of
-
s4city:hasAccessibility
s4city:isSubEventOf
s4city:takesPlaceAtFacility
s4city:takesPlaceAtTime - is in range of
- s4city:isSubEventOf
s4city:Facility — Facility top Classes ToC
A place, amenity, or piece of equipment provided for a particular purpose. (Definition taken from https://en.oxforddictionaries.com/definition/facility)
- has super-classes
- geo:Feature
- is in range of
-
s4city:involvesFacility
s4city:takesPlaceAtFacility
s4city:KeyPerformanceIndicator — Key Performance Indicator top Classes ToC
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)
- has super-classes
-
s4city:isKPIOf only
saref:FeatureOfInterest
s4city:hasCalculationPeriod only xsd:duration - is in domain of
- s4city:isKPIOf
- is in range of
-
s4city:hasKPI
s4city:quantifiesKPI
s4city:KeyPerformanceIndicatorAssessment — Key performance indicator assessment top Classes ToC
A Key Performance Indicator assessment represents the assessment of a KPI calculated by a given agent in a given time.
- has super-classes
-
s4city:quantifiesKPI only
s4city:KeyPerformanceIndicator
s4city:refersToTime only time:TemporalEntity
s4city:hasCreationDate only xsd:dateTime
s4city:hasExpirationDate only xsd:dateTime
s4city:hasLastUpdateDate only xsd:dateTime
saref:hasValue exactly 1
saref:isMeasuredIn only saref:UnitOfMeasure
s4city:assesses only saref:FeatureOfInterest
s4city:isAssessedBy only s4city:Agent
s4city:isDerivedFrom only saref:Observation - is in domain of
- s4city:refersToFeature
s4city:Neighbourhood — Neighbourhood top Classes ToC
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)
- has super-classes
- s4city:AdministrativeArea
s4city:PublicAdministration — Public administration top Classes ToC
Public leadership of public affairs directly responsible for executive action. (Definition taken from wikidata)
- has super-classes
- <http://www.w3.org/ns/org#Organization>
s4city:PublicService — Public service top Classes ToC
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)
- has super-classes
-
cpsv:physicallyAvailableAt only
s4city:AdministrativeArea
s4city:involvesFacility only s4city:Facility
cpsv:PublicService - is in domain of
-
s4city:involvesFacility
s4city:isAvailableInLanguage
Object Properties
- s4city:assesses
- s4city:hasAccessibility
- s4city:hasKPI
- s4city:involvesFacility
- s4city:isAssessedBy
- s4city:isAvailableInLanguage
- s4city:isDerivedFrom
- s4city:isKPIOf
- s4city:isOrganizedBy
- s4city:isSubEventOf
- s4city:quantifiesKPI
- s4city:refersToFeature
- s4city:refersToTime
- s4city:takesPlaceAtFacility
- s4city:takesPlaceAtTime
s4city:assesses — assesses top Object Properties ToC
Relation between a Key Performance Indicator and the feature of interest being assessed
s4city:hasAccessibility — has accessibility top Object Properties ToC
relation between an event and the accesility modes provided
- has domain
- s4city:Event
- has range
- s4city:AccessibilityConcept
s4city:hasKPI — has key performance indicator top Object Properties ToC
Relation between a feature of interes and Key Performance Indicators
- has domain
- saref:FeatureOfInterest
- has range
- s4city:KeyPerformanceIndicator
- is inverse of
- s4city:isKPIOf
s4city:involvesFacility — involves facility top Object Properties ToC
Relation between public services and the facilities involved
- has domain
- s4city:PublicService
- has range
- s4city:Facility
s4city:isAssessedBy — is assessed by top Object Properties ToC
Relation between a Key Performance Indicator assessment and the agent perfoming the assessment
s4city:isAvailableInLanguage — is available in language top Object Properties ToC
Relation between a public service and the languages it is available in.
- has domain
- s4city:PublicService
- has range
- dct:LinguisticSystem
s4city:isDerivedFrom — is derived from top Object Properties ToC
Relation between a Key Performance Indicator Assessmente and te observations used to calculate it
s4city:isKPIOf — is key performance indicator of top Object Properties ToC
is key performance indicator of
- has domain
- s4city:KeyPerformanceIndicator
- has range
- saref:FeatureOfInterest
- is inverse of
- s4city:hasKPI
s4city:isSubEventOf — is subevent of top Object Properties ToC
Relation between an event and a more general event it is part of.
- has domain
- s4city:Event
- has range
- s4city:Event
s4city:quantifiesKPI — quantifies KPI top Object Properties ToC
Relation between a Key Performance Indicator Assessment and the genral Key Performance Indicator being assessed
- has range
- s4city:KeyPerformanceIndicator
s4city:refersToFeature — refers to feature top Object Properties ToC
Relation between a KPI assessment and the geographical feature it refers to
- has domain
- s4city:KeyPerformanceIndicatorAssessment
- has range
- geo:Feature
s4city:refersToTime — refers to time top Object Properties ToC
Relation between a KPI assessment and the tempral entity it refers to
- has range
- time:TemporalEntity
s4city:takesPlaceAtFacility — takes place at facility top Object Properties ToC
Relation between an event and the facilities it takes place at.
- has domain
- s4city:Event
- has range
- s4city:Facility
s4city:takesPlaceAtTime — takes place at time top Object Properties ToC
Relation between an event and the tiem when it takes place.
- has domain
- s4city:Event
- has range
- time:TemporalEntity
Data Properties
s4city:hasCalculationPeriod — has calculation period top Data Properties ToC
Relation between a KPI and the temporal period it refers to
- has range
- xsd:duration
s4city:hasCreationDate — has creation date top Data Properties ToC
Creation date of a KPI assessment
- has range
- xsd:dateTime
s4city:hasDescription — has description top Data Properties ToC
Description of an entity like a KPI or KPI assessment
- has range
- rdfs:Literal
s4city:hasExpirationDate — has expiration date top Data Properties ToC
Expiration date of a KPI assessment
- has range
- xsd:dateTime
s4city:hasLastUpdateDate — has last update date top Data Properties ToC
Las update of a KPI assessment
- has range
- xsd:dateTime
s4city:hasName — has name top Data Properties ToC
Name of an entity like a KPI or KPI assessment
- has range
- rdfs:Literal
References
Normative references
- [0] ETSI TS 103 410-4 (V2.1.1): "SmartM2M;; Extension to SAREF; Part 4: Smart Cities Domain".
- [1] ETSI TS 103 264: "SmartM2M; Smart Applications; Reference Ontology and oneM2M Mapping".
- [2] ETSI TS 103 548: "SmartM2M; SAREF reference ontology patterns".
- [3] Void.
Informative references
- [i.1] ETSI TR 103 506 (V1.1.1): "SmartM2M; SAREF extension investigation; Requirements for Smart Cities".
- [i.2] ETSI TR 103 781: "SmartM2M; Study for SAREF ontology patterns and usage guidelines".
- [i.3] ETSI TS 103 673: "SmartM2M; SAREF Development Framework and Workflow, Streamlining the Development of SAREF and its Extensions".
Acknowledgements
The editors would like to thank the ETSI SmartM2M technical committee for providing guidance and expertise.
Also, many thanks to the ETSI staff and all other current and former active Participants of the ETSI SmartM2M group for their support, technical input and suggestions that led to improvements to this ontology.
Also, special thanks goes to the ETSI SmartM2M Technical Officer Guillemin Patrick for his help.