sessing each discovered sensing data
stream (Dynamic Io T content) to detect
an abnormality, finding the Thing that
offers such data stream, and returning
the representative of that thing (
Representative) as the search result. This
subquery can be modeled with the meta-path D→ T→R.
By aggregating the two subqueries,
we can model the Io TSE instance with
the aggregated meta-path R+D→ T→R.
The Io TSE class addressing this meta-path is the second most common class
in the Io TSE literature.
A Meta-path-based Classification
System for Io TSE
Io TSE instances can be classified in various dimensions, from implementation
technologies27 to query processing behavior6, 15 and the maturity of their development. 3 Alternatively, we can classify Io TSE instances by their meta-paths,
which provide succinct and comprehensive description of their functionality
via the type of queries that they support.
As mentioned previously, the form of a
query that an Io TSE instance addresses
influences its internal operations and,
therefore, determines its solution space.
A meta-path-based classification system
will provide insights on what an Io TSE
instance is and what it should do, according to the Io TSE literature.
We modeled the IoTSE prototypes
selected earlier with the meta-path
model and identified eight types of
meta-path (Figure 5). Each meta-path
represents a class of Io TSE.
R → R Class Io TSE
This IoTSE class is the most popular
in the literature. Instances of this class
resolve queries on ID, metadata, or
content of representative Io T content,
and return matching representatives
as search results. The popularity of this
class is a surprising finding, as it does
not utilize distinctive content types of
Io T, such as sensing data and actuating
services, nor the relationship between
Io T contents and things.
ForwarDS-IoT5 is an IoTSE prototype
processing queries on semantic descrip-
tion of things, stored in a federation of re-
positories. Queries in ForwarDS-Io T spec-
ify conditions on metadata of Io T things
and are translated into SPARQL queries.
This prototype supports both synchro-
nous and asynchronous query process-
ing. Disco Wo T9 is another prevalent pro-
totype belonging to the R→R class. This
system accepts identities of Io T contents
as “queries” and returns representation
of the given contents in a common for-
mat as “search results”. Its operation is
based on crowd-sourced strategies for
translating different types of resource
description into the common format.
Coverage of strategies represents “discov-
ered Io T content” of Disco Wo T.
D + R → T→R Class Io TSE
This class of IoTSE resolves queries
on both sensing data streams (that is,
dynamic Io T content) and representatives of Io T things, and returns the representatives of things that satisfy both
query criteria. Efficient processing of
dynamic Io T content is a primary challenge of this Io TSE class. The following
two works represent two prevalent approaches to address this challenge.
IoT-SVK2 searches for IoT things
based on their textual description and
real-time sensing values, with respect
to spatial and temporal constraints.
This search engine collects sensor
readings continuously in parallel to
the query assessment. To handle the
constant influx of sensing data, IoT-SVK utilizes two B+ trees and R tree
indexes, which are distributed across
a hierarchy of indexing servers. Dyser
search engine12 also searches for IoT
things based on their description and
real-world states, which are derived
from their real-time sensing values.
Different from IoT-SVK, Dyser does
not collect Io T content. Instead, it con-
tacts things to validate their states for
every query. To improve the efficiency
of this operation, it predicts sensing
values by assuming the existence of
repeating periods in sensing data and
ranks things according to this predic-
tion to minimize the number of things
D → D Class Io TSE
Search engine instances of this class
process queries on metadata and
content of sensing data streams and
return relevant streams as search results. Key distinction of search engines in this class from the previous
one is their focus on low-level sensor
readings, instead of high-level states
derived from readings.
CASSARAM13 queries sensing data
streams on their contextual information, such as availability, accuracy,
reliability and response time. It is motivated by the lack of the search functionality for an increasing number of
sensors with overlapping capabilities
deployed around the world. CASSARAM
utilizes an extension of the Semantic
Sensor Network Ontology (SSNO) 1 to
describe the contextual information. A
user would query this ontology with a
SPARQL query generated by the graphical user interface of CASSARAM. This
interface also captures the references of
the search user. The Euclidian distance
between matched sensors and the user
reference in a multidimensional space
built from different types of sensor contextual information is used for ranking
purpose. Top ranked sensing streams
are returned as search results.
R → T → R + D Class Io TSE
This class of Io TSE can be considered
as an extension of the class (R → R).
Instances of this class resolve queries
Figure 5. Distribution of meta-path types among reviewed Io TSE works.
0 5 10 15 20 25