Commit 35baa624 authored by Maxime Lefrançois's avatar Maxime Lefrançois
Browse files

Better documentation

parent 468abc43
Loading
Loading
Loading
Loading
Loading
+15 −0
Original line number Original line Diff line number Diff line
The present document is a technical specification of SAREF4CITY, an extension of SAREF [[1]](#[1]) for the Smart Cities domain. 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]](#[i.1]). In addition, the use cases defined in [[i.1]](#[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]](#[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.

SAREF4CITY is an OWL-DL ontology that extends SAREF and reuses six other ontologies. SAREF4CITY includes 31 classes (13 defined in SAREF4CITY and 18 reused from the SAREF, time, geosp, geo, foaf, dcterms, org, cpsv, and time ontologies), 36 object properties (20 defined in SAREF4CITY and 16 reused from the SAREF, geosp, geo, and cpsv ontologies) and 7 data type properties (3 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 [the Namespace Declarations section](#namespacedeclarations)
 No newline at end of file
+5 −0
Original line number Original line Diff line number Diff line
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.
+3 −0
Original line number Original line Diff line number Diff line
- [Maria Poveda-Villalon](https://w3id.org/people/mpoveda/) ([Universidad Politécnica de Madrid](http://www.oeg-upm.net/))
- [Raúl Garcia-Castro](http://www.garcia-castro.com/foaf.rdf#me) ([Universidad Politécnica de Madrid](http://www.oeg-upm.net/))
- [Paola Espinoza-Arias](https://www.linkedin.com/in/paolaespinoza-arias/) ([Universidad Politécnica de Madrid](http://www.oeg-upm.net/))
+107 −0
Original line number Original line Diff line number Diff line
<h3>General Overview</h3>


<p>An overview of the SAREF4CITY ontology is provided in <a href="#Figure_1">Figure 1</a>. 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.</p>
<p>Arrows are used to represent properties between classes and to represent some RDF, RDF-S and OWL constructs, more precisely:</p>
<ul>
 <li>Plain arrows with white triangles represent the <a href="https://www.w3.org/TR/rdf-schema/#ch_subclassof">rdfs:subClassOf</a> 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.</li>
 <li>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.</li>
 <li>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.</li>
 <li>Dashed arrows with no identifier are used to represent the <a href="https://www.w3.org/TR/rdf-schema/#ch_type">rdf:type</a> relation, indicating that the element in the origin of the arrow is an instance of the class in the destination of the arrow.</li>
</ul>
<p>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.</p>
<p>Individuals are denoted by rectangles in which the identifier is underlined.</p>
<p>Note that <a href="#Figure_1">Figure 1</a> aims at showing a global overview of the main classes of SAREF4CITY and their mutual relations. </p>


<figure>
  <a href="diagrams/Overview.png"><img src="diagrams/Overview.png" alt="SAREF4CITY Overview"/></a>
  <figcaption id="Figure_1">Figure 1: SAREF4CITY overview</figcaption>
</figure>


<h3>Topology</h3>

<p>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 <a href="#Figure_2">Figure 2</a>, for representing spatial objects the geosp:SpatialObject class from GeoSPARQL has been reused along with its subclasses geosp:Feature, geosp:Geometry and the properties geosp:sfContains, geosp:sfWithin and geosp:hasGeometry. In addition, the class geo:Point and the property geo:location have been reused from the W3C de-facto standard for geographical information "WGS84 Geo Positioning vocabulary" in order to be able to indicate that something is located at certain coordinates.</p>


<figure>
  <a href="diagrams/Topology.png"><img src="diagrams/Topology.png" alt="Topology model"/></a>
  <figcaption id="Figure_2">Figure 2: Topology model</figcaption>
</figure>


<h3>Administrative Area</h3>

<p>The model defined to describe administrative areas is depicted in <a href="#Figure_3">Figure 3</a>. 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 geosp:SpatialObject class and through the geosp:Feature class. That is, as <a href="#s4city:AdministrativeArea">s4city:AdministrativeArea</a> is subclass of geosp:SpatialObject, the geosp:sfContains and geosp:sfWithin properties could also be applied to all the administrative areas defined, namely <a href="#s4city:City">s4city:City</a>, <a href="#s4city:Country">s4city:Country</a>, <a href="#s4city:District">s4city:District</a> and <a href="#s4city:Neighbourhood">s4city:Neighbourhood</a>.</p>

<figure>
  <a href="diagrams/AdministrativeArea.png"><img src="diagrams/AdministrativeArea.png" alt="Administrative Area model"/></a>
  <figcaption id="Figure_3">Figure 3: Administrative Area model</figcaption>
</figure>

<h3>City Object</h3>

<p>The model developed to represent city objects is shown in <a href="#Figure_4">Figure 4</a>. 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 geosp:sfContains and geosp:sfWithin inherited from the geosp:SpatialObject class.</p>

<figure>
  <a href="diagrams/CityObject.png"><img src="diagrams/CityObject.png" alt="City Object model"/></a>
  <figcaption id="Figure_4">Figure 4: City Object model</figcaption>
</figure>

<h3>Event</h3>

<a href="#Figure_5">Figure 5</a> presents the model developed to represent temporal and scheduled events. The main concept of this pattern is the class <a href="#s4city:Event">s4city:Event</a>. Such event is linked to the agent organizing it by means of the <a href="#s4city:organizedBy">s4city:organizedBy</a> 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 (<a href="#s4city:Facility">s4city:Facility</a>) which is indicated by the <a href="#s4city:takesPlaceAtFacility">s4city:takesPlaceAtFacility</a> property and at a given time, which is represented by the <a href="#s4city:takesPlaceAtTime">s4city:takesPlaceAtTime</a> 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 <a href="#s4city:isSubEventOf">s4city:isSubEventOf</a>.

<figure>
  <a href="diagrams/Event.png"><img src="diagrams/Event.png" alt="Event model"/></a>
  <figcaption id="Figure_5">Figure 5: Event model</figcaption>
</figure>


<h3>Measurement</h3>

<p>As it can be observed in <a href="#Figure_6">Figure 6</a>, the modelling of measurements in the SAREF4CITY ontology totally relies on the measurement model proposed in SAREF. This modelling includes the <a href="https://saref.etsi.org/core/FeatureOfInterest">saref:FeatureOfInterest</a> 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.</p>

<figure>
  <a href="diagrams/Measurement.png"><img src="diagrams/Measurement.png" alt="Measurement model"/></a>
  <figcaption id="Figure_6">Figure 6: Measurement model</figcaption>
</figure>



<h3>Key Performance Indicator</h3>

<a href="#Figure_7">Figure 7</a> provides an overview of the modelling of Key Performance Indicators (KPI). The KPI modelling involves two main concepts, namely <a href="#s4city:KeyPerformanceIndicator">s4city:KeyPerformanceIndicator</a> and <a href="#s4city:KeyPerformanceIndicatorAssessment">s4city:KeyPerformanceIndicatorAssessment</a>. 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.
<p>A <a href="#s4city:KeyPerformanceIndicator">s4city:KeyPerformanceIndicator</a> is related to a <a href="https://saref.etsi.org/core/FeatureOfInterest">saref:FeatureOfInterest</a> by means of the property <a href="#s4city:isKPIOf">s4city:isKPIOf</a>. It should be noted that the inverse relation of <a href="#s4city:isKPIOf">s4city:isKPIOf</a> is also defined, more precisely, the relation <a href="#s4city:hasKPI">s4city:hasKPI</a> links a given <a href="https://saref.etsi.org/core/FeatureOfInterest">saref:FeatureOfInterest</a> to its KPIs represented as instances of <a href="#s4city:KeyPerformanceIndicator">s4city:KeyPerformanceIndicator</a>. The calculation period of a <a href="#s4city:KeyPerformanceIndicator">s4city:KeyPerformanceIndicator</a> is indicated by the property <a href="#s4city:hasCalculationPeriod">s4city:hasCalculationPeriod</a>. The name and a natural language description of the <a href="#s4city:KeyPerformanceIndicator">s4city:KeyPerformanceIndicator</a> are indicated by the attributes <a href="#s4city:hasName">s4city:hasName</a> and <a href="#s4city:hasDescription">s4city:hasDescription</a>, respectively.</p>
<p>The relation between a specific assessment of a KPI (<a href="#s4city:KeyPerformanceIndicatorAssessment">s4city:KeyPerformanceIndicatorAssessment</a>) and the general KPI definition (<a href="#s4city:KeyPerformanceIndicator">s4city:KeyPerformanceIndicator</a>) can be established by means of the property <a href="#s4city:quantifiesKPI">s4city:quantifiesKPI</a>. A <a href="#s4city:KeyPerformanceIndicatorAssessment">s4city:KeyPerformanceIndicatorAssessment</a> is related to the <a href="https://saref.etsi.org/core/FeatureOfInterest">saref:FeatureOfInterest</a> by means of the property <a href="#s4city:assesses">s4city:assesses</a>. The temporal entity to which the assessment of the KPI refers to is represented by the property <a href="#s4city:refersToTime">s4city:refersToTime</a>. The agent assessing the KPI is linked by means of the property <a href="#s4city:isAssessedBy">s4city:isAssessedBy</a>. In order to express the administrative area or geographical location assessed by the KPI, the property <a href="#s4city:refersToSpace">s4city:refersToSpace</a> is included in the model. In case the KPI represents a value extracted from an aggregation of measurements, the property <a href="#s4city:isDerivedFrom">s4city:isDerivedFrom</a> can be used to link to such measurements (<a href="https://saref.etsi.org/core/Measurement">saref:Measurement</a>). The unit of measure in which a KPI value is expressed is indicated by means of the reused property <a href="https://saref.etsi.org/core/isMeasuredIn">saref:isMeasuredIn</a> while the value itself is indicated by the attribute <a href="https://saref.etsi.org/core/hasValue">saref:hasValue</a>. The name and a natural language description of the <a href="#s4city:KeyPerformanceIndicatorAssessment">s4city:KeyPerformanceIndicatorAssessment</a> are indicated by the attributes <a href="#s4city:hasName">s4city:hasName</a> and <a href="#s4city:hasDescription">s4city:hasDescription</a>, respectively. The creation, expiration and last update dates of the value are represented by the attributes <a href="#s4city:hasCreationDate">s4city:hasCreationDate</a>, <a href="#s4city:hasExpirationDate">s4city:hasExpirationDate</a> and <a href="#s4city:hasLastUpdateDate">s4city:hasLastUpdateDate</a>, respectively.</p>

<figure>
  <a href="diagrams/KPI.png"><img src="diagrams/KPI.png" alt="Key Performance Indicator model"/></a>
  <figcaption id="Figure_7">Figure 7: Key Performance Indicator model</figcaption>
</figure>



<h3>Public Service</h3>

<p>The model developed to describe public services within the SAREF4CITY ontology is depicted in <a href="#Figure_8">Figure 8</a>. The main entity included is the <a href="#s4city:PublicService">s4city:PublicService</a> 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 <a href="#s4city:involvesFacility">s4city:involvesFacility</a> 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 (<a href="#s4city:Agent">s4city:Agent</a>) 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 <a href="#s4city:isAvailableInLanguage">s4city:isAvailableInLanguage</a>. The name and a natural language description of the <a href="#s4city:PublicService">s4city:PublicService</a> are indicated by the attributes <a href="#s4city:hasName">s4city:hasName</a> and <a href="#s4city:hasDescription">s4city:hasDescription</a>, respectively.</p>

<figure>
  <a href="diagrams/PublicService.png"><img src="diagrams/PublicService.png" alt="Public Service model"/></a>
  <figcaption id="Figure_8">Figure 8: Public Service model</figcaption>
</figure>


<h3>Instantiating SAREF4CITY</h3>

<a href="#Figure_9">Figure 9</a> 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 (<a>ex:Camera1</a>) measures the speed of a car (<a>ex:Car35</a>) in the information attached to the individual <a>ex:Camera1Measurement200</a>, which provides a value of 35 Km/hour. The position of the car at that moment is captured by the instance <a>ex:CarLocation2018-11-20T13-30-00</a> 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 geosp:sf:Contains) other city objects such as a lamppost or a building.
<p>The KPI pattern is also instantiated in the example. The instance <a>ex:RoadSegment50Congestion2018-11-20T13-30-00</a> 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 <a>ex:City4</a>. In the calculation of such value the speed of the cars (<a>ex:CarsSpeed2018-11-20</a>), the pollution (<a>ex:Polution2018-11-20</a>) and the GMaps API (<a>ex:GMapsAPI2018-11-20</a>) values have been taken into account as it can be observed from the s4ctiy:isDerivedFrom property between the KPI value and the different <a href="https://saref.etsi.org/core/Measurement">saref:Measurement</a> instances.</p>
<p>In the example the event <a>ex:BasketMatch23</a>, as sub event of the <a>ex:BasketWeek2018</a>, is described. It can be seen that the match is accessible by metro, is organized by <a>ex:City4</a> and takes place at the facility <a>ex:BasketArena7</a>.</p>
<p>Finally, some examples of public services are shown. One service example is the <a>ex:HealthService123</a> that involves the facility <a>ex:BasketArena7</a> and is available in Spanish. Such service is available in area <a>ex:Neighbourhood34</a> that is contained in <a>ex:City4</a>, which is the service provider organization. In addition, another service, <a>ex:Bus33Service</a>, is provided by another organization, in this case <a>ex:TransportCo</a>.</p>

<figure>
  <a href="diagrams/Example.png"><img src="diagrams/Example.png" alt="Example"/></a>
  <figcaption id="Figure_9">Figure 9: Example</figcaption>
</figure>
+25.5 KiB
Loading image diff...
Loading