39
D2.4 Semantic Interoperability Components R1 Editor: Martin Bauer (NEC) Submission date: 28/02/17 Version 1.0.2 Contact: [email protected] This document describes the semantic modelling and the semantic interoperability components for Release 1.

D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

D2.4

Semantic Interoperability

Components R1

Editor: Martin Bauer (NEC)

Submission date: 28/02/17

Version 1.0.2

Contact: [email protected]

This document describes the semantic modelling and the semantic interoperability components for Release 1.

Page 2: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Editor: Martin Bauer (NEC)

Deliverable nature: O

Dissemination level: PU

Contractual/actual delivery date: M09 M10

Disclaimer

This document contains material, which is the copyright of certain Wise-IoT consortium parties, and

may not be reproduced or copied without permission.

In case of Public (PU):

All Wise-IoT consortium parties have agreed to full publication of this document.

Neither the Wise-IoT consortium as a whole, nor a certain part of the Wise-IoT consortium, warrant

that the information contained in this document is capable of use, nor that use of the information is

free from risk, accepting no liability for loss or damage suffered by any person using this information.

This project has received funding from the European Union’s H2020 Programme for research,

technological development and demonstration under grant agreement No 723156, the Swiss State

Secretariat for Education, Research and Innovation (SERI) and the South-Korean Institute for

Information & Communications Technology Promotion (IITP).

Copyright notice

2017 Participants in project Wise-IoT

Page 3: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Table of contents

Executive summary _________________________________________ 4

Authors ______________________________________________________ 5

Glossary _____________________________________________________ 6

1 Introduction ______________________________________________ 7

1.1 Positioning in the project _______________________________________ 7

1.2 Deliverable contribution ________________________________________ 8

2 Semantic Modelling ______________________________________ 9

2.1 Semantic Modelling in oneM2M _________________________________ 9

2.2 Semantic Modelling for NGSI __________________________________ 11

2.3 Semantic Modelling for Smart City Use Case _________________ 12

2.3.1 Smart Parking ____________________________________________________ 12

2.3.2 Bus Information System __________________________________________ 20

2.3.3 Crowd Modelling __________________________________________________ 27

2.4 Semantic Modelling for Smart Skiing Use Case _______________ 29

2.4.1 Crowd monitoring _________________________________________________ 30

2.4.2 Assets tracking ___________________________________________________ 31

2.4.3 “Conquer the slope” ______________________________________________ 31

3 Semantic Interoperability Components _________________ 32

3.1 oneM2M Resources and Interactions__________________________ 32

3.2 NGSI ____________________________________________________________ 34

3.3 Semantic Translation in Semantic Mediation Gateway R1 ___ 35

3.4 Semantic Annotator ____________________________________________ 36

4 Conclusion and Outlook _________________________________ 38

5 References ______________________________________________ 39

Page 4: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Executive summary

This deliverable describes the semantic interoperability components required for achieving semantic

interoperability between the platforms to be used in Wise-IoT. As part of this deliverable these

components are made available to the consortium to be used for implementing the Wise-IoT use

cases.

The basis for this are the underlying information models in the platforms used, i.e. the oneM2M Base

Ontology for the oneM2M platform and the NGSI context information model in the case of the FIWARE

platform. To achieve interoperability, the modelling of information has to be based on the core

concepts. This is especially relevant for the NGSI Context Information model, which is based on the

concepts of Entity and Attribute. Fortunately, the corresponding concepts of Thing and ThingProperty

exist in the oneM2M Base Ontology, so a common model can be achieved.

This deliverable presents the ontologies that have been developed or re-used for the different use

cases of Wise-IoT. In the case of Smart Parking, an existing data model from FIWARE could be reused

as the basis for the Smart Parking Ontology. In the case of the Bus Information System use case, an

ontology has been developed deriving its domain-specific concepts from the concepts of Thing and

ThingPorperty of the oneM2M Base Ontology. The Crowd Modelling is based on the NGSI modelling of

entities and attributes. The ontology for the Smart Skiing use case had to be newly developed, but is

based on the existing OpenSnowMap data model.

The description of the functional semantic interoperability components first looks at how semantic

information is handled and used in the oneM2M platform. Existing oneM2M resources can be

annotated with semantic descriptor resources containing semantic descriptions in RDF. Then it is

shown how semantic information that is based on an ontology can be mapped into the NGSI data

structure, so the data structure logically can be seen as a non-standard representation of ontology

instances. There are current activities for developing a JSON-LD representation for NGSI, in which case

it would become a standard semantic representation. Then it is shown how the Semantic Mediation

Gateway, which will evolve to become the Adaptive Semantic Module of the Morphing Mediation

Gateway in Release 2 of the Wise-ioT components, uses semantic information for translating

information from oneM2M to the NGSI information model, so it can be used by the NGSI-based

enablers of the FIWARE platform.

The semantic interoperability components and ontologies will be used in the Wise-IoT use cases.

Based on the requirements and feedback from the use cases, they will be further developed towards

their second release, which will be provided in deliverable D2.5.

Page 5: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Authors

Chapter Author (Organisation)

1 Introduction Martin Bauer (NEC)

2.1 Semantic Modelling in

oneM2M

JaeSeung Song (SJU) / JaeYoung Hwang (SJU)

2.2 Semantic Modelling for NGSI Martin Bauer (NEC)

2.3.1 Smart Parking Carmen Lopéz (UC) / SeungMyeong Jeong (KETI)

2.3.2 Bus Information System Hoang Minh (KAIST)

2.3.3 Crowd Modelling Fang-Jing Wu (NEC)

2.4 Semantic Modelling for Smart

Skiing Use Case

Rémi Druilhe (CEA)

3.1 oneM2M Resources and

Interactions

JaeSeung Song (SJU) / JaeYoung Hwang (SJU)

3.2 NGSI Martin Bauer (NEC)

3.3 Semantic Translation in

Semantic Mediation Gateway R1

Martin Bauer (NEC)

4 Conclusions Martin Bauer (NEC)

Page 6: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Glossary

Term or Abbreviation Definition (Source)

oneM2M Partnership project of telecom standardization organizations

around the world that specify the IoT/M2M service layer

platform as a basis for developing IoT/M2M applications.

(OMA) NGIS Next Generation Service Interfaces – group of interfaces

originally developed by OMA. In this context only the Context

Interfaces NGSI-9 and NGSI -10 are relevant. These have been

further developed in FIWARE (FIWARE) NGSI

(FIWARE) NGSI REST-like binding for OMA NGSI Context Interfaces using a JSON

representation.

FIWARE “Future Internet-WARE” – Platform developed as part of the EU

F7 Future Internet PPP, which is now managed by the FIWARE

Foundation.

MMG Morphing Mediation Gateway – component that allows flexible

translation between information from different platforms. New

translation models can be dynamically deployed at run-time.

Page 7: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Introduction

7

1 Introduction

1.1 Positioning in the project

The Wise-IoT project creates openness by building technologies for Global IoT Systems (GIoTS) that

decouple devices and applications from locally deployed IoT technology stacks. According to the Wise-

IoT consortium, decoupling can only be achieved without imposing great effort on the application

developer or device manufacturer if the three following conditions hold. The IoT data collection,

formatting, and transformation must be managed, dynamically if necessary. Remote IoT systems must

be usable by an application or device irrespectively of the IoT technology for which the application or

device has originally been developed. Finally, mechanisms need to be deployed that offer security,

privacy, and trust in IoT infrastructure that, with the help of Wise-IoT, becomes globally interworking.

The Wise-IoT objectives and stakeholder needs are addressed with an integrated architectural

approach that builds on established IoT standards and features the following technological

contributions.

Morphing Gateway to offer interworking between heterogeneous IoT platforms: Data from multiple

sources is often delivered in different formats, semantics, time slicing, precisions, etc. Thus translation

is required before the data can be used by a single application. Different sources need to be

transformed in different ways. Hence enabling applications taking advantage of heterogeneous

sources of IoT requires versatile and flexible facilities for real-time processing and translation of

collected and stored data. Since in IoT the availability of sources and the technologies used

dynamically change over time, gateways need to adapt themselves or “morph” over time. The

Morphing Gateway is the technology proposed by Wise-IoT to provide a world-wide interoperable IoT

infrastructure.

Semantic interoperability components: IoT devices must be managed to be discoverable and deliver

data with appropriate quality. Wise-IoT aims at automating the discovery, provisioning, and

reconfiguration functions. Reliable semantic-based discovery features will alleviate the need for

human involvement and assistance and allow GIoTS to complete automated installations. The

semantic interoperability components will also support the creation of a world-wide interoperable IoT

infrastructure.

Monitoring and adaptation mechanisms: In a global interoperability and mobility context, user

behaviour, IoT systems capabilities, and data quality are difficult to predict. User goal fulfilment will

need to be monitored and the factors affecting user trust be identified. The results obtained from

monitoring and feedback collection will allow applications and systems to be adapted to meet the user

needs and the capabilities of the context the applications are run. The monitoring and adaptation

mechanism is the technology proposed by Wise-IoT to win and retain users’ trust for exploitation of

data offered by global IoT infrastructure.

Trust framework and end-to-end security: The introduction globally connected IoT systems increases

the sensitivity of the data that is being collected and the scale of risk exposure when the IoT system is

being attacked. Trust agents are needed to collect trust-related data, trust brokers to disseminate that

data, and analysis and management tools needed to assess the system state and establish policies. The

trust framework is the technology proposed by Wise-IoT to harden the security and dependability of

world-wide interoperable IoT infrastructure.

Page 8: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Introduction

8

The results obtained from conceptual design, implementation, and empirical evaluation of the Wise-

IoT contributions in the field pilots from the perspectives of the Wise-IoT stakeholders will be used to

contribute to international IoT standardization.

1.2 Deliverable contribution

This deliverable describes the first release of the Semantic Interoperability components developed by

WP2 to be used as part of the Wise-IoT use cases. In addition to the actual components used in the

project, this accompanying report provides an overview of the delivered components, their current

status, and, where applicable, an outlook on the planned development for the second release.

Please note that the first release focuses on providing an initial basis for achieving interoperability

between the IoT platforms used, in particular between the oneM2M platform and NGSI-based FIWARE

GEs. It is about making it work in a basic way with limited flexibility and no support for dynamic

aspects. The core components for this are described in D2.1 whereas the focus of D2.4 is on the

semantic aspects that are to be integrated. For this, the semantic modelling is of key importance and

the required initial step. Thus a big part of this deliverable is dedicated to describing this, including the

ontologies that will be used in the respective use cases and are now available as a first version, which

will evolve in during the development. The Semantic Mediation Gateway takes a semantic-driven

approach for translating between semantically annotated oneM2M information and NGSI context

information (as described in Section 3.3) and thus realizes semantic interoperability. However, this

does not yet provide the flexibility and dynamic adaptation that is envisioned for the Adaptive

Semantic Module of the Morphing Mediation Gateway in the second release. It is this second release

to be described in D2.5 that will use reasoner and processing flow components to achieve dynamic

adaptation and a higher flexibility. These components have already mentioned in the description of

D2.4 in the Description of Action, but they are not available yet as they will not be needed to make

things work in the first stage.

This document is structured as follows: Chapter 2 first introduces the semantic modelling in oneM2M

and in connection with FIWARE: the Thing concept in the oneM2M base ontology can be mapped to

the Entity concept, enabling the creation of use case ontologies that are suitable for both platforms

and thus provide a basis for semantic interoperability. The initial ontologies for the main use cases, i.e.

smart city and smart skiing are described in Section 2.3 and Section 2.4 respectively.

Chapter 3 looks at semantic functionalities provided by the underlying platforms, and how the

semantic information can be used to connect these platforms, e.g. in the Morphing Mediation

Gateway. Whereas the general architecture, as well as key components and interactions are described

in D2.1 [3], the semantic modelling and processing aspects are described here.

Chapter 4 provides conclusions and an outlook to future work, in particular with respect to the second

release of components as part of D2.5.

Page 9: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

9

2 Semantic Modelling

2.1 Semantic Modelling in oneM2M

In the oneM2M standard, the concepts of abstraction and semantics are applied for supporting

coherent methodology to user and developers [11]. For example, by using abstraction concepts an IoT

system can decouple IoT applications from specific end device implementations regardless of their

technologies. It means that users do not need to know about technologies that are used in an IoT

device for example a Zigbee light switch device. In addition, semantic technologies provide a

description of the relationship between things/data/information so that they can support finding

meaningful information between IoT devices. Figure 1 shows a basic concept of abstraction and

semantics in the IoT system.

Figure 1 - High-level concept of abstraction and semantics

Ontology and their OWL representations are used in the oneM2M platform to provide syntactic and

semantic level interoperability of the oneM2M system with other IoT systems using their own

ontologies [12]. oneM2M only provides the minimal ontology, i.e., the oneM2M Base Ontology,

describing entities composing the oneM2M Ssystem. This base ontology can be used by other

organizations and companies to contribute their specific ontology that can be mapped to the oneM2M

Base Ontology [8].

The Base Ontology only contains Classes and Properties but not instances because the base

ontology and derived ontologies are used in oneM2M to only provide a semantic description of the

entities. Figure 2 shows the essential Classes and Properties of the oneM2M Base Ontology.

The nodes (bubbles) denote Classes whereas edges (arrows) denote Object Properties.

Page 10: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

10

Device

hasService hasFunction

OperationInput

refersTo

ControllingFunction

consistsOf

OperationOutput

OperationState

hasOperationState

exposesFunction

InterworkedDevice

ThinghasThingProperty

hasThingRelationThing

Property

is-a

is-a

Variable

OutputDataPoint

is-a

is-a

FunctionService

Operation

hasOperation

Command

hasCommand

is-a

Aspect

MetaData

AreaNetwork

isPartOf

hasOutput hasInput

hasMetaData

describes

SimpleTypeVariable

MeasuringFunction

InputDataPoint

exposesCommand

is-a

GET_Input

DataPoint

is-a

SET_Output

DataPoint

Variable

Aspect

hasOutputDataPoint

hasInputDataPoint

hasSubService

hasOutputDataPoint

is-a

hasInputDataPoint

Variable

Legend: A class shown with grey shading indicates that the same class appears multiple times in the figure

Variable

hasSubStructure

VariableConversion

hasConversionis-a

convertsTo

Figure 2 – The oneM2M Base Ontology

Page 11: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

11

2.2 Semantic Modelling for NGSI

In 2009/2010 OMA specified a set of interfaces called Next Generation Service Interfaces (NGSI). The

idea behind these interfaces was to replace and enhance the Parlay-X interfaces. One extension area

was context management and OMA defined two interfaces the Context Federation APIs and the

Context Operation APIs [2], which were numbered NGSI-9 and NGSI-10 respectively – so the number is

not a version number but the number of the interface within the NGSI interfaces. When NGSI

interfaces and data models are mentioned in the context of this document, the context of FIWARE and

the context of Wise-IoT, this only refers to the context interfaces. In OMA NGSI, only the abstract

context interfaces were defined, i.e. the functions and parameters are defined, but not the protocols

to be used. During the development of FIWARE, a REST-like HTTP binding was defined (sometimes also

referred to as FIWARE NGSI) and some further extensions and modifications (sometimes also referred

to as NGSIv1 and NGSIv2) using JSON for representing information. With the establishment of the ETSI

ISG CIM (Context Information Management) in January 2017, it is planned to evolve the context

interfaces, providing again a new and complete formal specification.

The core concept in the NGSI context interfaces is the concept of entity as it had been used in the

context definition by Anind Dey, which is relatively popular in the context-awareness community:

Context is any information that can be used to characterize the situation of an entity. An entity is a

person, place, or object that is considered relevant to the interaction between a user and an

application, including the user and applications themselves (Dey, 2001). [1]

Figure 3- OMA NGSI Context Information Model

Figure 3 shows the OMA NGSI Context Information Model. The core concept is the Context Entity –

typical entities are physical objects like buildings, rooms, cars but also persons, groups, events and

more abstract things like the coverage area of a wireless network. Entities have an identifier and a

type. The aspects of interest about entities are modelled as attributes, which have a name, type, value

and possibly a number of meta data elements, which again have a name, a type and a value.

For example, if the entity represents a meeting room, its type could be meeting room, and it might

have an attribute with name indoor_temperature, whose value would be the actual temperature, e.g.

27, the type would be temperature and as meta information the unit (e.g Celsius) and the accuracy

(e.g. +/- 0.5°C) could be provided.

class Context Information Model

Context Entity

- EntityId: xsd:string

- EntityType: xsd:anyURI

Person Group Place Event Thing

Context Attributes

- Name: xsd:string

- Type: xsd:anyURI

- Value: xsd:any

Meta-Data

- Name: xsd:string

- Type: xsd:anyURI

- Value: xsd:any

*1 *1

Page 12: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

12

OMA NGSI does not use a semantic representation of information, but identifies the option of using

references to ontology concepts for defining the types. Logically one can interpret the information

represented according to the NGSI data model as ontology instances, albeit represented according to

its own structure and not in a typical semantic format like RDF. Nevertheless, basing the NGSI

information on ontology concepts, an example of which is shown in Figure 4, NGSI can be used to

represent semantic information and, doing some transformations, embed it in the world of semantics.

Figure 4 – NGSI data modelled based on a fitting ontology

In the ETSI ISG CIM it is under discussion to develop a JSON-LD representation for the context

interface, which would directly ground it in the semantic world and directly offer a semantic

representation, as JSON-LD is one way of representing RDF triples.

2.3 Semantic Modelling for Smart City Use Case

2.3.1 Smart Parking

The Wise-IoT Smart Parking use case can be defined as an application based solution which, making

use of the available parking information from Busan and Santander cities, aims to both demonstrate

the interoperability of data between Europe and Korea through the Wise-IoT platform, and to provide

a service to the users which suggests them a route to an empty parking lot in the city. A complete

description of the use case can be found in [4].

Aiming to achieve the data interoperability, both data from Santander and Busan cities related to

parking have to design a concrete data model in order to, before be finally stored in the Wise-IoT CIM

layer, be translated by the Wise-IoT Morphing Mediation Gateway.

Page 13: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

13

In the case of Santander city, numerous parking sensors have been deployed in the downtown to

indicate the number of parking spots that are available or occupied. However, this will not be the only

information to be provided to the user. As the Smart Parking use case embraces different

functionalities which complement the main purpose of simply find a parking lot in the city, different

kind of data will be required. For example, the Wise-IoT Recommendation System, which will be

integrated within the use case, will provide guidance to the best area to park depending on different

factors such as statistics of availability of free parking lots, traffic to arrive to it, crowd information, etc.

So, as the interest is focused on providing an area instead of providing a concrete parking lot, it will be

needed to define not only entities related to the parking lots but to parking areas. Besides, related to

this use case, traffic monitoring data have to be defined in order to bring inputs for the

Recommendation System. This way, this data will be used to provide recommendations of parking

areas avoiding those routes with higher occupation.

The model to be used to structure the information will be the aforementioned NGSI (Section 2.2),

which will allow representing an entity (the parking lot, the parking area, traffic flow observation) by

defining its entity id and its entity type. Also, the entity is defined with a set of attributes that

represent the properties of the entity (status, location, category, etc.), defined by a name, a type and a

value. Finally, each attribute can include metadata, which provides extra information about it

(timestamp, unit of measurement, etc.). In addition, the underlying format to be used to represent this

data structure is JSON.

Regarding the semantic representation of information, FIWARE provides a Data Model, inspired by

GSMA data models and schema.org, developed to produce harmonized schemas for the Internet of

Things. In the case of parking information, the FIWARE Data Model specifies the semantic

representation of all entities of interest: the parking spot, the parking area and the traffic information

(parkingSpot, OnStreetParking, TrafficFlowObserved respectively).

Starting with the definition of the ParkingSpot entity, the FIWARE Data Model provides a complete list

of attributes for defining many parking spot characteristics. In addition, each of the attributes are

described with its name, its description, its type and an indication about whether the attribute is

mandatory or optional for the correct entity description. From this list, a concrete set of attributes

have been selected to describe the resources deployed in the Santander facility: identifier, type,

dateModified, name, status, location, category and refParkingSite. The following description of these

attributes has been extracted from [5]. Note that except for id and type, the properties in the following

tables are attribute names in the FIWARE data models

Table 1 – Properties of ParkingSpot entity

Property Expected Type Description

id String Entity’s unique identifier

type String Entity’s type. For this case of parking spot definition the value for this attribute is “ParkingSpot”

dateModified DateTime (ISO 8601) Indicates the last update of the entity (e.g. 2017-01-29T11:23:53.000Z)

name String The name used to identify the parking spot

status String Indicates the status of the parking spot in terms of occupancy. Its possible values are “occupied”, “free”, “closed” or “unknown”

location geo:json Provides the geolocation of the parking spot.

category String Indicates the category of the parking spot. Possible

Page 14: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

14

values can be onstreet (onstreet parking site), offstreet (offstreet parking site), or other value that can be needed by the application.

refParkingSite String Provides a reference to an entity OnStreetParking or OffStreetParking depending on the value of the category property.

Figure 5 depicts an example of a parking spot entity in JSON representation following the FIWARE Data

Model.

As already mentioned, for the Smart Parking use case, different parking areas in Santander will be

specified. In order to do that, the parking area covered with sensors in the city will be registered

following the FIWARE Data Model specified for this type of entity: OnStreetParking. This data model

provides, among others, the needed attributes for the correct description of the parking area entity:

identifier, type, location, category, dateModified, name, chargeType, requiredPermit, permitActive

Hours, allowedVehicleType, areBordersMarked, totalSpotNumber and occupancyDetectionType.

Following a brief description of these attributes is provided, but the complete description and the rest

of the list of attributes provided by FIWARE Data Model for OnStreetParking can be found in [5].

Table 2 – Properties of OnStreetParking entity

Property Expected Type

Description

id String Entity’s unique identifier

type String Entity’s type. For this case of parking area it will be “OnStreetParking”

dateModified DateTime (ISO 8601)

Indicates the last update of the entity (e.g. 2017-01-29T11:23:53.000Z)

name String The name used for identify the parking area

location geo:json Provides the geolocation of the parking area

{

"id": "urn:entity:santander:parking:np3703",

"type": "ParkingSpot",

"dateModified": "2017-01-29T11:23:53.000Z",

"name":"parking3703"

"status": "occupied",

"location": {

"type": "Point",

"coordinates": [

-3.80076, 43.4627

]

},

"refParkingSite":"urn:entity:santander:parking:areaABC ",

"category":["onstreet"]

}

Figure 5. Example of ParkingSpot entity following FIWARE Data Model

Page 15: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

15

category List<Text> Indicates the category of the parking area. Possible values can be: forDisabled, forResidents, forLoadUnload, onlyWithPermit, forELectricalCharging, free, feeCharged, blueZone, greenZone, taxiStop, shortTerm, mediumTerm, or other value that can be needed by the application.

chargeType List<Text> Provides the type of charge/s performed by the parking site. Possible values can be: flat, minimum, maximum, additionalIntervalPrice, seasonTicket, temporaryPricefirstIntervalPrice, annualPayment, monthlyPayment, free, unknown, other, or other value that can be needed by the application.

requiredPermit List<Text> Indicates the permit/s that could be needed to park in that area. Possible values are: fairPermit, governmentPermit, residentPermit, disabledPermit, blueZonePermit, careTakingPermit, carpoolingPermit, carSharingPermit, emergencyVehiclePermit, maintenanceVehiclePermit, roadWorksPermit, taxiPermit, transportationPermit, noPermitNeeded; or other value that can be needed by the app. Also null is possible if no permit is required.

permitActiveHours StructuredValue

This property allows pointing to situations when a permit is only required at concrete hours/days. This structure must provide a value per each required permit, indicating when the permit is active. More info about the syntax can be found in [5]

allowedVehicleType String Allowed vehicle type. Possible values are: bicycle, bus, car, caravan, carWithCaravan, carWithTrailer, constructionOrMaintenanceVehicle, lorry, moped, motorcycle, motorcycleWithSideCar, motorscooter, tanker, trailer, van, anyVehicle.

areBordersMarked Boolean This attribute display if the parking spots are delimited or not (for example with painted lines)

totalSpotNumber Integer Number of spots offered by the parking area. Possible values are any positive integer >=0.

occupancyDetectionType List<String> Methods for detecting the occupancy of the parking spot. Possible values for this property are: none, balancing, singleSpaceDetection, modelBased, manual, or other value needed by the application.

Page 16: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

16

Figure 6 provides an example of an on-street parking area entity in JSON representation following the

FIWARE Data Model.

Different from Europe, in South Korea, most of the parking lots are off street parking type. In other

words, vehicles are parked inside the building after passing through entrances. Data from parking lots

in Busan, for example, will be represented as OffStreetParking entity which is also defined in FIWARE

Data Model [5]. This data model includes the attributes listed in the following table with brief

descriptions. The complete description and the rest of the list of attributes provided by FIWARE Data

Model for OffStreetParking can be found in [5].

Table 3 – Properties of OffStreetParking entity

Property Expected Type

Description

id String Entity’s unique identifier

type String Entity’s type. For this case of parking area it will be “OffStreetParking”

dateModified DateTime (ISO 8601)

Indicates the last update of the entity (e.g. 2017-01-29T11:23:53.000Z)

name String The name used for identify the parking area

{

"id": "urn:entity:santander:parking:areaABC",

"type": "OnStreetParking",

"location": {

"type":"Polygon",

"coordinates":[

[-3.798427, 43.464039],

[-3.796961, 43.464171],

[-3.796850, 43.464010],

[-3.798389, 43.463850]

]

},

"category":["blueZone", "shortTerm"],

"dateModified": "2017-01-29T11:23:53.000Z"

"chargeType":[temporaryPrice],

"requiredPermit":["blueZonePermit"],

"permitActiveHours":{

"blueZonePermit":"Mo, Tu, We, Th, Fri, Sa 9:00-20:00"

},

"allowedVehicleType":"car",

"areBordersMarked":false,

"totalSpotNumber":25,

"occupancyDetectionType":[singleSpaceDetection]

}

Figure 6. Example of on street parking entity definition

Page 17: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

17

location geo:json Provides the geolocation of the parking area

category List<Text> Indicates the category of the parking area. Possible values can be: forDisabled, forResidents, forLoadUnload, onlyWithPermit, forELectricalCharging, free, feeCharged, blueZone, greenZone, taxiStop, shortTerm, mediumTerm, or other value that can be needed by the application.

chargeType List<Text> Provides the type of charge/s performed by the parking site. Possible values can be: flat, minimum, maximum, additionalIntervalPrice, seasonTicket, temporaryPricefirstIntervalPrice, annualPayment, monthlyPayment, free, unknown, other, or other value that can be needed by the application.

requiredPermit List<Text> Indicates the permit/s that could be needed to park in that area. Possible values are: fairPermit, governmentPermit, residentPermit, disabledPermit, blueZonePermit, careTakingPermit, carpoolingPermit, carSharingPermit, emergencyVehiclePermit, maintenanceVehiclePermit, roadWorksPermit, taxiPermit, transportationPermit, noPermitNeeded; or other value that can be needed by the app. Also null is possible if no permit is required.

allowedVehicleType String Allowed vehicle type. Possible values are: bicycle, bus, car, caravan, carWithCaravan, carWithTrailer, constructionOrMaintenanceVehicle, lorry, moped, motorcycle, motorcycleWithSideCar, motorscooter, tanker, trailer, van, anyVehicle.

availableSpotNumber Boolean The number of spots available (including all vehicle types or reserved spaces, such as those for disabled people, long term parkers and so on)

totalSpotNumber Integer Number of spots offered by the parking area. Possible values are any positive integer >=0.

occupancyDetectionType List<String> Methods for detecting the occupancy of the parking spot. Possible values for this property are: none, balancing, singleSpaceDetection, modelBased, manual, or other value needed by the application.

openingHours String Opening hours of the parking site. E.g. "Mo,Tu,We,Th 09:00-12:00"

refParkingSpot List of <references>

Individual parking spots belonging to this offstreet parking site

aggregateRating String Aggregated rating for this parking site

contactPoint String Parking site contact point

Page 18: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

18

Figure 7 provides an example of an off-street parking area entity in JSON representation following the

FIWARE Data Model.

The traffic information to be provided within the use case will be gathered from different traffic

sensors deployed in the city of Santander. This information will be modelled following the Data Model

provided by FIWARE Data Model with the TrafficFlowObserved entity type. This modelling offers the

description of a set of attributes related to traffic flow in a city. From this set of attributes some of

them have been selected to describe the deployed traffic sensors in Santander: identifier, type,

location, dateModified, dateObserved, intensity and occupancy. Following a brief description of these

attributes is provided, but the complete description and the rest of the list of attributes provided by

FIWARE Data Model can be consulted in [15].

Table 4 – Properties of TrafficFlowObserved entity

Property Expected Type Description

id String Entity’s unique identifier

type String Entity’s type. For this case of parking area it will be “TrafficFlowObserved”

dateModified DateTime (ISO 8601) Indicates the last update of the entity (e.g. 2017-01-29T11:23:53.000Z)

location geo:json Provides the geolocation of the parking area

dateObserved Duration or Date and time of the observation. It can be represented

{

"id": "urn:entity:busan:parking:areaABC",

"type": "OffStreetParking",

"location": {

"type":"Point",

"coordinates":[-3.798427, 43.464039]

},

"category":[

"underground",

"public",

"feeCharged",

"mediumTerm",

"barrierAccess"

],

"dateModified": "2017-01-29T11:23:53.000Z"

"chargeType":["additionalIntervalPrice"],

"requiredPermit":[],

"allowedVehicleType":"car", "totalSpotNumber":25,

"availableSpotNumber":5,

"occupancyDetectionType":["singleSpaceDetection"],

"openingHours": "Mo,Tu,We,Th 09:00-12:00",

"refParkingSpot": ["spot1", "spot2"],

"aggregateRating": "3",

"contactPoint": "+82-51-123-4567”

}

Figure 7. Example of off street parking entity definition

Page 19: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

19

DateTime (ISO8601) as a time instant or a duration.

intensity Integer Number of vehicles detected during the observation period.

occupancy Float Fraction of the observation time where vehicles are occupying the road.

Figure 8 provides an example of a traffic sensor entity in JSON representation following the FIWARE

Data Model.

Figure 9 represents the ontology schema for the Smart Parking use case.

{

"id": "urn:entity:santander:traffic:3052",

"type": "TrafficFlowObserved",

"location": {

"type": "geo:json",

"value": {

"type": "Point",

"coordinates": [

-3.82288, 43.4633

]

}

},

"dateObserved": "2017-02-09T08:29:00.000Z",

"intensity": 71,

"occupancy": 0.33

}

Figure 8 – Example of traffic sensor entity

Page 20: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

20

hasCharge

Type

chargeType

requiredPermit

permiteActive

Hours

Allowed

VehicleType

areBorders

Marked

totalSpot

Number

Occupancy

DetectionType

dateObserved

intensity

occupancyid

type

location

dateModified

dateModified

status

refParkingSite

location

OnStreetParking parkingSpot

TrafficFlow

Observed

hasRequired

Permit

hasPermite

ActiveHours

hasAllowed

VehicleType

hasAreBorders

Marked

hasTotal

SpotNumber

hasOccupancy

DetectionType

hasDate

Observed

hasIntensity

hasOccupancy

hasId

hasType

hasLocation

hasDate

Modified

hasId

hasType

hasLocation

hasDateModified

id

type

category

name

hasDateModified

hasStatus

hasLocation

hasId

hasType

hasCategory

hasName

hasRef

ParkingSite

Thing

is-a is-a

is-a

hasName

hasCategory

OffStreetParki

ng

hasCharge

Type

hasRequired

Permit

hasAllowed

VehicleType

hasTotal

SpotNumber

hasOccupancy

DetectionType

hasLocation

is-a

is-a

is-a

hasDate

Modified

hasId

hasType

hasName

hasCategory

hasDateModified

availableSpot

Number

openingHoursaggregateRati

ng

contactPoint

hasAvailableSpotNumber

hasOpeningHourshasAggregateRating

hasContactPoint

Figure 9 – Ontology schema for Smart Parking use case

2.3.2 Bus Information System

The Bus Information System aims to provide bus information data to passengers in real-time. This

includes information about buses, bus stops, bus lines, and real-time data on current bus locations and

arrival estimations to bus stops from both Busan and Santander[4]. This information will be modelled

following the structure utilized for the semantic modelling in oneM2M (Section2.1) and NGSI

(Section2.2), respectively. However, since there is currently no available semantic representation for

bus properties defined in both oneM2M and FIWARE, it has been developed a general semantic

modelling for the bus system.

In order to keep the semantic modelling general, we have collaborated to develop a common bus

system dictionary with properties, expected types, and descriptions. Furthermore, to keep the

semantic modelling consistent with the required structures from oneM2M and FIWARE, the oneM2M

semantic modelling is based largely upon oneM2M Base Ontology and the FIWARE one follows

Page 21: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

21

FIWARE Data Model (Section 2.2). Thus, we present within document two major components of the

Semantic Modelling:

- Dictionary: four entities (set of properties) are designed, including ‘busLine’, ‘busStop’, ‘bus’,

and ‘estimation’. The entity ‘busLine’ defines a bus line, ‘busStop’ defines a bus stop, ‘bus’

defines a bus, and ‘estimation’ focuses on the arrival information of the buses to a bus stop in

a bus line. The entities can be chosen to use depending on the data contents of different sites

(e.g. Busan and Santander).

- Semantic Modelling: a figure which shows the semantic modelling of the bus system in

oneM2M (based on oneM2M Base Ontology) and examples in JSON format for both oneM2M

and FIWARE cases are presented.

Dictionary:

busLine: a bus line in which there are bus stops (mandatory) and buses (optional)

Table 5 – Properties of busLine entity

Property Expected Type Description

refBusStops List<String> The list of all bus stops belonging to the bus line (using the IDs of bus stops, e.g. urn:entity:busan:transport:bus:busStop:<busStopId>)

localID String The local ID (shorter form) of the bus line (e.g. ‘104’)

shortID String The ID of the bus line (e.g. ‘5200104000’)

name String The name of the bus line (e.g PENACASTILLO – PLAZA DE ITALIA)

refStartBusStop String The starting stop of the bus line (using the ID of the bus stop, e.g. urn:entity:busan:transport:bus:busStop:<busStopId>)

refEndBusStop String The ending stop of the bus line (using the ID of the bus stop, e.g. urn:entity:busan:transport:bus:busStop:<busStopId>)

busLineType String The type of the buses that run on the bus line (e.g. standard)

startTime ISO 8601 (DateTime) The starting time from which the bus line operates in ISO 8601 date and time format (e.g. 2017-02-05T08:15:30-05:09)

endTime ISO 8601 (DateTime) The ending time until which the bus line operates, in ISO 8601 date and time format (e.g. 2017-02-05T08:15:30-05:09)

intervalNorm ISO 8601 (Duration) The interval of buses arrival at a bus stop along the bus line in normal days, in ISO 8601 duration format (e.g. P3Y6M4DT12H30M5S)

intervalHoli ISO 8601 (Duration) The interval of buses arrival at a bus stop along the bus line in holidays, in ISO 8601 duration format (e.g. P3Y6M4DT12H30M5S)

intervalPeak ISO 8601 (Duration) The interval of buses arrival at a bus stop along the bus line at rush hour, in ISO 8601 duration format (e.g. P3Y6M4DT12H30M5S)

dateModified ISO 8601 (DateTime) The dateTime when the data has been last modified (e.g. 2017-02-05T08:15:30-05:09)

Page 22: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

22

busStop: a bus stop which belongs to a bus line and in which buses can run

Table 6 – Properties of busStop entity

Property Expected Type Description

refBuses List<String> The list of all buses heading towards the bus stop (using the IDs of the buses, e.g. urn:entity:busan:transport:bus:bus:<busId>)

shortID String The ID of the bus stop (e.g. ‘11161’)

busStopCount List<Integer> The counting number of the bus stop in the bus lines that pass by the bus stop (e.g. in a bus line the first bus stop will be numbered 1, the second one numbered 2, the third one numbered 3, and so on until the last bus stop)

name String The name of the bus stop (e.g. city hall)

location GeoJSON The location of the busStop defined by the GPS coordinates, in GeoJSON format (e.g. [36.372,127.363]).

address Structured Value The bus stop civic address. The values of this property follows the structure defined in https://schema.org/PostalAddress

refBusLines List<String> The list of all bus lines that pass by the bus stop

dateModified ISO 8601 (DateTime)

The dateTime when the data has been last modified (e.g. 2017-02-05T08:15:30-05:09)

bus: a bus which runs towards a bus stop on a bus line

Table 7 – Properties of bus entity

Property Expected Type Description

refBusStop String The bus stop that the bus is heading towards (using the ID of the bus stop, e.g. urn:entity:busan:transport:bus:busStop:<busStopId>)

refBusLine String The bus line that the bus belongs to (using the ID of the bus line, e.g. urn:entity:busan:transport:bus:busLine:<busLineId>)

shortID String The ID of the bus (e.g. ‘2915’)

direction String The direction of the bus, in text format to accommodate different cases including number (0 or 1) and text (the name of the next next bus stop)

remainingTime ISO 8601 (Duration)

The remaining amount of time left until the bus reaches the bus stop specified in refBusStop, in ISO 8601 Duration format (e.g. PT5M)

remainingDistance Integer The remaining distance left until the bus reaches the bus stop specified in refBusStop, in meters (e.g. 3862)

remainingStations Integer The remaining number of bus stops left until the bus reaches the bus stop specified in refBusStop (e.g. 4)

companyName String The name of the company that owns the bus (e.g. SamHoa)

location GeoJSON The location of the busStop defined by the GPS coordinates, in GeoJSON format (e.g. [36.372,127.363]).

Page 23: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

23

dateModified ISO 8601 (DateTime)

The dateTime when the data has been last modified (e.g. 2017-02-05T08:15:30-05:09)

estimation: estimation of arrivals of buses in relation to a combination of busStop-busLine

Table 8 – Properties of estimation entity

Property Expected Type Description

refBusStop String Reference to the correspondent busStop entity (using the ID of the bus stop, e.g. urn:entity:santander:transport:tus:busLine:<busLineId>)

refBusLine String Reference to the correspondent busLine entity (using the ID of the bus line, e.g. urn:entity:santander:transport:tus:busLine:<busLineId>)

remainingDistances Array<Integer> Each value of the array describes the remaining distance of each bus of the line to the busStop. It will have as many positions as buses from the line passing by the busStop. The position in the array indicates the order of arrival (eg. [bus1Distance, bus2Distance, bus3Distance])

remainingTimes Array<Duration> Each value of the array describes the remaining time of each bus of the line to the busStop. It will have as many positions as buses from the line passing by the busStop. The position in the array indicates the order of arrival (eg. [bus1Time, bus2Time, bus3Time])

endBusStopNames Array<String> Each value of the array describes the destination of each bus of the line to the busStop. It will have as many positions as buses from the line passing by the busStop. The position in the array indicates the order of arrival (eg. [bus1Destination, bus2Destination bus3Destination])

dateModified DateTime Entity's last update date

FIWARE Semantic Modeling in JSON representation:

The following table provides an example of an estimation representation.

{ "id": "urn:entity:santander:transport:tus:<busStopId>:<buslineId>", "type": "busArrivalEstimation", "dateModified": { "value": "2017-02-06T16:10:17.000Z", "type": "DateTime" }, "refBusStop": { "value": "urn:entity:santander:transport:tus:busStop:74", "type": "String" }, "refBusLine": { "value": "urn:entity:santander:transport:tus:busLine:5C1", "type": "String",

Page 24: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

24

}, “remainingDistances”: { "value":[100, 300], "type": "Array<Integer>", "metadata": { "uom":{ "value": "http://ontology.fiesta-iot.eu/ontologyDocs/m3-lite.owl#Metre", "type": "String", }, "timestamp": { "value": "2017-02-06T16:10:17.000Z", "type": "DateTime" } } }, “remainingTimes”: { "value":["PT35S", "PT8M5S"], "type": "Array<Duration>", "metadata": { "timestamp": { "value": "2017-02-06T16:10:17.000Z", "type": "DateTime" } } }, “destinationBusLines”: { "value":["destino1", "destino2"], "type": "Array<String>", "metadata": { "timestamp": { "value": "2017-02-06T16:10:17.000Z", "type": "DateTime" } } } }

oneM2M Semantic Modeling:

Page 25: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

25

Figure 10 - Ontology schema for Bus Information use case

Bus schema:

{ "$schema": "http://json-schema.org/draft-04/schema#", "id": "urn:entity:busan:transport:bus:busId:<busId>", "type": "object", "title": "Bus schema.", "description": "An explanation about the purpose of this instance.", "properties": { "refBusStop": { "type": "string", "title": "RefBusStop schema.", "example": "urn:entity:busan:transport:bus:busStopId:<busStopId>", "description": "Reference to the correspondent busStop entity." }, "refBusLine": { "type": "string", "title": "RefBusLine schema.", "example": "", "description": "Reference to the correspondent busLine entity." }, "shortID": { "type": "string", "title": "Bus ID", "example": "2915",

Thing

Ref BusStops

LocalID ShortID NameRefStart BusStop

RefEnd BusStop

BusLine Type

Start Time

EndTimeInterval Norm

Interval Holiday

Interval Peak

BusLine

BusStopBus

Date Modified

Ref BusLines

Location

name

BusStop Count

ShortID

RefBuses

Date Modified

Location

CompanyName

Remaining Stations

RemainingDistance

RemainingTime

Direction

Date Modified

ShortID

Ref BusLine

Ref BusStop

Thing Property

Thing Property

Variable Variable

Thing Property

Variable

hasRef BusStop

hasRef BusLine

has ShortID

has Direction

hasRemaining Time

hasRemaining Distance

hasRemaining Stations

hasCompany Name

hasLocation

hasDate Modified

is-a is-a

is-a

hasRef BusStops

has LocalID

has ShortID

has Name

hasRefStartBusStop

hasRefEnd BusStop

hasBusLineType

hasStart Time

hasEnd Time hasInterval

NormhasInterval

HolidayhasInterval

PeakhasDate Modified

hasDate Modified

hasRef BusLines

hasLocation

hasName

hasBusStopCount

hasShortID

hasRefBuses

is-a

is-a

is-a

is-a

is-a

is-ais-a is-a is-a is-a

is-a

is-a

is-a

is-a

is-ais-a

Thing Property

Thing

hasThing Property

Thing Property

Thing

hasThing Property

Thing Property

Thing

hasThing Property

Thing Property

Thing

hasThing Property

is-ais-a

is-a

is-ais-ais-ais-ais-a

is-ais-a

is-a

is-a

Page 26: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

26

"description": "The ID of the bus ." }, "direction": { "type": "string", "title": "Direction schema.", "example": "0", "description": "The direction of the bus ." }, "companyName": { "type": "string", "title": "CompanyName schema.", "example": "Samhoa", "description": "The name of the company that owns the bus ." }, "remainingTime": { "type": "string", "title": "RemainingTime schema.", "example": "PT5M", "description": "The remaining amount of time left until the bus reaches the bus stop specified in refBusStop." }, "remainingDistance": { "type": "integer", "title": "RemainDistance schema.", "example": "100", "description": "The remaining amout of distance left until the bus reaches the bus stop specified in refBusStop, in meters.” }, "remainingStations": { "type": "integer", "title": "RemainStation schema.", "example": "4", "description": "The remaining number of bus stops left until the bus reaches the bus stop specified in refBusStop." }, "location": { "type": "array", "title": "Location schema.", "example": "", "description": "The GPS XY coordination of the bus, in GeoJSON format.", "items": { "type": "GeoJSON", "title": "1 schema.", "example": "[36.372,127.363]", "description": "The GPS XY coordination of the bus." } }, "dateModified": { "type": "string", "title": "DateModified schema.", "example": "2017-11-05T08:15:30-05:00",

Page 27: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

27

"description": "The dateTime when the data has been last modified, in ISO8601 DateTime format" } }, "required": ["refBusStop", "refBusLine", “shortID”, "direction", "remainingTime", "remainingDistance", "remainingStation", “dateModified” ] }

An example of a bus instance:

{ "shortid": "urn:entity:busan:transport:bus:busId:<busId>", "refBusStop":"urn:entity:busan:transport:bus:busStopId:<busStopId>", "refBusLine":"urn:entity:busan:transport:bus:buslineId:<buslineId>", "direction":"0", "remainingTime":"PT5M", "remainingDistance":100, "remainingStations":2, "dateModified":"2017-02-05T08:15:30-05:09”, "locationCoordinates":[36.372,127.363] }

2.3.3 Crowd Modelling

The Wise-IoT crowd detection is defined as a cross-domain service which can provide crowd mobility

information for different applications to enable semantic interoperability across worldwide IoT

platforms. We aim to deploy Wi-Fi sniffers as crowd detectors in Santander and Busan and the crowd

detection service will provide the levels of crowdedness in the city required by different applications.

The complete description of crowd service can be found in [4].

To achieve semantic interoperability, data from both Santander and Busan will be converted into a

NGSI-based context information model by Wise-IoT Morphing Mediation Gateways. In Santander, we

will deploy Wi-Fi sniffers in some points of interests such as the Camel beach, the Magdalena entrance,

and the Porticada Square. The crowd detection service will provide (1) crowd estimation and (2) stay

durations in the targeted areas for multiple use cases. For example, the Smart Parking use case can

request for the number of estimated crowds in targeted areas so that people can avoid driving to the

crowded areas to park their cars. Meanwhile, when the stay durations of crowd are requested by the

Smart Parking use case, it can help users to make decision on parking lot search so they can drive to

the areas with the lower stay durations of crowds.

The NGSI-based context information model in Section 2.2 is used for the crowd detection services. It

will represent an entity (crowd detector, mobile devices, crowd measurements, and stay durations)

with its entity ID and its type. Furthermore, a set of attributes is defined to represent the properties of

the entity such as the name of crowd detector and the location of the crowd detector. For each

attribute, it can include its metadata in which additional further information can be provided such as a

timestamp, the unit of timestamps, and the corresponding time string which is readable text for

humans. Finally, the whole defined structure can be converted to JSON. We will explain three major

entities: crowd detector, crowd estimation, and stay duration. The first one represents a crowd

detector, while the latter two represent the data analytics results.

Page 28: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

28

First we explain the attributes of a crowd detector. Table 9 illustrates the data model of crowd

detector.

Crowd detector:

Table 9- The properties of the crowd detector entity

Property Expected Type Description

id String Entity’s unique identifier. In this case, the entity ID for a crowd detector is the MAC of crowd detector

type String The type of entity. In this case, the defined value for crowd estimation is “CrowdDetector”.

domainMetadata JSON The detailed location of crowd detector.

Crowd data analytical results:

Below, we define the following attribute for the two key entities (1) crowd estimation and (2) stay

durations regarding to the crowd data analytics results in the crowd detection service. Frist, the

attributes of crowd estimation is explained. Table 10 illustrates the defined attributes of crowd

estimation results. There are four basic properties: "ID", "type", "domainMetadata", and

"CrowdEstimation".

Table 10- The properties of the crowd estimation entity.

Property Expected Type Description

id String Entity’s unique identifier. The entity id structure: Name of The REsult + CrowdDectectorMacAdress+ StartTime + EndTime. For example, "id": "WifiStayEstimation-0ab2132abc1231-1111170000-11111800000"

type String The type of entity. In this case, the defined value for crowd estimation is “WifiCrowdEstimation”.

domainMetadata JSON The detailed location of crowd detector and the query time window. An example is provided in Figure 11. The purpose of this property is to speed up query.

CrowdEstimation String The estimated number of mobile devices captured by this crowd detector.

Next, we define the attributes of the stay durations as follows. Table 11 illustrates the attributes of

stay durations. Similarly, four basic attributes represent the distribution of stay durations.

Table 11 – The properties of stay durations entity

Property Expected Type Description

id String Entity’s unique identifier. The entity id structure: Name of The Result + CrowdDectectorMacAdress+ StartTime + EndTime. For example, "id": "WifiStayDuration-0ab2132abc1231-1111170000-11111800000"

type String The type of entity. In this case, the defined value for stay duration is “WifiStayDuration”.

Page 29: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

29

domainMetadata JSON The detailed location of crowd detector and the query time window. An example is provided in Figure 11. The purpose of this property is to speed up query.

StayDuration JSON The distribution of stay durations for crowds captured by this crowd detector.

Figure 11 - An example of domainMetadata data for WifiCrowdEstimation

2.4 Semantic Modelling for Smart Skiing Use Case

In the public semantic model repositories, e.g., FIESTA IoT project [6], W3C, the ski resort

environment, does not exist. Thus, before providing a semantic model for each use cases, a base for

the various elements available in this environment is defined. The proposed semantic model is based

on the OpenSnowMap data model [6]. This model considers specific elements related to the ski resort

equipment such as the aerial way (e.g., chair lift, drag lift) or the pistes (e.g., downhill, halfpipe). A

subset of the semantic model is proposed in the Figure 12. The complete semantic model is available

in an OWL format in the repository of the project.

"domainMetadata": [

{

"name": "SimpleGeolocation",

"value": {

"latitude": -43.533418,

"longitude": 172.634259

}

},

{

"name": "AbstractionLevel",

"value": "0"

},

{

"name":"StartDate",

"value": "2016.11.17 12:05:22:910 +0200"

},

{

"name":"EndDate",

"value": "2016.11.17 12:05:22:910 +0200"

}

]

Page 30: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

30

Figure 12 - Subset of the semantic model for the skiing resort

For each use case, we reuse existing semantics models from various sources to model the devices, e.g.,

the sensors of the LoRa band or the crowd detector. The next step is to include them in the semantic

model of the ski resort proposed previously.

This enables to make the conjunction between the on the ground devices, i.e., LoRa band and crowd

detector, provided by the edges gateways and the semantic model proposed to model a ski resort

stored in the upper layers Context Information Management layer of the project.

The next sections describe the first drafts of the semantic model for the ski resort use cases. The

devices used in those use cases also appear in other environments, e.g., smart city. However, we first

need to finalize the skiing resort semantic model to make bridges between those devices and the

characteristics of the mountains during winter. This linkage will be done in the release 2 version of this

deliverable.

2.4.1 Crowd monitoring

The crowd monitoring use cases reuse the devices deployed in the Smart City use cases, except that

the goal is to monitor the crowd traffic at the ski lifts. This information is then provided to skiers to

adapt their route in the skiing area and to the ski resort manager to adapt the skiing area accordingly

For the release 1, the devices are first deployed and tested in the Smart City, the semantic model will

not be presented in this document. However, due to a strong similarity between the Smart City and

Smart Skiing crowd monitoring use cases, we assume that the semantic model will be the same. as in

Section 2.3.3.

Page 31: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Modelling

31

2.4.2 Assets tracking

The “Assets Tracking” use cases is mainly based on the location of the trackingdevice that is attached

to the asset. This kind of use cases is a well-known use cases that is described in various semantic

models. For the purpose of the Wise IoT project, we choose to use the semantic model proposed in

the FIESTA IoT project [6].

<owl:Class rdf:about="http://purl.org/iot/vocab/m3-lite#Coordinates">

<rdfs:subClassOf rdf:resource="http://purl.org/NET/ssnx/qu/qu#Unit"/>

<rdfs:comment xml:lang="en">Triples for location in the (Latitude, Longitude, Altitude)

format.</rdfs:comment>

<rdfs:label xml:lang="en">Coordinates</rdfs:label>

</owl:Class>

2.4.3 “Conquer the slope”

The “Conquer the Slope” use cases is based on the data provided by the LoRa band device and its

sensors, i.e., location, accelerometer, button. Using data-fusion, it is possible to provide upper layer

data, such as airtime, carving, turns, speed. Those data are then used to sort the players according to

their performance.

The sensors deployed in the LoRa band are well known sensors and thus they already have a semantic

model proposed in the FIESTA IoT project. Thus, the project will use that semantic model for this use

case. An example is provided below for the accelerometer:

<owl:Class rdf:about="http://purl.org/iot/vocab/m3-lite#Accelerometer">

<rdfs:subClassOf

rdf:resource="http://purl.oclc.org/NET/ssnx/ssn#SensingDevice"/><rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="http://purl.org/iot/vocab/m3-lite#hasDomainOfInterest"/>

<owl:someValuesFrom rdf:resource="http://purl.org/iot/vocab/m3-lite#Transportation"/>

</owl:Restriction>

</rdfs:subClassOf>

<rdfs:comment xml:lang="en"> Accelerometers are used to automatically determine the

orientation in which the user is holding the IoT Object (portrait or landscape).</rdfs:comment>

<rdfs:label xml:lang="en">Accelerometer</rdfs:label>

<rdfs:seeAlso rdf:resource="http://casas.wsu.edu/owl/cose.owl#Accelerometer"/>

</owl:Class>

Page 32: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Interoperability Components

32

3 Semantic Interoperability Components

This chapter first discusses the aspects of the IoT platforms used in Wise-IoT that are related to

semantics and then the components developed in Wise-IoT that are used to perform the semantic

annotation and mapping to enable the semantic interoperability.

3.1 oneM2M Resources and Interactions

In oneM2M specifications Application Entities (AEs),and Common Service Entitites (CSEs) are

represented as resources and are uniquely addressable via their resource identifiers [14]. In addition,

semantic information can be added through a specific resource (i.e. <semanticDescriptor>), if

users want to add a certain meaning to resources. This section provides a brief description of oneM2M

semantic resource structure and how oneM2M semantic resources are used in oneM2M systems.

Figure 13- < SemanticDescriptor > resource structure

The <semanticDescriptor> resource is used to store a semantic description potentially related

to other resource or sub-resources. One or more semantic resource can be added to several resource

types (e.g. <AE>, <container>, <contentInstance> resources) [13]. Figure 13 shows the basic

resource structure of <semanticDescriptor> resource.

Figure 14 - Resource structure of smart street light AE

<semanticDescriptor>

1descriptor

0..1 (L)

0..1ontologyRef

<subscription>

relatedSemantics

0..n

1descriptorRepresentation

0..1semanticOpExec

Page 33: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Interoperability Components

33

Figure 14 shows an example of semantic descriptor for a smart street light that can be installed in a

smart city. In this example, a smart street light is assumed as an AE using the Mca reference point to

access the resource on a CSE. The <AEstreetLight1>, which is one of the specializations of

<flexContainer> resource resource includes an ontologyRef attribute which contains the URI

of the ontology concept of the smart street light, (e.g. "http://ontology.wise-

iot.net/smart-city#StreetLight".) The <onOffContainer> and the

<stateContainer> resources represent the functional interface aspects of the street light.

Semantic annotation is a process of providing and inserting semantic description into a semantic

structure for example the <semanticDescriptor> resource in oneM2M. Figure 15 shows a

semantic annotation example stored in the descriptor attribute of the <semanticDescriptor>

resource. The information provides the link between the operations of the washing machines and the

containers of the smart washing machine AE and describes the REST methods that can be executed on

the containers.

<rdf:RDF

<rdf:Description rdf:about="http://ontology.wise-iot.net/smart-city#STREET_L_SJU_123">

<rdf:type rdf:resource="http://ontology.wise-iot.net/smart-city#Streetlight"/>

<wise:hasManufacturer>SJU</wise:hasManufacturer>

<wise:hasDescription>Very smart Street Light</wise:hasDescription>

<wise:hasLocation rdf:resource="http://ontology.wise-iot.net/smart-city#Sejong_Univ_Campus"/>

<msm:hasService rdf:resource="http://ontology.wise-iot.net/smart-city#LighteningService_123"/>

<msm:hasService rdf:resource="http://ontology.wise-iot.net/smart-city#StateService_123"/>

</rdf:Description>

<rdf:Description rdf:about="http://ontology.wise-iot.net/smart-city#LighteningService_123">

<rdf:type rdf:resource="http://ontology.wise-iot.net/smart-city#LighteningService"/>

<msm:hasOperation rdf:resource="http://ontology.wise-iot.net/smart-city#TurnOnOperation_123"/>

</rdf:Description>

<rdf:Description rdf:about="http://ontology.wise-iot.net/smart-city#TurnOnOperation_123">

<rdf:type rdf:resource="http://ontology.wise-iot.net/smart-city#LighteningOperation"/>

<hr:hasMethod>Create</hr:hasMethod>

<hr:hasURITemplate>/CSE1/STREET_L_SJU_123/onOffContainer</hr:hasURITemplate>

<msm:hasInput rdf:resource="http://ontology.wise-iot.net/smart-city#Action"/>

</rdf:Description>

<rdf:Description rdf:about="http://ontology.wise-iot.net/smart-city#StateService123">

<rdf:type rdf:resource="http://ontology.wise-iot.net/smart-city#StateService"/>

<msm:hasOperation rdf:resource="http://ontology.wise-iot.net/smart-city#StateOperation123"/>

</rdf:Description>

</rdf:RDF>

Figure 15 – Semantic resource description of smart street light AE

Once semantic description is annotated to a resource, it can be used to discover the resource with its

semantic description. Figure 16 shows the general resource retrieve operation in oneM2M. This

operation can also be applied to the <semanticDescriptor> resource. Four operations, i.e.

Create, Retrieve Update and Delete are also applied to <semanticDescriptor>

resources like to other resources such as <remoteCSE>, <AE>, or <Container> resources.

Page 34: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Interoperability Components

34

Figure 16 - Procedure for RETRIEVING a Resource in oneM2M

In the case of an UPDATE operation, as shown in Figure 17, a simple overwrite can be applied. For

example, in order to change (i.e. update) semantic instances in the <semanticDescriptor> resources,

the system has to change the whole descriptor attribute value. If part of semantic information needs

to be updated, then a SPARQL query can be sent in an Update request.

Figure 17 – Example of managing a semantic instance in the oneM2M system

3.2 NGSI

The Semantic Mediation Gateway as defined in D2.1 [3], Section2.2.1, which will evolve into a

Morphing Mediation Gateway module in the next phase, uses an ontology that models all the aspects

relevant for NGSI to enable the transformation from information provided in the oneM2M system to

NGSI, i.e. making the information available to FIWARE Generic Enablers (GEs).

Page 35: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Interoperability Components

35

Figure 18 – Ontology representation and mapping to NGSI structure

Figure 18 shows how ontology instances are represented based on an ontology modelling a car, for

which environmental light is being measured in the unit lux. This semantic information can, for

example, be stored in a oneM2M system. The bold red elements in Figure 18 show how the semantic

elements can be mapped to the NGSI data structure to be stored and made available by FIWARE GEs

like the Orion Context Broker or the Aeron IoT Broker.

3.3 Semantic Translation in Semantic Mediation Gateway

R1

In Section 3.1 it has been described how semantically annotated information can be provided in

oneM2M and what mechanisms are available for discovering the resources containing this

information. In Section 3.2 it was shown how the semantic information can be mapped to the NGSI

context information model. This section presents how the semantic translation in the Semantic

Mediation Gateway as defined in D2.1 [3], Section2.2.1 uses the available functionalities and

information.

Page 36: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Interoperability Components

36

Figure 19 – Representation of sensor data and semantic annotation in the oneM2M system

Figure 19 shows the resource structure in a oneM2M system representing the information described

in Figure 18. There is a container resource for storing the measured light values represented as

content instances (23, 24, 23). Semantic annotation is stored in the semantic descriptor resource

attached to the container resource that provides information about the values being measured. This

includes meta information like the unit of measurement, but also contextualization information, i.e.

that the light value represents the light in the environment of a particular car.

The Semantic Mediation Gateway uses Semantic Discovery to discover the container resources whose

semantic descriptor resources fit the semantic filter expressed as a SPARQL query. An example could

be the following:

SELECT ?car

WHERE {

?car rdf:type carOnt:car .

?car carOnt:hasEnvironmentLight ?light

}

On discovering the container resource, the Semantic Mediation Gateway subscribes to the creation of

a new child resource. Thus the Semantic Mediation Gateway is informed whenever a new child

resource becomes available. i.e. typically when a new content instance is created. The Semantic

Mediation Gateway also retrieves the semantic annotation contained in the semantic descriptor

resource. Together, all the information necessary for the transformation is available and the Semantic

Mediation Gateway sends a notification to the Context Information Management layer, e.g. the

Context Broker or the IoT Broker.

3.4 Semantic Annotator

When a resource is created in a oneM2M platform instance, it may not come with any semantic

description. Then there needs to be a mechanism allowing developers or users to add semantic

information (called semantic annotation) to existing oneM2M resources.

Page 37: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Semantic Interoperability Components

37

A semantic annotator is a tool allowing users to use the semantic annotation feature. The tool is

developed to support interactions for semantic interworking, transforming semantic information into a

standardized semantic data format.

The annotation tool is being developed based on an assumption that the oneM2M platform supports a

resource for semantic description. The tool allows users to create a semanticDescriptor

resource under the oneM2M resource to be annotated, for example contentInstance. In order to

support interactions with the oneM2M platform, the annotation tool will contain various user

interfaces, for example, obtaining the IP address of the IN-CSE server, a list of available resources for

semantic annotation and selection for CRUD operations. Figure 20 shows the initial UI for the

annotation tool.

Figure 20 A potential UI for semantics annotation tool

Page 38: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

Conclusion and Outlook

38

4 Conclusion and Outlook

In this deliverable we have described how semantic information can be used in the core of Wise-IoT

target platforms, i.e. oneM2M and FIWARE. In FIWARE the modelling is based on the NGSI context

information model as used in the NGSI context interfaces. In oneM2M, the oneM2M Base Ontology

provides a reference that can be used as the basis for deriving domain-specific ontologies.

Based on the requirements of the target platforms, domain-specific ontologies have been developed,

as in the case of the bus information system, crowd modelling and smart skiing, or existing ontologies

have been re-used/enhanced as in the case of smart parking. The ontologies described in this

deliverable will be applied in the Wise-IoT use cases. Based on the experience gained in using the

ontologies, they will be enhanced and modified. The result will be presented in deliverable D2.5.

Finally, it has been described how the ontology-based information can be used in the context of

oneM2M and NGSI, and how the semantic information can be used for the translation between

oneM2M and NGSI in the Semantic Mediation Gateway, which will evolve into the Adaptive Semantic

Module of the Morphing Mediation Gateway in release 2 of the Wise-IoT components.

Deliverable D2.5 will describe the evolution of the semantic interoperability components. These will

become more flexible and support dynamic adaptation, which will be needed to support the IoT use

cases during their life time. It is to be expected that devices, technologies and also information models

and semantic descriptions change over the deployment lifetime. In a global setting, IoT systems have

to dynamically adapt to these changes and deal with the constantly changing set of devices with which

users move through the different deployments. To support these cases, the advanced semantic

components including reasoners, data transformation functions and processing flows will be needed.

Page 39: D2 - Home - Wise-IoTwise-iot.eu/wp-content/uploads/2017/03/D2.4-Semantic... · 2017-03-30 · D2.4 in the Description of Action, but they are not available yet as they will not be

References

39

5 References

[1] Dey, Anind K. (2001). "Understanding and Using Context". Personal Ubiquitous Computing. 5

(1): 4–7. doi:10.1007/s007790170019

[2] Open Mobile Alliance, NGSI Context Management, Candidate Version 1.0 – 03 Aug 2010

[3] Wise-IoT D2.1 – Morphing Mediation Gateway with Management and Configuration Functions

R1, March 2017

[4] Wise-IoT D1.1 – Wise-IoT Pilot Use Case Technical Description, Business Requirements and

Draft High-Level Architecture

[5] FIWARE Datamodels for Smart Parking, http://fiware-

datamodels.readthedocs.io/en/latest/Parking/doc/introduction/index.html

[6] FIESTA-IoT, http://ontology.fiesta-iot.eu, 2017

[7] OpenSnowMap, http://opensnowmap.org, 2017

[8] oneM2M Base Ontology, http://www.onem2m.org/ontology/Base_Ontology

[9] ISO 8601 – Time and date format, http://www.iso.org/iso/home/standards/iso8601.htm

[10] GeoJSON, http://geojson.org/

[11] TR-0007-Study on Abstraction and Semantics Enablement-V2_11_1,

http://onem2m.org/technical/published-documents

[12] TS-0012-oneM2M-Base-Ontology-V2_0_0, http://onem2m.org/technical/published-

documents

[13] TR-0033-Study_on_Enhanced_Semantic_Enablement-V0_3_0,

http://onem2m.org/technical/published-documents

[14] TS-0001-Functional Architecture, http://onem2m.org/technical/published-documents

[15] FIWARE Datamodels for Traffic Flow, http://fiware-

datamodels.readthedocs.io/en/latest/Transportation/TrafficFlowObserved/doc/spec/index.ht

ml