W3C W3C Member Submission

IoT-Lite Ontology

W3C Member Submission 26 November 2015

This version:
http://www.w3.org/Submission/2015/SUBM-iot-lite-20151126/
Latest version:
http://www.w3.org/Submission/iot-lite/
Authors:
Maria Bermudez-Edo, Institute for Communication Systems, University of Surrey and University of Granada
Tarek Elsaleh, Institute for Communication Systems, University of Surrey
Payam Barnaghi, Institute for Communication Systems, University of Surrey
Kerry Taylor, Institute for Communication Systems, University of Surrey and The Australian National University
Acknowledgements:
This work is partially supported by EU FP7 FIWARE project under grant agreement no. 632893, and EU H2020 FIESTA-IoT project under grant agreement no. CNECT-ICT-643943.

Abstract

IoT-Lite ontology is a lightweight ontology to represent Internet of Things (IoT) resources, entities and services. IoT-Lite is an instantiation of the SSN ontology. The lightweight allow the representation and use of IoT platforms without consuming excessive processing time when querying the ontology. However it is also a meta ontology that can be extended in order to represent IoT concepts in a more detailed way in different domains. It also can be combined with ontologies representing IoT data streams such as SAO ontology. Following best practices in ontology engineering iot-lite is meant to be used with a quantity taxonomy, such as qu-taxo, that allows the discovery and interoperability of IoT resources in heterogeneous platforms using a common vocabulary.

Status of this document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications can be found in the W3C technical reports index at http://www.w3.org/TR/.

By publishing this document, W3C acknowledges that the Submitting Members have made a formal Submission request to W3C for discussion. Publication of this document by W3C indicates no endorsement of its content by W3C, nor that W3C has, is, or will be allocating any resources to the issues addressed by it. This document is not the product of a chartered W3C group, but is published as potential input to the W3C Process. A W3C Team Comment has been published in conjunction with this Member Submission. Publication of acknowledged Member Submissions at the W3C site is one of the benefits of W3C Membership. Please consult the requirements associated with Member Submissions of section 3.3 of the W3C Patent Policy. Please consult the complete list of acknowledged W3C Member Submissions.

  1. Introduction
  2. Exemplifications
  3. IoT Lite Ontology at Glance
  4. Cross-reference for IoT Lite classes and Object Properties

1. Introduction

Internet of Thing (IoT) is machine-to-machine communications and interactions between objects, devices and people. In the near future the communications and information processing will be ubiqutious and performed by IoT systems.

Over the past few years the semantics community has developed ontologies to describe concepts and relationship between different entities in various domains. The Internet of Things (IoT) domain have similar approaches to apply semantics. A key problem is that most of the IoT related semantic descriptions are not as widely adopted as expected. One of the main concerns users and developers have is that semantics increase the complexity and processing time and therefore they are unsuitable for dynamic and responsive environments such as the IoT.

Complex models, although can be applied for querying almost anything about objects, are often difficult to implement and use. They need high processing and therefore they are not suitable for constrained environments. IoT models should consider the constrains and dynamicity of the IoT environments. At the same time, they need to model the relationships and concepts that represent and allow interoperability between IoT entities. Therefore, expressiveness versus complexity is a challenge.

We propose IoT-Lite, a lightweight instantiation of the semantic sensor network (SSN) ontology 1 to describe the key IoT concepts that allows interoperability and discovery of sensory data in heterogeneous IoT platforms. IoT-lite reduces the complexity of other IoT models describing only the main concepts of the IoT domain. IoT-Lite can be extended by different models to increment it expressiveness.

IoT-Lite describes IoT concepts in three classes. Objects, system or resources and services. IoT devices are classified into, although not restricted to, three classes: sensing devices actuating devices and tag devices. IoT-Lite is focused on sensing, although it has a high level concept on actuation that allows any future extension on this area. Services are described with a coverage. This coverage represents the 2D-spatial covered by the IoT device.

The figure below depicts the concepts of the ontology and the main relationships between them.

IoT lite Ontology

IoT Lite Ontology is created to be used with a common quantity taxonomy, qu-taxo, to describe the Units and QuantityKind that IoT devices can measure. This taxonomy is represented by individuals in the ontology and is based on well-known taxonomies such as: qu and qudt. Similarly, some other classes, such as Object, Service or Attribute, can be linked to a vocabulary to choose the terms from a set of individual and existing concepts.

2. Example

The following is an example of an annotated temperature sensor belonging to one of the TelosB devices of the Surrey testbed, SmartCampus.

Example IoT lite Ontology

The example in Turtle (REF) is:

Example
   
@prefix qu: <http://purl.org/NET/ssnx/qu/qu#> .
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix ssn: <http://www.w3.org/2005/Incubator/ssn/ssnx/ssn#> .
@prefix iot-lite: <http://purl.oclc.org/NET/UNIS/fiware/iot-lite#> .
@prefix iot-l-ins: <http://purl.oclc.org/NET/UNIS/iot-lite/iot-liteInstance#> .


iot-lite:tableRoom13CII01 rdf:type iot-lite:Object ,
                                                   owl:NamedIndividual ;
                                          
           iot-lite:interfaceDescription "http://surrey.ac.uk/sensor/Room13CII01/Table"^^xsd:anyURI ;
                                          
           iot-lite:hasAttribute iot-lite:tempreratureTableRoom12CII01 ;
                                          
           geo:hasLocation iot-l-Ins:locationRoom13CII01 .


iot-lite:temperatureTableRoom12CII01 rdf:type iot-lite:Attribute ,
                                               owl:NamedIndividual ;
                                      
           iot-lite:isAssociatedWith iot-l-Ins:temperatureSensorRoom13CII01 ;
                                      
           iot-lite:hasQuantityKind qu:temperature .


iot-l-Ins:NEcornerRoom13CII01 rdf:type owl:NamedIndividual ,
                                       geo:Point ;
                              
           geo:long "-0.59316"^^xsd:float ;
                              
           iot-lite:altRelative "1stFloor"^^xsd:string ;
                              
           geo:lat "51.2434"^^xsd:float .


iot-l-Ins:SWcornerRoom13CII01 rdf:type owl:NamedIndividual ,
                                       geo:Point ;
                              
           geo:long "-0.59315"^^xsd:float ;
                              
           iot-lite:altRelative "1stFloor"^^xsd:string ;
                              
           geo:lat "51.2433"^^xsd:float .


iot-l-Ins:TelosB001 rdf:type owl:NamedIndividual ,
                             ssn:Device ;
                    
           ssn:hasSubsystem iot-l-Ins:temperatureSensorRoom13CII01 .


iot-l-Ins:UniSTestbed rdf:type owl:NamedIndividual ,
                               ssn:System ;
                      
           ssn:hasSubsystem iot-l-Ins:TelosB001 .


iot-l-Ins:areaRoom13CII01 rdf:type iot-lite:Rectangle ,
                                   owl:NamedIndividual ;
                          
           iot-lite:hasPoint iot-l-Ins:NEcornerRoom13CII01 ,
                             iot-l-Ins:SWcornerRoom13CII01 .

iot-l-Ins:locationRoom13CII01 rdf:type owl:NamedIndividual ,
                                       geo:Point ;
                              
           geo:long "-0.593154"^^xsd:float ;
                              
           iot-lite:altRelative "1stFloor"^^xsd:string ;
                              
           geo:lat "51.243362"^^xsd:float .


iot-l-Ins:ngsi10SensorRoom13CII01 rdf:type iot-lite:Service ,
                                           owl:NamedIndividual ;
                                  
           iot-lite:endpoint "http://surrey.ac.uk/sensors/measures/rom13CII01"^^xsd:anyURI ;
                                  
           iot-lite:interfaceDescription "http://surrey.ac.uk/sensors/measures/room13CII01"^^xsd:anyURI ;
                                  
           iot-lite:type "ngsi-10"^^xsd:string .


iot-l-Ins:resolution1024 rdf:type iot-lite:Metadata ,
                                  owl:NamedIndividual ;
                         
           iot-lite:metadataValue "1024.0"^^xsd:float ;
                         
           iot-lite:type "resolution"^^xsd:string .


iot-l-Ins:sensorRoom13CII01 rdf:type owl:NamedIndividual ,
                                     ssn:Deployment ;
                            
           geo:hasLocation iot-l-Ins:locationRoom13CII01 .


iot-l-Ins:temperatureSensorRoom13CII01 rdf:type owl:NamedIndividual ,
                                                ssn:SensingDevice ;
                                       
           iot-lite:hasCoverage iot-l-Ins:areaRoom13CII01 ;
                                       
           iot-lite:exposedBy iot-l-Ins:ngsi10SensorRoom13CII01 ;
                                       
           ssn:hasDeployment iot-l-Ins:sensorRoom13CII01 .


iot-l-Ins:temperatureSensorTelosB rdf:type owl:NamedIndividual ,
                                           ssn:Sensor ;
                                  
           iot-lite:hasMetadata iot-l-Ins:resolution1024 ;
                                  
           iot-lite:hasSensingDevice iot-l-Ins:temperatureSensorRoom13CII01 ;
                                  
           iot-lite:hasUnit qu:degree_Celsius ;
                                  
           iot-lite:hasQuantityKind <http://purl.org/NET/ssnx/qu/quantity#temperature>.

                    

3. IoT Lite Ontology at Glance

An alphabetical index of IoT Lite terms, by class (concepts) and properties are given below. All the terms are hyperlinked to their detailed description for quick reference.

Classes: ActuatingDevice, Attribute, Circle, Coverage, Metadata, Object, Polygon, Rectangle, Service, TagDevice,

Properties: relativeLocation, altRelative, interfaceDescription, endpoint, exposedBy, hasAttribute, hasCoverage, hasMetadata, hasPoint, hasQuantityKind, hasSensingDevice, hasUnit, id, isAssociatedWith, radius, type, value,

4. Cross-reference for IoT Lite classes and Object Properties

Class: iot-lite:ActuatingDevice

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#ActuatingDevice

Device that can actuate over an object or QuantityKind.

sub-class-of:
http://www.w3.org/2005/Incubator/ssn/ssnx/ssn#Device

[back to top]

Class: iot-lite:Attribute

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#Attribute

An attribute of an IoT object that can be exposed by an IoT service (i.e. a room (IoT Object) has a temperature (Attribute), that can be exposed by a temperature sensor (IoT device).

in-domain-of:
iot-lite:isAssociatedWith
iot-lite:hasQuantityKind
in-range-of:
iot-lite:hasAttribute

[back to top]

Class: iot-lite:Circle

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#Circle

Circle coverage needs the location of the sensor as the centre of the circle and the radius as a DataProperty.

sub-class-of:
iot-lite:Coverage
in-domain-of:
iot-lite:radius

[back to top]

Class: iot-lite:Coverage

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#Coverage

The coverage of an IoT device (i.e. a temperature sensor inside a room has a coverage of that room).

in-domain-of:
iot-lite:hasPoint
in-range-of:
iot-lite:hasCoverage

[back to top]

Class: iot-lite:Metadata

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#Metadata

Class used to describe properties that cannot be described by QuantityKind and Units. e.g. the resolution of a sensor.

in-range-of:
iot-lite:hasMetadata

[back to top]

Class: iot-lite:Object

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#Object

An IoT entity

in-domain-of:
iot-lite:hasAttribute
iot-lite:interfaceDescription

[back to top]

Class: iot-lite:Polygon

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#Polygon

The coverage is made up by linking several points by strait lines.

sub-class-of:
iot-lite:Coverage

[back to top]

Class: iot-lite:Rectangle

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#Rectangle

The coverage is made up by giving two points which are the oposite corners of a rectangle.

sub-class-of:
iot-lite:Coverage

[back to top]

Class: iot-lite:Service

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#Service

Service provided by an IoT Device

in-domain-of:
iot-lite:endpoint
iot-lite:interfaceDescription
in-range-of:
iot-lite:exposedBy

[back to top]

Class: iot-lite:TagDevice

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#TagDevice

Tag Device such as QR code, RFID or bar code.

sub-class-of:
http://www.w3.org/2005/Incubator/ssn/ssnx/ssn#Device

[back to top]

Annotation Property: iot-lite:relativeLocation

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#relativeLocation

Location provided in relative terms, not with geo coordinates.

OWL Type:
AnnotationProperty
Domain:
geo:Point

[back to top]

Annotation Property: iot-lite:altRelative

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#altRelative

Altitude location provided in relative terms, not with geo coordinates.

OWL Type:
AnnotationProperty
Domain:
geo:Point
Range:
xsd:string

[back to top]

Data Property: iot-lite:interfaceDescription

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#interfaceDescription

Description of the service provided.

OWL Type:
DatatypeProperty
Domain:
iot-lite:Object
iot-lite:Service
Range:
xsd:anyURI

[back to top]

Data Property: iot-lite:endpoint

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#endpoint

Endpoint of the service. It is usually a URL where the service is available.

OWL Type:
DatatypeProperty
Domain:
iot-lite:Service
Range:
xsd:anyURI

[back to top]

Property: iot-lite:exposedBy

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#exposedBy

A Device is exposed by a service.

OWL Type:
ObjectProperty
Domain:
http://www.w3.org/2005/Incubator/ssn/ssnx/ssn#Device
Range:
iot-lite:Service

[back to top]

Property: iot-lite:hasAttribute

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#hasAttribute

Links the devices with their attributes.

OWL Type:
ObjectProperty
Domain:
iot-lite:Object
Range:
iot-lite:Attribute

[back to top]

Property: iot-lite:hasCoverage

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#hasCoverage

Links the devices with their coverages.

OWL Type:
ObjectProperty
Domain:
http://www.w3.org/2005/Incubator/ssn/ssnx/ssn#Device
Range:
iot-lite:Coverage

[back to top]

Property: iot-lite:hasMetadata

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#hasMetadata

Links any concept with metadata about that concept.

OWL Type:
ObjectProperty
Range:
iot-lite:Metadata

[back to top]

Property: iot-lite:hasPoint

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#hasPoint

Links the coverage with the points that describe the coverage (e.g. A square coverage is defined with two points in a diagonal of the square).

OWL Type:
ObjectProperty
Domain:
iot-lite:Coverage
Range:
geo:Point

[back to top]

Property: iot-lite:hasQuantityKind

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#hasQuantityKind

Links the sensor or attribute with the quantity kind it measures (e.g. A sensor -sensor1- measures temperature: sensor1 hasQuantityKind temperature).

OWL Type:
ObjectProperty
Domain:
iot-lite:Attribute
OR
http://www.w3.org/2005/Incubator/ssn/ssnx/ssn#Sensor
Range:
http://purl.org/NET/ssnx/qu/qu#QuantityKind

[back to top]

Property: iot-lite:hasSensingDevice

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#hasSensingDevice

Links a sensor with the sensing device the same way as SSN.

OWL Type:
ObjectProperty
Domain:
http://www.w3.org/2005/Incubator/ssn/ssnx/ssn#Sensor
Range:
http://www.w3.org/2005/Incubator/ssn/ssnx/ssn#SensingDevice

[back to top]

Property: iot-lite:hasUnit

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#hasUnit

Links the sensor with the units of the quantity kind it measures (e.g. A sensor -sensor1- measures temperature in Celsius: sensor1 hasUnit celsius).

OWL Type:
ObjectProperty
Domain:
http://www.w3.org/2005/Incubator/ssn/ssnx/ssn#Sensor
Range:
http://purl.org/NET/ssnx/qu/qu#Unit

[back to top]

Property: iot-lite:id

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#id

Defines the ID of the Object or Device

OWL Type:
DatatypeProperty
Domain:
http://www.w3.org/2005/Incubator/ssn/ssnx/ssn#Device
Range:
xsd:string

[back to top]

Property: iot-lite:isAssociatedWith

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#isAssociatedWith

Defines the association between objects and sensors (e.g. A table (object) has an attribute(temperature at the table) which is associated with a sensor (the temperature sensor of the room).

OWL Type:
ObjectProperty
Domain:
iot-lite:Attribute
Range:
http://www.w3.org/2005/Incubator/ssn/ssnx/ssn#Device

[back to top]

Data Property: iot-lite:radius

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#radius

Specifies the radius of a circle coverage defined by a point -the center of the circle- and its radius.

OWL Type:
DatatypeProperty
Domain:
iot-lite:Circle

[back to top]

Data Property: iot-lite:interfaceType

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#interfaceType

Defines the type of interface of the service endpoint.

OWL Type:
DatatypeProperty
Domain:
iot-lite:Service
Range:
xsd:string

[back to top]

Data Property: iot-lite:metadataType

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#metadataType

Defines the type of the metadata value (e.g. resolution of the sensor).

OWL Type:
DatatypeProperty
Domain:
iot-lite:Metadata
Range:
xsd:string

[back to top]

Data Property: iot-lite:metadataValue

URI: http://purl.oclc.org/NET/UNIS/fiware/iot-lite#metadataValue

Value of the metadata.

OWL Type:
DatatypeProperty
Domain:
iot-lite:Metadata
Range:
xsd:string

[back to top]

References

Michael Compton, Payam Barnaghi, Luis Bermudez, Raul Garcia-Castro, Oscar Corcho, Simon Cox, John Graybeal, Manfred Hauswirth, Cory Henson, Arthur Herzog, et al. The ssn ontology of the w3c semantic sensor network incubator group. Web Semantics: Science, Services and Agents on the World Wide Web, 17:25–32, 2012.