Post on 21-Jan-2018
Fernando SerenaMaría Poveda-Villalón
Raúl García-Castro
Semantic Discovery in the Web of Things
mpoveda@fi.upm.es@MariaPovedaV
Ontology Engineering GroupUniversidad Politécnica de Madrid
5th June, 2017EnWoT (Rome, Italy)
This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No H2020-688467
Semantic Discovery in the Web of Things
Introduction
2
§ IoT consumers cannot be asked to be aware of every possible aspect, platforms and individual things out thereo It is necessary to rely on mechanisms and services that enable
them to search for and discover what they want to consume.
§ Discovery is meant to cope and take advantage of the heterogeneity and large population of things in the IoTo A common data model for describing things, their features and
capabilities is required;o The W3C Web of Things WG is working on the Thing Description
(TD) data model.
§ The Web of Things aims to make everything that belongs to an IoT ecosystem part of the Webo All individual things accessible through a web interface may
belong to the WoT;o Along with the description of the features and capabilities, web
interfaces have to be described as well.
Semantic Discovery in the Web of Things
Semantic Discovery in VICINITY
3
Consumers issue search criteriaresulting in the discovery of a set of (unknown) relevant web things
Clients are not only interested in whatweb things but also:
• Where: dereferenceable links for accessing the thing;
• How: metadata to be taken into account when invoking each link.
Semantic Discovery in the Web of Things
Semantic Discovery in VICINITY
4
Semantic Discovery in the Web of Things 5
Ontology development
Semantic Discovery in the Web of Things
Ontology development process overview
6
Legend Activity§ Actor Output activity flow
Ontological requirements specification
Ontology implementation
Competency questions
§ Ont. Devel.§ Ont. Devel.§ Users§ Experts
Ontology maintenance
Issue tracker
§ Ont. Devel.§ Users§ Experts
Ontology
Ontology Publication
Online ontology
§ Ont. Devel.
Shared in online
spreadsheetssnapshot in documentation
Ontology code and documentation available online
Openly managed in GitHub
Openly reported in GitHub issue tracker:new needs, bugs, etc.
http://ontoology.linkeddata.es/
Semantic Discovery in the Web of Things
Ontology requirement specification process
7
Requirement specification
Ontological requirements completion
Ontology implementation
Competency questions(verified)
§ Ont. Devel.§ Users§ Experts
Use case specification
Use cases
§ Ont. Devel.§ Users§ Experts
Ontology maintenance
Change requestsOntology
Data exchange
identification
Domain documentation
Purpose and scope
identification
Ontological requirements
proposal
ORSD formalization
Ontology purpose and
scope
Competency questions
(early stage)
ORSD document
§ Ont. Devel.§ Users§ Experts
§ Ont. Devel.§ [Users]
§ Ont. Devel.
���
§ Users§ Experts
Semantic Discovery in the Web of Things
Ontology implementation
§ Ont. Devel.
Ontology maintenance
Issue tracker
§ Ont. Devel.§ Users§ Experts
Ontology
Ontology Publication
Online ontology
§ Ont. Devel.
Ontological requirements specification
Competency questions
§ Ont. Devel.§ Users§ Experts
Requirements from WoT WG
8
http://w3c.github.io/wot/current-practices/wot-practices
https://lists.w3.org/Archives/Public/public-wot-ig/2016Dec/0016.html
Semantic Discovery in the Web of Things
Ontology requirements status overview
9
Ontology implementation
§ Ont. Devel.
Ontology maintenance
Issue tracker
§ Ont. Devel.§ Users§ Experts
Ontology
Ontology Publication
Online ontology
§ Ont. Devel.
Ontological requirements specification
Competency questions
§ Ont. Devel.§ Users§ Experts
Requirements
Ontology Extracted from Defined Implemented Closed Pending
WoT • W3C WebofThingsIG 34 15 11 8
Mappings • GatewayAPI• Developers 16 15 1 0
50 30 12 8
Semantic Discovery in the Web of Things
Ontology implementation
10
Implementation
Ontological requirements specification
Encoding
Competency questions
§ Ont. Devel.§ Ont. Devel.§ Users§ Experts
Ontology maintenance
Issue tracker
§ Ont. Devel.§ Users§ Experts
Ontology code
Ontology Publication
Online ontology
§ Ont. Devel.
Ontology conceptualization
Ontology model
§ Ont. Devel.
Evaluation
§ Ont. Devel.
Validated ontology
��
Semantic Discovery in the Web of Things
Implementation
Ontological requirements specification
Encoding
Competency questions
§ Ont. Devel.§ Ont. Devel.§ Users§ Experts
Ontology maintenance
Issue tracker
§ Ont. Devel.§ Users§ Experts
Ontology code
Ontology Publication
Online ontology
§ Ont. Devel.
Ontology conceptualization
Ontology model
§ Ont. Devel.
Evaluation
§ Ont. Devel.
Validated ontology
��
WoT ontology conceptualization
11
Semantic Discovery in the Web of Things
Implementation
Ontological requirements specification
Encoding
Competency questions
§ Ont. Devel.§ Ont. Devel.§ Users§ Experts
Ontology maintenance
Issue tracker
§ Ont. Devel.§ Users§ Experts
Ontology code
Ontology Publication
Online ontology
§ Ont. Devel.
Ontology conceptualization
Ontology model
§ Ont. Devel.
Evaluation
§ Ont. Devel.
Validated ontology
��
Mapping ontology conceptualization
12
Semantic Discovery in the Web of Things
Implementation
Ontological requirements specification
Encoding
Competency questions
§ Ont. Devel.§ Ont. Devel.§ Users§ Experts
Ontology maintenance
Issue tracker
§ Ont. Devel.§ Users§ Experts
Ontology code
Ontology Publication
Online ontology
§ Ont. Devel.
Ontology conceptualization
Ontology model
§ Ont. Devel.
Evaluation
§ Ont. Devel.
Validated ontology
��
WoT Ontology evaluation
13
Ontology requirements coverage
Experts validation
OOPS! http://oops.linkeddata.es
Semantic Discovery in the Web of Things
Ontology publication
14
Ontologypublication
Ontological requirements specification
Ontology implementation
Competency questions
§ Ont. Devel.§ Ont. Devel.§ Users§ Experts
Ontology maintenance
Issue tracker
§ Ont. Devel.§ Users§ Experts
Ontology
Propose release candidate
Ontology
§ Ont. Devel.
Documentation
HTML documentation
§ Ont. Devel.
Online publication
Online access (content
negotiation)
§ Ont. Devel.
Semantic Discovery in the Web of Things
WoT ontology publication - WoT
15
Ontology maintenance
Issue tracker
§ Ont. Devel.§ Users§ Experts
Ontological requirements specification
Competency questions
§ Ont. Devel.§ Users§ Experts
Ontology implementation
§ Ont. Devel.
Ontology
Ontology Publication
Online ontology
§ Ont. Devel.
http://iot.linkeddata.es/def/wot/
Ontology code
Output:Human oriented documentation
Output:Machine oriented code
Semantic Discovery in the Web of Things
Ontology Network portal
16
http://vicinity.iot.linkeddata.es/vicinity/Ontology online documentation
GitHub repository for code
Issue tracker
Releases tracking
RequirementsOntology network overview
Semantic Discovery in the Web of Things 17
Example
Semantic Discovery in the Web of Things
Example (I)
18
ssn:MeasurementCapability ssn:Frequencyex:TemperatureSensor01MeasurementCapability
ex:TemperatureSensor01Frequency
ssn:hasMeasurementProperty
ssn:hasMeasurementCapability ex:TemperatureSensor01FrequencyValue
ssn:hasValue
core:Value
rdf:value “100“^^xsd:integer
wot:isMeasuredIn
om:Unit_of_measure
om:second-time
ex:TemperatureSensor01MeasurementeRange
ssn:hasMeasurementProperty ex:TemperatureSensor01MeasurementRangeValue
ssn:hasValue
core:Value
core:hasMaxValue “0“^^xsd:integer
wot:isMeasuredIn ssn:MeasurementRange
core:hasMinValue “40“^^xsd:integer
ssn:Resolutionex:TemperatureSensor
01Resolution
ssn:hasMeasurementPropertyex:TemperatureSensor01ResolutionValue
ssn:hasValue
core:Value
rdf:value “0.3“^^xsd:float
wot:isMeasuredIn
om:Unit_of_measure
om:degree_Celsius
ssn:Accuracyex:TemperatureSensor
01Accurary
ssn:hasMeasurementPropertyex:TemperatureSensor01AccuracyValue
ssn:hasValue
core:Value
rdf:value “1“^^xsd:integer
wot:isMeasuredIn
wot:providesInteractionPattern
ex:TemperatureSensor01
wot:Thing
wot:InteractionPattern
ex:TemperatureSensor01TempProp
wot:Property
wot:Event
wot:isWritable “false”^^xsd:boolean
xsd:double
wot:hasValueType
om:degree_Celsiuswot:providesInteractionPattern
wot:interactionName “Temperature“^^xsd:stringwot:thingName
“Temperature Sensor 01“^^xsd:string
wot:DataSchema wot:DataTypeex:TemperatureSensor01TempOutputDatawot:hasOutput
Data
core:serialNumber
“5072dd0b-c2f0-4744-9dd4-dff344d8e2bb“^^xsd:string
core:Thermometer
wot:isMeasuredIn
ex:TemperatureSensor01TempEvent
wot:interactionName “Temperature New Value“^^xsd:string
wot:isMeasuredIn
core:monitors
core:AverageTemperature
core:TemperatureAmbientProperty
core:monitors
core:monitors
om:Unit_of_measure
Name: Temperature_Sensor_01Type: ThermometerGUID: 5072dd0b-c2f0-4744-9dd4-dff344d8e2bbProperties:oTemperature:
• Name: Temperature• Observed Property: Average
temperature• Datatype: Double• Writable: no• Units of measure: ºC
Events:oTemperature:
• Name: Temperature New Value
• Observed Property: Average temperature
--------------------------------------Capabilities:• Frequency: 100 seconds• Resolution: 0.3 ºC• Accuracy: 1 ºC• Range: 0 - 40 ºC
Semantic Discovery in the Web of Things
Example (II)
19
wot:providesInteractionPatternex:TemperatureSensor01
wot:Thing
wot:InteractionPattern
ex:TemperatureSensor01TempProp
wot:Property
wot:isWritable “false”^^xsd:boolean
xsd:double
wot:hasValueType
om:degree_Celsius
wot:interactionName “Temperature“^^xsd:stringwot:thingName
“Temperature Sensor 01“^^xsd:string
wot:DataSchema wot:DataTypeex:TemperatureSensor01TempOutputDatawot:hasOutput
Data
core:serialNumber
“5072dd0b-c2f0-4744-9dd4-dff344d8e2bb“^^xsd:string
core:Thermometer
wot:isMeasuredIn
wot:isMeasuredIn
core:AverageTemperature
core:TemperatureAmbientProperty
core:monitors
om:Unit_of_measure
geo:SpatialThing
wot:isAccessibleThrough
wot:Link
ex:TemperatureSensor01TempPropLink wot:hasMediaType
“http://localhost:5005/things/TemperatureSensor01/temp“^^xsd:string
wot:href
“application/json“^^xsd:string
Extended with access information for an interaction pattern
Semantic Discovery in the Web of Things
Example (III)
20
core:describes
wot:Link
ex:TemperatureSensor01TD-AM1
map:AccessMapping
map:hasAccessMapping
ex:TemperatureSensor01AM-Link1 wot:hasMediaType
“http://localhost:5005/things/TemperatureSensor01/pos“^^xsd:string
wot:href
map:Mapping
ex:mapping1
ex:mapping2
“latitude“^^xsd:stringmap:key
“longitude“^^xsd:stringmap:key
geo:lat
geo:long
map:predicate
map:predicate
map:hasMapping
map:Mapping
map:mapsResourcesFrom
ex:TemperatureSensor01TD
core:ThingDescription
“application/json“^^xsd:string
map:hasMapping
wot:providesInteractionPatternex:TemperatureSensor01
wot:Thing
wot:InteractionPattern
ex:TemperatureSensor01TempProp
wot:Property
wot:isWritable “false”^^xsd:boolean
xsd:double
wot:hasValueType
om:degree_Celsius
wot:interactionName “Temperature“^^xsd:stringwot:thingName
“Temperature Sensor 01“^^xsd:string
wot:DataSchema wot:DataTypeex:TemperatureSensor01TempOutputDatawot:hasOutput
Data
core:serialNumber
“5072dd0b-c2f0-4744-9dd4-dff344d8e2bb“^^xsd:string
core:Thermometer
wot:isMeasuredIn
wot:isMeasuredIn
core:AverageTemperature
core:TemperatureAmbientProperty
core:monitors
om:Unit_of_measure
geo:SpatialThing
wot:isAccessibleThrough
wot:Link
ex:TemperatureSensor01TempPropLink wot:hasMediaType
“http://localhost:5005/things/TemperatureSensor01/temp“^^xsd:string
wot:href
“application/json“^^xsd:string
“40.451”geo:lat
“-3.7261”geo:long
ex:TemperatureSensor01
{“latitude”: 40.451, “longitude”:-3.7261
}
1
2 3
4
Semantic Discovery in the Web of Things
Wrap up: Conclusions and future work
21
Conclusions
§ Semantic approach as for interoperability as a service
§ Two ontology modules provided
Future work
☞ Experiments within the project
☞ Online examples
☞ Ontology reuse☞ Semantic annotation
examples☞ Validation
Semantic Discovery in the Web of Things
Questions?
22
Thanks for you attention!
About ontologiesmpoveda@fi.upm.es, rgarcia@fi.upm.es
About approachfserena@fi.upm.es, rgarcia@fi.upm.es
Fernando SerenaMaría Poveda-Villalón
Raúl García-Castro
Semantic Discovery in the Web of Things
mpoveda@fi.upm.es@MariaPovedaV
Ontology Engineering GroupUniversidad Politécnica de Madrid
5th June, 2017EnWoT (Rome, Italy)
This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No H2020-688467