<!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>
      <journal-title-group>
        <journal-title>Corresponding author.
$ justus.fries@iis.fraunhofer.de (J. Fries)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>A Solid Architecture for Machine Data Exchange with Access Control</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Justus Fries</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Freund</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Harth</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Fraunhofer Institute for Integrated Circuits IIS</institution>
          ,
          <addr-line>Nürnberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Friedrich-Alexander University Erlangen-Nürnberg</institution>
          ,
          <addr-line>Nürnberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>We present an architecture based on Social Linked Data (Solid) and W3C Web of Things (WoT) that enables controlled access to composite IoT devices and their data. The architecture allows for stakeholders to interact with the composite device and to read and write data, provided they are authorized. For ifne-grained access control, data is stored in nested Linked Data Platform ( LDP) containers that reflect the structure of the composition itself. The composition structure is derived from a hierarchy of WoT Thing Descriptions (TDs). The architecture relies on an orchestration component to couple IoT devices and the Solid data store and is straightforward to implement with existing software.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Web of Things</kwd>
        <kwd>Social Linked Data</kwd>
        <kwd>Decentralized Data Exchange</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The Internet of Things (IoT) is a key technology for industrial automation. IoT devices can be
simple standalone devices, such as individual sensors and actuators, or more complex composite
devices, such as a conveyor belt composed of motors and sensors. Individual IoT devices and
the subsystems that form a composite produce dynamic data at runtime and have associated
static data, such as datasheets, maintenance or usage instructions, but are constrained by their
limited processing power, storage capacity and power supply.</p>
      <p>As a result, data of standalone and composite IoT devices cannot be made available to
stakeholders on the devices themselves. Data must be ofloaded to other components of an IoT
system. These components must provide fine-grained access control to manage the data, given
the involvement of multiple stakeholders with varying levels of authority and responsibility.
For example, an external maintenance worker should not have access to all data, unlike the
owner of a machine. The system also needs to be able to control and orchestrate composites
and their standalone IoT devices to perform tasks.</p>
      <p>The benefit of long-term storage of data generated by and associated with an IoT device
combined with fine-grained access control is that smart factories can continuously analyze and
monitor operational data to identify trends, make data-driven decisions, and share their data
with internal or external stakeholders while ensuring data security and privacy.</p>
      <p>Implementing an IoT system with access control for data exchange requires overcoming
several challenges. First, the system must uniquely identify which individual users are authorized
to access which data. Second, the system must be able to integrate dynamic data, such as raw
sensor data in various formats from diferent sources, and static data. Finally, the system must
be easy to set up and be able to integrate diferent IoT devices from diferent vendors using
diferent protocols.</p>
      <p>
        To implement a system that can operate in such a heterogeneous environment, we propose
to use the Web of Things (WoT) Architecture [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and a Solid Personal Online Data Store (Pod)
(which is based on LDP [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]) combined with an orchestrator component that identifies and
interacts with composite IoT devices. Composites consist of standalone IoT devices. IoT devices
are referred to as Things. For easier system integration and interoperability, all Things and
their interactions are described with WoT TDs [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. An alternative approach that implements
interoperability and eases system integration is the Asset Administration Shell [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>A Solid Pod is a data store that resembles a file system, exposes a REST API with controlled
access to the data. Solid implements relevant LDP concepts, namely LDP containers, which
correspond to file system directories, and (non-container) LDP resources, which correspond to
ifles.</p>
      <p>The contribution of this work is an architecture that is (i) extensible in terms of server
components, with the orchestrator as a coupling client in between, (ii) eases implementation by
using existing server software, and which (iii) builds on established Semantic Web technologies
such as WoT and Solid to facilitate system and data integration.</p>
      <p>The running example is an industrial machine comprising motors and sensors. A motor
moves a conveyor belt, while a sensor is placed next to a conveyor belt to detect workpieces
on the belts. Examples for workpiece detection sensors are color sensors or ultrasonic sensors.
Each sensor and motor is associated with exactly one conveyor belt. The conveyor belts can be
placed in series to move workpieces between locations. A series of conveyor belts is an instance
of a composite Thing.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Ramachandran et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] use Solid Pods as decentralized storage for IoT data, without involving
the manufacturers of IoT devices. The Pod is used to store data with access control, while a
blockchain is used to verify the authenticity of data. IoT devices interact with the Pod directly
or through an external service. While the authors use the Pod for a similar purpose, our
architecture facilitates access control based on the compositional aspects of IoT devices, and
explicitly decouples IoT devices from the Pod to enable extensibility.
      </p>
      <p>
        Moons et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] introduce an approach for storing wireless sensor data in a Solid Pod. The
architecture of the authors’ approach is based on gateways as termination points for wireless
sensor networks (WSNs) and a management server that forwards sensor data. The authors find
that the lowest sensor message overhead results in the least battery drain, and thus use another
component to map sensor data to RDF. Similar to our approach, each sensor has an LDP resource
GET TDs, properties,
      </p>
      <p>POST actions</p>
      <p>GET tasks, POST TDs,
composition hierarchy,</p>
      <p>PATCH sensor data</p>
      <p>POST tasks
HTTP</p>
      <p>user
Solid Pod
Thing(s)
with TDs
in the Pod that is updated with new data. The gateways are akin to the orchestrator proposed
in our work. Since our architecture covers composite Things with actuators, the orchestrator
also ofers interactivity and creates a directory structure based on the device composition to
enable controlled access to device data.</p>
      <p>
        Bader and Maleshkova [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] introduce SOLIOT as an extension of Solid Pods with CoAP and
MQTT. In SOLIOT an LDP container is considered to be the same as a WoT Thing. The authors
highlight the advantages of CoAP compared to HTTP. Our paper presents a general architecture
that uses of-the-shelf software, where IoT data is accessed via HTTP and WoT Things are not
the same as LDP containers. We do not directly couple the Pod to composite IoT devices and
vice versa, which enables using unmodified Solid server software. The Things and relations
between them are reflected in the Pod, even without coupling.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Approach</title>
      <sec id="sec-3-1">
        <title>3.1. Standalone Things and Subsystems of the Composite</title>
        <p>The lowest-level components of the architecture are the standalone Things, i.e., the sensors
and actuators. We assume that these Things are constrained in terms of energy, computation,
and storage. In the example of a series of conveyor belts, the standalone Things are motors
and sensors. The individual conveyor belts represent the subsystems of the composite series of
belts, and each belt comprises a motor and a sensor.</p>
        <p>Actuators take commands as input, e.g., run the motor. Sensors and actuators produce output:
sensors measure the environment, e.g., a distance value, while actuator output is the current
state of the device, like whether a motor is stopped. Such outputs are dynamic Thing data.</p>
        <p>In our architecture, we assume that, since standalone Things are the most constrained
components, they only interact with one central component, the orchestrator. The orchestrator
interacts with the Things to implement specific functionality. Third parties cannot interact with
Things directly. This limitation means that dynamic data is only available in real-time on the
orchestrator. Sensors and actuators can optionally have associated data that does not change,
such as datasheets, manuals, or repair guides, which we refer to as static data. Both static and
dynamic Thing data can be linked together and made available to stakeholders as part of our
architecture.</p>
        <p>
          The orchestrator is a client that uses the TDs of standalone Things and subsystems to interact
with them. In the WoT, interactivity is based on interaction afordances, which are invitations
to read, write, or observe properties, invoke actions, or subscribe to events [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. The TD
is vendor-agnostic and protocol-agnostic because interaction afordances can be mapped to
multiple protocol bindings. As a result, the interactions between Things and the orchestrator
are not limited to specific vendors and are not limited to HTTP. The system can, for example,
fulfill Quality of Service requirements through MQTT or OPC UA with TSN. The relationship of
a standalone Thing to other Things and subsystems is encoded in TDs using Web Linking [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>The orchestrator is initially aware of all TDs through some discovery mechanism. Details on
the creation and discovery of TDs are out of scope for this short paper.</p>
        <p>In our conveyor belt series example, the sensors and motors are connected to an intermediary
entity that translates low-level interactions to HTTP. As a result, sensors and motors take the
role of an HTTP server, while the orchestrator is an HTTP client. The intermediary enables
reading a sensor’s current value through a property, running the motor through actions and
reading the current state (as a property) of the motor. The sensor and motor TDs reference
the corresponding conveyor belt using the controlledBy link relation. The link relation leads
to a TD that serves as an identifier for the conveyor belts.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Orchestrator</title>
        <p>The orchestrator is a constrained device with limited computing capabilities and storage capacity,
but is not energy constrained, i.e., not battery powered. An example of such a device is an
embedded or industrial computer. The orchestrator is the central component of the architecture
and acts as a client to the standalone Things and to the Solid Pod.</p>
        <p>The orchestrator directly interacts with the Pod and Things and is thus referentially (i.e., it
needs to be aware of all IoT devices and the Pod) and temporally (i.e., it initiates all
communication and waits for responses) coupled to all entities in the architecture. This coupling enables
extensibility, since the Pod can change independently of IoT devices and vice versa. Due to
the usage of WoT, the system implementer can focus on implementing the domain logic, and
network protocol-specific implementation details are abstracted away.</p>
        <p>In general, the orchestrator fulfills two roles. The first role is to act as a relay for data
generated by standalone Things: the orchestrator reads raw data from standalone Things and
writes this data to the Solid Pod via HTTP. Consequently, the data generated by Things is
materialized in the Pod. The orchestrator and the Pod are separate hosts in diferent networks.
The orchestrator pushes data to the Pod periodically due to computational and/or connectivity
constraints. The static data of the Things, like a PDF-formatted datasheet, is pushed to the
Pod during the initialization process and is therefore available as soon as the orchestrator is
initialized.</p>
        <p>The dynamic and static Thing data is subject to fine-grained access control. The owner of the
machine can give stakeholders access to the data of standalone Things or whole subsystems.
To achieve controlled access, the orchestrator creates an LDP container tree on the Pod, where
nesting corresponds to the compositional hierarchy, i.e., the relationships between standalone
Things and subsystems found in TDs. This LDP container tree is created during the orchestrator’s
initialization process, i.e., the orchestrator is already aware of all TDs. Each subsystem of the
composite has an LDP container with the subsystem’s TD, and the standalone Things are the
leaves of the LDP container tree. In such a leaf LDP container, the orchestrator pushes the
relevant dynamic and static Thing data and corresponding TDs.</p>
        <p>
          To facilitate the processing and integration of the collected dynamic data in the LDP container,
the orchestrator maps raw data to RDF before pushing the data to the Pod. Following existing
recommendations [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], SOSA/SSN [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and SAREF [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] are suitable. This mapping enables linking
the sensor data to the TDs and to the compositional hierarchy in the Knowledge Graph (KG)
that is formed by all the Linked Data in the Pod. Furthermore, static data can be described using
RDF for integration into the KG.
        </p>
        <p>In the conveyor belt example, the LDP container tree is instantiated by creating an LDP
container for each conveyor belt (./ConveyorBelt[N]/). Inside each of those LDP containers,
the orchestrator creates two LDP containers, one for the belt’s sensor and one for the belt’s
motor (./ConveyorBelt0/motor/). When the LDP container tree is created, the orchestrator
pushes all static data into the respective LDP containers. Note that the orchestrator should
remove all interaction forms from TDs written to the Pod, as only the orchestrator should be
able to interact with standalone Things. The orchestrator pushes dynamic Thing data to the
Pod while executing tasks or after a task is finished with HTTP PATCH.</p>
        <p>
          The second role of the orchestrator is to read and execute tasks that were written by
stakeholders to a task queue LDP container. The idea of a task queue is similar to an inbox as defined by
Linked Data Notifications ( LDN) [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. This approach requires tasks to have a structured format
that can be parsed by the orchestrator. The task queue is suitable if tasks are long-running
(or task push frequency is low), which makes real-time interaction with the composite Thing
unnecessary, as the orchestrator simply executes one task after another without new input.
        </p>
        <p>
          The orchestrator periodically fetches the latest task and orchestrates the composite based
on the task and the orchestration logic. The orchestrator fulfills tasks by interacting with
the standalone Things that comprise the composite Thing based on interaction afordances
described in TDs. The interaction sequence is implemented as orchestration or control logic.
The orchestrator for the conveyor belt example is implemented using the WoT Scripting API
[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. Tasks correspond to stopping points on or between conveyor belts to, e.g., modify a
workpiece.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Solid Pod</title>
        <p>The Solid Pod is the only unconstrained component in the architecture. The Pod acts as the data
store for all dynamic and static data of the Things and the corresponding TDs. The Pod also
hosts the task queue to link the task history to the Thing data. Stakeholders cannot write to the
data
user</p>
        <p>tasks
Pod + data integrator Orchestrator
interaction affordances
task queue or read any dynamic or static data, unless the machine owner adds the stakeholders’
WebID to an access control list (ACL). Each LDP container and resource has an ACL, or inherits
the ACL from parent LDP containers. ACLs can change over time, enabling the machine’s
owner to revoke access.</p>
        <p>Since the orchestrator is using existing NodeJS libraries1 to interact with the Solid Pod, the
Solid server software needs to be compatible with these libraries. Furthermore, Solid does not
provide a built-in mechanism to give users access to only the files that they created, by default
stakeholders cannot read their already written tasks. To solve this issue, a task’s creator may
append their WebID to the task. The orchestrator then modifies the ACL of the corresponding
LDP resource. To do so, the orchestrator needs to be able to change ACLs and thus needs full
access to the Pod. On an Enterprise Solid Server, client credentials2 can be used to generate
credentials for applications like the orchestrator.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Enabling Near Real-Time Data</title>
        <p>The orchestrator pushes Thing data to the Pod periodically due to resource constraints. Each
push incurs network latency (i.e., the delay between orchestrator and Pod) because the Pod is
assumed to be unconstrained and hosted on a diferent network. The sum of network latency
and time between pushes provides an upper bound for the staleness of the data.</p>
        <p>Removing the influence of the interval between pushes on staleness requires multiple aspects
to change. Because the alternative to pushing Thing data is polling, the Pod (acting as a client
when polling) and the orchestrator (acting as a server when polling) need to become servients
(server and client at the same time). Polling increases implementation complexity, as the
orchestrator needs to act as a server and the Pod needs to be modified to act as a client.</p>
        <p>The orchestrator periodically polls the task queue on the Pod for new tasks in case the
orchestrator is idle. In case the orchestrator is busy, the polling happens immediately after
ifnishing a task. Once a task is being executed, the orchestrator does not poll for new tasks. In
the idle case, time to task execution is delayed by the network latency and the polling interval.
In the busy case, the time for the remaining tasks and the task fetch time (network latency) delay
a new task’s execution. An alternative is to push tasks directly to the orchestrator and persisting
1https://github.com/inrupt/solid-client-js
2https://docs.inrupt.com/ess/latest/services/service-application-registration/
them there. Saving tasks requires the orchestrator to have enough storage for the full task
history. This approach also requires orchestrator and Pod to be servients, as the communication
pattern is polling instead of pushing.</p>
        <p>If the task queue is moved from the Pod to the orchestrator, then the only aspect that still
couples Pod and orchestrator together is the Thing data that is exchanged between Pod and
orchestrator. Easing constraints further, if the Things can handle a high data query frequency
and concurrent queries from both the orchestrator and the Pod, the Pod may directly query
the Things and act as a query forwarder that can save data but also fetch the most recent data
if requested. Fig. 2 shows this resource-intensive approach, where both orchestrator and Pod
must be servients. This approach minimizes delays due to fewer intermediaries between IoT
devices and end users (i.e., stakeholders).</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5. Fine Grained Access Control Use Cases</title>
        <p>In the example of an industrial machine, the owner of the machine can naturally access all
data. Customers wanting to use the machine, on the other hand, only have high-level access
to the task queue. All stakeholders can expect the orchestrator to give read and write access
exclusively to the submitter of a task. Another use case is maintenance work being done on
the machine by an external party. The owner can give selective access to relevant data to this
third party. For example, if a conveyor belt that is part of the machine is broken, the repair
process can be made easier by providing access to the motor and sensor data of that conveyor
belt. The machine owner simply gives read access to the relevant LDP container. Access can
also be revoked at a later time, enabling, for example, temporary authorization based on the
duration of contracts.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion and Future Work</title>
      <p>This short paper presented an architecture and corresponding implementation that uses Semantic
Web technologies to enable access to data of composite machines with fine-grained access
control. WoT TDs ease system integration and RDF is used for data integration. An orchestrator
component enables access-control on a data store by mirroring the hierarchical relationships
between standalone devices and subsystems that form the composite to the data store. The
owner of the machine can give specific stakeholders access to relevant parts of the data based
on the hierarchy. The architecture provides a mechanism to enable stakeholders to interact with
the composite machine. The composite Thing and the data store can both evolve independently,
as they are decoupled. However, the orchestrator, which implements control functionality and
is responsible for moving data, is coupled to the composite Thing and the Pod. Future work
includes applying the architecture to more use cases, evolving the architecture, and an empirical
evaluation of the performance characteristics beyond theoretical latency bounds.
Acknowledgements
This work was funded by the German Federal Ministry for Economic Afairs and Climate Action
(BMWK) through the Antrieb 4.0 project (Grant No. 13IK015B).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kovatsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Matsukura</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lagally</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kawaguchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Toumura</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kajimoto</surname>
          </string-name>
          ,
          <article-title>Web of Things (WoT) Architecture</article-title>
          , Recommendation, W3C,
          <year>2020</year>
          . https://www.w3.org/TR/2020/ REC-wot-architecture-
          <volume>20200409</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S.</given-names>
            <surname>Speicher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Arwe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Malhotra</surname>
          </string-name>
          ,
          <source>Linked Data Platform</source>
          <volume>1</volume>
          .0,
          <string-name>
            <surname>Recommendation</surname>
          </string-name>
          , W3C,
          <year>2015</year>
          . https://www.w3.org/TR/2015/REC-ldp-
          <volume>20150226</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Käbisch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kamiya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>McCool</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Charpenay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kovatsch</surname>
          </string-name>
          ,
          <article-title>Web of Things (WoT) Thing Description</article-title>
          , Recommendation, W3C,
          <year>2020</year>
          . https://www.w3.org/TR/2020/ REC-wot
          <string-name>
            <surname>-</surname>
          </string-name>
          thing-description-
          <volume>20200409</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bader</surname>
          </string-name>
          , E. Barnstedt,
          <string-name>
            <given-names>H.</given-names>
            <surname>Bedenbender</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Berres</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Billmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ristin</surname>
          </string-name>
          ,
          <source>Details of the Asset Administration Shell - Part</source>
          <volume>1</volume>
          (
          <year>2022</year>
          ). https://www.plattform-i40.de/IP/Redaktion/DE/ Downloads/Publikation/Details_of_the_Asset_Administration_
          <article-title>Shell_Part1_V3</article-title>
          .html.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ramachandran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Chowdhury</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Third</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Jan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Valentine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Domingue</surname>
          </string-name>
          ,
          <article-title>A Framework for Handling Internet of Things Data with Confidentiality and Blockchain Support</article-title>
          ,
          <source>in: Proceedings of the Workshop on IOT Infrastructures for Safety in Pervasive Environments (IOT4SAFE</source>
          <year>2020</year>
          ), Herakleion, Greece, June 2,
          <year>2020</year>
          , volume
          <volume>2686</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2020</year>
          . URL: http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2686</volume>
          /paper5.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>B.</given-names>
            <surname>Moons</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Sanders</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Paelman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hoebeke</surname>
          </string-name>
          ,
          <article-title>Decentralized Linked Open Data in Constrained Wireless Sensor Networks</article-title>
          ,
          <source>in: 7th International Conference on Internet of Things: Systems, Management and Security</source>
          ,
          <string-name>
            <surname>IOTSMS</surname>
          </string-name>
          <year>2020</year>
          ,
          <string-name>
            <surname>Virtual</surname>
            <given-names>Event</given-names>
          </string-name>
          , France,
          <source>December 14-16</source>
          ,
          <year>2020</year>
          , IEEE,
          <year>2020</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . URL: https://doi.org/10.1109/IOTSMS52051.
          <year>2020</year>
          .
          <volume>9340221</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Bader</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Maleshkova, SOLIOT - Decentralized Data Control and Interactions for IoT</article-title>
          ,
          <source>Future Internet</source>
          <volume>12</volume>
          (
          <year>2020</year>
          )
          <article-title>105</article-title>
          . URL: https://doi.org/10.3390/fi12060105.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>V.</given-names>
            <surname>Charpenay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Käbisch</surname>
          </string-name>
          ,
          <article-title>On modeling the physical world as a collection of things: The W3C thing description ontology</article-title>
          ,
          <source>in: The Semantic Web - 17th International Conference, ESWC</source>
          <year>2020</year>
          , Heraklion, Crete, Greece, May 31-June 4,
          <year>2020</year>
          , Proceedings, volume
          <volume>12123</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2020</year>
          , pp.
          <fpage>599</fpage>
          -
          <lpage>615</lpage>
          . URL: https://doi.org/10. 1007/978-3-
          <fpage>030</fpage>
          -49461-2_
          <fpage>35</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Nottingham</surname>
          </string-name>
          , Web Linking, RFC
          <volume>8288</volume>
          (
          <year>2017</year>
          )
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          . URL: https://doi.org/10.17487/ RFC8288.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Haller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Janowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Cox</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lefrançois</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Taylor</surname>
          </string-name>
          , D. Le Phuoc,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lieberman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>García-Castro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Atkinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Stadler</surname>
          </string-name>
          ,
          <article-title>The modular SSN ontology: A joint W3C and OGC standard specifying the semantics of sensors, observations, sampling, and actuation</article-title>
          ,
          <source>Semantic Web</source>
          <volume>10</volume>
          (
          <year>2019</year>
          )
          <fpage>9</fpage>
          -
          <lpage>32</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>L.</given-names>
            <surname>Daniele</surname>
          </string-name>
          , F. T. H. den Hartog, J. Roes,
          <article-title>Created in Close Interaction with the Industry: The Smart Appliances REFerence (SAREF) Ontology</article-title>
          , in: Formal Ontologies Meet Industry - 7th
          <source>International Workshop</source>
          , FOMI 2015, Berlin, Germany,
          <source>August</source>
          <volume>5</volume>
          ,
          <year>2015</year>
          , Proceedings, volume
          <volume>225</volume>
          <source>of Lecture Notes in Business Information Processing</source>
          , Springer,
          <year>2015</year>
          , pp.
          <fpage>100</fpage>
          -
          <lpage>112</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -21545-
          <issue>7</issue>
          _
          <fpage>9</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.</given-names>
            <surname>Capadisli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Guy</surname>
          </string-name>
          , Linked Data Notifications, Recommendation, W3C,
          <year>2017</year>
          . https: //www.w3.org/TR/2017/REC-ldn-
          <volume>20170502</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Kis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Peintner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Aguzzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hund</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Nimura</surname>
          </string-name>
          , Web of
          <string-name>
            <surname>Things (WoT) Scripting</surname>
            <given-names>API</given-names>
          </string-name>
          , W3C Note, W3C,
          <year>2020</year>
          . https://www.w3.org/TR/2020/NOTE-wot
          <string-name>
            <surname>-</surname>
          </string-name>
          scripting-api-
          <volume>20201124</volume>
          /.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>