<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>SWoTSuite: A Toolkit for Prototyping Cross-domain Semantic Web of Things Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pankesh Patel</string-name>
          <email>pankesh.patel@in.abb.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Amelie Gyrard</string-name>
          <email>amelie.gyrard@insight-centre.org</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dhavalkumar Thakker</string-name>
          <email>d.thakker@bradford.ac.uk</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Amit Sheth</string-name>
          <email>amit@knoesis.org</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Serrano</string-name>
          <email>martin.serrano@insight-centre.org</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ABB Corporate Research</institution>
          ,
          <country country="IN">India</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Insight Center for Data Analytics, National University of Galway</institution>
          ,
          <country country="IE">Ireland</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Kno.e.sis and Wright State University</institution>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Bradford, Bradford</institution>
          ,
          <addr-line>United kingdom</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <abstract>
        <p>Semantic Web of Things (SWoT) applications focus on providing a wide-scale interoperability that allows the sharing of IoT devices across domains and the reusing of available knowledge on the web. However, the application development is difficult because developers have to do various tasks such as designing an application, annotating IoT data, interpreting data, and combining application domains. To address the above challenges, this paper demonstrates SWoTSuite, a toolkit for prototyping SWoT applications. It hides the use of semantic web technologies as much as possible to avoid the burden of designing SWoT applications that involves designing ontologies, annotating sensor data, and using reasoning mechanisms to enrich data. Taking inspiration from sharing and reuse approaches, SWoTSuite reuses data and vocabularies. It leverages existing technologies to build applications. We take a hello world naturopathy application as an example and demonstrate an application development process using SWoTSuite. The demo video is available at URL http://tinyurl.com/zs9flrt.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In recent years, we have been witnessing a growing number of applications
exploiting sensors are becoming increasingly popular. However, existing applications
are largely specific to a domain and they lack methods to create innovative
cross-domain applications. Some examples of cross-domain SWoT applications [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
include recommending food according to weather forecasts, home remedies
according to health measurements, and safety equipment in a smart car according
to the weather. To build these applications, developers have to perform various
tasks such as designing an application, semantically annotating IoT data, and
interpreting IoT data. This requires the learning of semantic web technologies
and tools, which is a time consuming process.
      </p>
      <p>
        The aim of our work is to reduce the development effort for prototyping SWoT
applications [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Taking inspiration from Content Management Systems (e.g.,
Drupal, Wordpress) that enables a design of websites without learning web
technologies, we reduce the gap of learning semantic web technologies by developing
a framework that assists developers designing cross-domain SWoT applications.
We design and implement SWoTSuite5, a suite of tools for prototyping SWoT
applications. We first present an architecture of SWoTSuite and then an application
development process using it.
2
      </p>
      <p>
        SWoTSuite architecture
In the following, we describe an architecture of SWoTSuite and its components.
Semantic annotator. It interacts with IoT devices that return data in
heterogeneous formats. It converts sensors metadata in an unified description to provide
further reasoning to overcome heterogeneity issues, similar to approach adopted
by Semantic Sensor Observation Service (SemSOS) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The sensor metadata is
semantically annotated according to the M3 taxonomy [1, p. 93](an extension of
W3C Semantic Sensor Network (SSN) ontology) that covers the limitations of
SSN [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        Persistent storage. It stores the M3 ontologies, M3 datasets [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], M3 rules
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], and unified sensor data received from the annotator. Moreover, it stores
pre-written M3 compatible SPARQL queries to assist developers. The current
implementation of persistent storage uses a triple store to store M3 ontologies,
M3 datasets, unified sensor data received from the converter. The M3 rules and
SPARQL queries are stored as files.
      </p>
      <p>Knowledge manager. It is responsible for indexing, designing, reusing, and
combining domain-specific knowledge that further update knowledge in the
persistent storage. We have been building datasets to reference, classify, and reuse
domain-specific knowledge that we call Linked Open Vocabularies for the Internet
of Things (LOV4IoT)6. The LOVIoT provides domain ontologies, datasets, and
rules that could be reused to design cross-domain SWoT applications.
Reasoning engine. It infers high-level knowledge using a Jena inference engine
and M3 rules. The M3 rules are a set of rules that are extracted from LOV4IoT
and redesigned to be compliant with the M3 taxonomy.</p>
      <p>Query engine. It executes queries and provides smart suggestions. The query
engine has been implemented using ARQ, a SPARQL processor for Jena. The
query engine loads the M3 ontologies, M3 datasets, knowledge deduced from the
reasoning engine, and executes SPARQL queries in order to provide suggestions.
5 http://sensormeasurement.appspot.com/
6 http://sensormeasurement.appspot.com/?p=ontologies</p>
      <p>Query
Engine</p>
      <p>Suggestions on browser</p>
      <p>Web Services
SPARQL Queries Ontologies</p>
      <p>Semantic IoT Data +</p>
      <p>Inferred Knowledge</p>
      <p>Rule-based
Reasoning Engine
Semantic Annotator</p>
      <p>IoT Data</p>
      <p>LOV4IoT
dataset
Knowledge
Manager</p>
      <p>TripleStore
Semantic
IoT data</p>
      <p>Ontologies DataSets
SWoTSuite: A Toolkit for Prototyping Cross-domain SWoT Applications</p>
      <p>SPARQL
Query Editor</p>
      <p>Persistence Storage</p>
      <p>SPARQL
Queries</p>
      <p>Rules
For demonstration purposes, we take an application that combines data produced
by a body thermometer with other domains such as healthcare and food knowledge
bases. It suggests some preventive measures, such as home remedies when a fever
is detected (e.g., drink orange or lemon juice because they contain Vitamin C)
or consulting a doctor immediately in case of severity, that can be acted upon
by patients. Application development using SWoTSuite consists of the following
steps. The steps in even more detail can be found at URL7 and the recorded
video is available at URL8.</p>
      <p>Step 1: Generating an IoT application template. It selects a pre-defined
template from the persistent storage. The template consists of ontologies, datasets,
rules, and SPARQL queries that are required to build a SWoT application. To
select a template, developers provide a set of sensors (e.g., body thermometer)
and the related application domain (e.g., healthcare) information. SWoTSuite
queries the persistent storage with this information and returns templates to
select. The user interface is available at URL9.</p>
      <p>
        Step 2: Semantically annotating data. Developers provide SenML data to
the semantic annotator to get the RDF/XML data. We provide two options
7 http://sensormeasurement.appspot.com/?p=end_to_end_scenario
8 http://tinyurl.com/zs9flrt
9 http://sensormeasurement.appspot.com/?p=m3api
for interacting with the semantic annotator10. Option 1 allows the developers
to enter a URL of data source; in option 2, the developers enter SenML data
manually and press the converter button to get annotated data. Currently, we
have been working on different ways of annotating sensor data. One of ways is
tools like Kino [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] does. The kino accepts documents via a special interface11.
Step 3: Executing the reasoning engine. It deduces new knowledge from
annotated IoT data. To perform this task, developers are guided through Linked
Open Rules available in the persistent storage. An example of a rule is “if body
temperature is between 37.5◦C–39◦C, then high fever”. Moreover, the developers
are guided through Java code12 to load rules.
      </p>
      <p>Step 4: Executing the query engine. It executes SPARQL queries and
provides suggestions. We guide developers to use ARQ, a SPARQL query
processor for Jena. The query engine loads the M3 ontologies, datasets, annotated
data (Step 1), derived suggestions (Step 3), and SPARQL queries.
Step 5: Displaying results. It receives results from the query engine (Step 4)
and displays derived knowledge and suggestions on a Web browser13.</p>
      <p>
        We have evaluated our framework on three aspects: the performance of the
semantic annotator given a size of data [1, p. 85], the performance of the reasoner
given a number of rules [1, p. 86], and the performance of different tasks according
to a size of data [1, p. 87]. We are going to evaluate the usability of SWoTSuite
with real users through a Google form at our ISWC 2016 tutorial [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The web
link of this tutorial is available at URL14.
10 http://www.sensormeasurement.appspot.com/?p=senml_converter
11 https://www.youtube.com/watch?v=12R81HrlAF8
12 http://sensormeasurement.appspot.com/tutorial/M3ApplicationTutorial.zip
13 http://www.sensormeasurement.appspot.com/?p=naturopathy
14 http://sensormeasurement.appspot.com/?p=ISWC2016Tutorial
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Gyrard</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Designing cross-domain semantic Web of things applications</article-title>
          . Theses,
          <string-name>
            <surname>Télécom ParisTech</surname>
          </string-name>
          (
          <year>April 2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Henson</surname>
            ,
            <given-names>C.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pschorr</surname>
            ,
            <given-names>J.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thirunarayan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Semsos: Semantic sensor observation service</article-title>
          .
          <source>In: Collaborative Technologies and Systems</source>
          ,
          <year>2009</year>
          . CTS '09. International Symposium on. (May
          <year>2009</year>
          )
          <fpage>44</fpage>
          -
          <lpage>53</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Gyrard</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Datta</surname>
            ,
            <given-names>S.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bonnet</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boudaoud</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Standardizing generic crossdomain applications in internet of things</article-title>
          . In: 2014
          <string-name>
            <given-names>IEEE</given-names>
            <surname>Globecom</surname>
          </string-name>
          <article-title>Workshops (GC Wkshps)</article-title>
          .
          <source>(Dec</source>
          <year>2014</year>
          )
          <fpage>589</fpage>
          -
          <lpage>594</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ranabahu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parikh</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Panahiazar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Logan-Klumpler</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Kino: A generic document management system for biologists using sa-rest and faceted search</article-title>
          .
          <source>In: Semantic Computing (ICSC)</source>
          ,
          <source>2011 Fifth IEEE International Conference on. (Sept</source>
          <year>2011</year>
          )
          <fpage>205</fpage>
          -
          <lpage>208</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Gyrard</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Datta</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Semantic web meets internet of things (iot) and web of things (wot)</article-title>
          .
          <source>In: The 15th International Conference on Semantic Web (ISWC)</source>
          .
          <source>(Oct</source>
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>