Abstract: In recent years, the development and deployment
of Internet of Things (IoT) devices has led to the generation of
large volumes of real world data. Analytical models can be used to
extract meaningful insights from this data. However, most of IoT
data is not fully utilised, which is mainly due to interoperability
issues and the difficulties to analyse data collected by heterogeneous
resources. To overcome this heterogeneity, semantic
technologies are used to create common models to share various
data originated from heterogeneous sources. However, semantics
add further overhead to data delivery, and the processing time
to annotate the data with the model can increase the latency and
complexity in publishing and querying the annotated data. In
this paper, we present a lightweight semantic model to annotate
IoT streams. The metadata descriptions that are provided in the
models are used for search and discovery of the data using various
attributes such as value and type. The proposed model extends
commonly used ontologies such as W3C/OGC SSN ontology
and its recent lightweight core, SOSA, and includes concepts
to describe streaming IoT data. We also show use cases, tools
and applications where the proposed model has been used.
IoT Stream: A Lightweight Ontology for Internet of Things Data Streams (GIoTS 2019)
1. IoT-Stream: A
Lightweight Ontology
for Internet of Things
Data Streams
T. Elsaleh, M. Bermudez-Edo, S. Enshaeifar,
S. T. Acton, R. Rezvani, P. Barnaghi
IoT-Stream
2. Outline
• IoT Data
• Analogy
• Annotation
• Interoperability
• Previous works
• Our approach
• Core model
• Linked models
• Example (Instance)
• Use cases
• Application scenario
• To conclude
3. IoT Data
• IoT data is often captured by various sources and is represented in
different forms
• Heterogeneity of the data and interoperability issues between
different sources and platforms
• a common challenge in creating large-scale IoT data analytics services and
applications
• To solve the heterogeneity of the data
• most of the IoT solutions are opting to apply semantics
• Semantic annotations are regarded as “heavy”
4. Analogy
• Like streams of water
• Branches into other streams which originate
from or feed to one or more streams
• All which are destined in a (data) lake or sea
• Other streams created can be a result of
processing
• Analysis can be applied to detect
changes, abnormalities, patterns of
interest, or events
5. Annotation
• Important to provide some form of metadata to describe
• Provide them in a consumable format
• Rather than Extract, transform, load (ETL)
• Do we need to provide descriptions on the atomic level?
• Sometimes yes, sometimes no
• YES… if metadata frequently changes throughout the lifetime of a stream
• NO… If it rarely changes
6. Interoperability
• To be able to share, need to consider interoperability
• Syntactic – data structure and format
• Semantic – vocabulary
• How to achieve? Either…
• Develop AI that can interpret ANY data structure, format or vocabulary
• Still needs a learning mechanism
• Take practical steps onto consideration
• Linked open data practices
• Good ontologies guide
• Popular references
7. Previous works
• RDF Stream Processing
• Abstract model for representing RDF streams on the atomic level
• Introduces SPARQL extensions
• Do all data points need to be annotated and stored in a triple store?
• Stream Annotation Ontology
• Extends SSN to address sensor data streams
• Employs a class taxonomy for stream analysis techniques
• Good for high granularity
8. Our Approach
• Provide options for granularity of metadata. Can be:
• Atomic
• Window
• Vector string
• Pointer to raw data source (via an IoT service)
• Analysis techniques and methods descriptions are simplified
• Vector string
• Use pointer to IoT service to interpret analysis techniques used
• Extend and link to popular ontologies
9. Core Model
• IoT Stream
• Defines the lifetime
• StreamObservation
• Observation over a data point or
window
• Analytics
• Techniques applied to the stream
• Event
• Detection of a state from a stream
10. Linked Models
• IoT streams are generated by sensors
• Reflect real word events
• Location, phenomena, units of measure
• Provided by data producers
• Services, quality assessment
derivedFrom
belongsTo
detectedFrom
analysedBy
sosa:madeBySensor
sosa:madeObservation
qoi:hasQuality
iot-lite:hasQuantityKind
iot-lite:hasUnit
geo:location generatedBy
providedBy
IotStream
Analytics
Event
StreamObservation
iot-lite:Service
geo:Point
qu:Unit
qu:QuantityKind
sosa:Sensor
qoi:Quality
sosa:Observation
12. Use Cases
• City of Aarhus open data bank
• real-time data
• Traffic management
• 400 devices deployed detects
Bluetooth from moving vehicles
• Analytics
• Observe day-to-day developments
• Events
• Irregular road events e.g. low or high
traffic
• Stream links to geo:Point
13. Use Cases
• Smart Healthy Living
• Daily activity monitoring
• Physiological observations
• Ambient phenomena
• Continuous data for storage and
analysis
• Sensor identification using SSN/SOSA
and iot-lite
• Capturing QoI for consistency and
reliability is critical
• Exposing Services using IoT-lite
• Allows access to data streams for other
services and applications
UK Deployment Site Architecture
Device Edge Backend Frontend Users
Fixed Gateway
Mobile GatewayWearable
DoorMotionAppliance
Energy
Home
Energy
Home Router
Semantic
Store
Mobile App
Web Dashboard
ACTIVAGE App
Raw Data
Store
Stakeholders
Carers,
Clinicians
Users
AIoTES Platform
14. Application Scenarios
• Data Analysis Tools and Services
• techniques such as data pre-processing,
machine learning and correlation
• E.g. aggregation, filtering, re-sampling and
pattern detection
• SPARQL templates that format the result
in a processable manner
• Output is reannotated to a new
“analysed” IoTStream
KAT Service
Data Service nData Service 2Data Service 1
IoT Stream
Broker
Endpoint
Broker Client
Core
Supervised
Learning
Unsupervised
Learning
Other methods
e.g. Correlation
Pre-processing
Analysed Stream Annotator
application/ld+json
text/csv
application/json
text/csv
application/sparql-query
*.csv
*.jsonld
application/json
*.json
*.json
➢ SPARQL
➢ DA methods
➢ StreamID
➢ SPARQL
➢ DA methods
➢ Analysed stream
➢ Analysed stream
➢ SPARQL
➢ Stream *.csv
*.rq
15. Application Scenarios
• Crawling and Search Engines for IoT Data
Streams
• Crawler extracts metadata from data
sources and stores them in a metadata
repository
• Several processing layer components
discover data stream providers from the
repository
• and then invoke their brokers for their data
streams
16. To conclude
• Developed a model according to the
• most recognised and state-of-the-art guidelines to develop semantic models
• especially for IoT environments, where scalability and short processing time
are essential
• Lightweight semantic model
• Allows simpler concepts to be added
• compatible and as an extension of the well-known SSN/SOSA ontology
• Demonstrated the validity of IoT-Stream through a series of real
annotation scenarios
• The ontology is publicly available and available in several formats
• http://purl.org/iot/ontology/iot-stream#