<!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>Semantic RESTful APIs for Dynamic Data Sources</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Felix Leif Keppmann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ste en Stadtmu¨ller</string-name>
          <email>steffen.stadtmuellerg@kit.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute AIFB Karlsruhe Institute of Technology</institution>
          ,
          <addr-line>KIT</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2014</year>
      </pub-date>
      <fpage>26</fpage>
      <lpage>33</lpage>
      <abstract>
        <p>The amount of available highly dynamic data sources on the Web is constantly increasing. Such dynamic data sources usually require client applications to be capable to process continuous data streams. We present an approach that enables dynamic data sources to be exposed with RESTful APIs. The use of REST implies that individual resources are exposed, which enables clients to interact in a more fine-grained manner with the data source compared to the processing of a data stream. Furthermore the use of Linked Data resources allows for the direct integration with other data sources. We demonstrate the practical applicability of our approach based on a proof-of-concept implementation of a RESTful API that exposes video sensor data and evaluate the feasibility of a RESTful communication pattern.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        In the context of services on the Web, recent years have witnessed the proliferation of
Web APIs, also referred to as RESTful services, when conforming to the
Representational State Transfer (REST) design principles [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In fact, ProgrammableWeb1,
currently the most popular directory for Web APIs, reports 70% of the known Web APIs
to be built following REST. This wide adoption demonstrates the advantages of the
so implemented solutions in terms of flexibility and loose coupling, which are directly
fostered by the REST architectural style [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        At the same time many developments on the Web have been marked by the
increased use and importance of Linked Data [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. This trend lays the foundation for a
rich data environment that enables the design and implementation of a variety of client
applications, benefiting from the integration of distributed data available through
different sources. Furthermore, this landscape of mostly static data is enriched though
the availability of dynamic data sources. Such time-sensitive data can be generated by
environmental measurement sensor networks, motion detectors, or smartphones, and
provides, for instance, information about weather, tra c, user tracking or geospatial
positioning [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Dynamic data sources are often perceived as streaming data sources.
      </p>
      <p>Still, up to date, data streams have been seen as incompatible with REST-based
application design, especially regarding the imposed stateless communication of resource
state representations. Therefore, most approaches for handling dynamic data sources are
limited to using RESTful APIs only to communicate meta information about the data
sources or, alternatively, to perform isolated one-o lookups. It is commonly assumed</p>
      <sec id="sec-1-1">
        <title>1 http://www.programmableweb.com/</title>
        <p>that applications that require the processing of dynamic data are based on a technology
stack that already implements protocols for data streaming.</p>
        <p>In this paper we introduce an approach to expose highly dynamic data sources via
a semantic RESTful interface (Section 2.1). Our approach maintains the characteristics
of a RESTful implementation and, at the same time, keeps the dynamic nature of the
original source. Furthermore, the use of Linked Data enables the direct integration with
other data sources.</p>
        <p>As opposed to the direct processing of a data stream, the use of semantic RESTful
APIs, as foreseen by our approach, provides advantages for processing dynamic data
sources that satisfy the requirements imposed by real time applications:
Data Preparation: RESTful APIs expose individual resources, which can be accessed
and integrated independently into client applications. Thus the client is relieved
from identifying the resources contained in a stream.</p>
        <p>Data Selection: Applications are enabled only to retrieve the required data, rather than
accessing the complete stream data.</p>
        <p>Interoperability: The employment of self-descriptive Linked Data resources enables
the integration of static and dynamic cross-domain sources, e.g., based on di erent
sensor devices.</p>
        <p>Performance Decoupling: Clients can exhibit large di erences for update rate
requirements of di erent resources. The enabled decoupling of server-side updates
and client request rates avoids unnecessary data transfers and performance
bottlenecks.</p>
        <p>The architectural design is verified with a first proof of concept system
implementation, called Natural Interaction via REST (NIREST) (Section 2.2). In Section 3 we
show the feasibility of our approach in a highly dynamic environment, based on a
preliminary evaluation of the NIREST system.
1.1</p>
        <sec id="sec-1-1-1">
          <title>Preliminaries</title>
          <p>
            According to the Richardson maturity model [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] REST is identified as the interaction
between a client and a server based on three principles:
– The use of URI-identified resources.
– The use of a constrained set of operations, i.e., the HTTP methods, to access and
manipulate resource states.
– The application of hypermedia controls, i.e., the data representing a resource
contains links to other resources.
          </p>
          <p>The idea behind REST is that applications, i.e., clients, interact with APIs by retrieving
and manipulating exposed representations of resources. A resource can be a real world
object or a data object on the web. The representation of a resource details the current
state of the resource.</p>
          <p>The characteristic of a dynamic data source is a very high update rate of the
resource states. To enable clients to capture the resulting velocity of the data, dynamic
data sources often expose a stream of data, which provides the information about the
occurring state updates.</p>
          <p>
            Linked Data unifies a standardised interaction model with the possibility to align
vocabularies using RDF, RDFS and OWL. Following the motivation to look beyond the
exposure of fixed datasets, the extension of Linked Data with RESTful technologies has
been proposed [
            <xref ref-type="bibr" rid="ref17 ref5">5, 17</xref>
            ] and many existing approaches recognise the value of combining
RESTful services and Linked Data [
            <xref ref-type="bibr" rid="ref10 ref14 ref15 ref16">10, 14, 16, 15</xref>
            ].
2
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Approach</title>
      <p>Our approach shows the feasibility of a RESTful Linked Data architecture in the context
of real time applications. An architecture is developed which copes with the
requirements of both the high dynamic nature of the resources and the demand for integration
and scalability. In this section we detail our approach and illustrate the advantages with
the example of a video sensor and describe a proof of concept implementation.
2.1</p>
      <sec id="sec-2-1">
        <title>Architecture</title>
        <p>Many exposed dynamic data sources expect an architecture where client applications
consume a data stream that continuously delivers updates (cf. Figure 2.1a). Client
applications in such an architecture have to process this data stream and identify the required
information to perform an intended task, e.g., by means of event processing or stream
reasoning.</p>
        <p>We propose an architecture, where the server itself processes the data stream and
exposes identified resources directly in a RESTful way (cf. Figure 2.1b). The resources
are exposed in accordance with the Linked Data principles.
Data Preparation: The proposed architecture design reliefs the client from the
challenge to process the data stream and identify the relevant pieces of information. Since
the data is already encapsulated as individual resources, a client can focus on
performing its actual tasks, thus reducing hardware requirements on the client side. A client
might still further transform the retrieved data. However, such further processing is still
expected to be less tedious, than the processing of a data stream.</p>
        <p>Example: A video sensor exposes a data stream that contains the information of
objects in front of the sensor. A RESTful API exposes (constantly changing) resource
representations for each the recognized objects individually. Therefore a client must not
analyze the stream to match beginning and end of information for individual objects.
Data Selection: A resource oriented architecture as fostered by REST additionally
enables a reduction of the amount of communicated data: On the one hand clients can limit
their requests to the information (i.e., resource states) required for their tasks. On the
other hand irrelevant information can already be discarded during the pre-processing
on the server-side. However, this implies some foresight as to the expected use-cases
when designing the RESTful API. Note, that if a client requires information that was
discarded, the client can still fall back to the complete stream.</p>
        <p>Example: A video sensor can distinguish recognized persons and other objects in
front of the sensor. If a client requires only the position of persons, the client does not
need to retrieve information about the objects.</p>
        <p>Interoperability: The use of Linked Data resources entails the advantage of easy data
integration and ease the combination of di erent data sources. Resources can provide
links to other relevant information from the same as well as third party sources, thus
enabling clients to navigate to additional relevant information. The use of domain
ontologies further reduces the required e ort for the clients to leverage the provided
information for their tasks.</p>
        <p>Example: If a video sensor supports face recognition, the exposed resources could
automatically include links to social network information (e.g., foaf files) of the
recognized persons in front of the sensor.</p>
        <p>Performance Decoupling: A client might not require realtime updates for all available
information. Due to hardware limitations clients might also not be capable to process
high frequency updates. The RESTful exposure of the individual resources with a
pullbased approach for retrieval enables clients to scale the retrieval intervals of di erent
resources in a fine grained manner.</p>
        <p>Example: The exposed resources that represent objects in front of a video sensor can
link to the precise polygon information detailing the shape of the objects. A client that
renders the objects in front of the video sensor must retrieve the precise polygon shape
only once. Further requests of the client can be constrained to position information of
the object.</p>
        <p>The pull-based approach to retrieve the resource states is often perceived as a
downside of a REST interface: To accurately capture all state changes a client has to request
the resource states at least at the same rate as it is updated on the server (cf. Figure
2.1a). However, in case the resources are updated at non-regular intervals a client has
to request the resources at an interval equivalent to the shortest update interval to
capture all state updates. The resulting higher request rate implies that during periods with
lower update rates on the server the client retrieves duplicates of a resource (cf. Figure
2.1b).</p>
        <p>However, in many use-cases the overhead due to pull-based data retrieval is
negligible and compensated by the described advantages achieved by leveraging a RESTful
design pattern.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Proof of Concept</title>
        <p>As proof of concept system we develop Natural Interaction via REST (NIREST) to
show the feasibility of our approach. NIREST combines di erent technologies to
provide access on sensor details, recognized persons, and skeleton coordinates, extracted
on-the-fly from a video sensor. The system exposes a RESTful API with Linked Data
resources according to domain-specific ontologies.</p>
        <p>NIREST is implemented as application container, deployable on application servers,
e.g. an Apache Tomcat2 instance. For video analysis and low level access to a sensor
(e.g. a Microsoft Kinect3) we employ the OpenNI4 framework and the NiTE5
middleware.</p>
        <p>The OpenNI framework acts as a hardware abstraction layer between sensor and
middleware libraries or applications, thus enabling unified access to, e.g., colour video,
depth video, sensor metadata, or device events.</p>
        <p>The NiTE middleware accesses the depth video provided by the OpenNI framework
and implements body tracking algorithms. NiTE enables the recognition of objects in
front of the sensor as persons, the coordinates of the derived skeleton joints as well as
basic gestures.</p>
        <p>We use Apache Jena6 to serialise the extracted information in di erent RDF formats.
The RDF representation of all relevant resources (e.g., a person in front of the sensor or
the sensor itself) is continuously updated (including links between the resources). Every
resource is accessible with individual URIs. To implement this RESTful interface we
use the Jersey7 framework.</p>
        <p>Example: A resource representing a person contains information about the user
position (centre of mass) and information about all the joint points of its skeleton. Listing 1
shows an excerpt of such a resource accessible under http://[...]/device/0/user/1,
in Turtle format.
@prefix nirest: &lt;http://vocab.arvida.de/2014/02/ nirest/vocab#&gt; .
@prefix xsd: &lt;http://www.w3.org/2001/ XMLSchema#&gt; .
&lt;&gt;</p>
        <sec id="sec-2-2-1">
          <title>2 http://tomcat.apache.org</title>
          <p>3 http://www.microsoft.com/en-us/kinectforwindows/
4 http://www.openni.org/
5 http://www.openni.org/files/nite/
6 http://jena.apache.org/
7 http://jersey.java.net/
a nirest:User ;
nirest:centerOfMass [ a nirest:Coordinate3D ;
nirest:x " -133.63106"^^xsd:float ;
nirest:y " -27.113548"^^xsd:float ;
nirest:z "2298.0164"^^xsd:float ] ;
nirest:skeleton [ a nirest:Skeleton ;
nirest:joint [ a nirest:RightHandJointPoint ;
nirest:coordinate [ a nirest:Coordinate3D ;
nirest:x " -2.150751"^^xsd:float ;
nirest:y " -1.2886047"^^xsd:float ;
nirest:z "2324.944"^^xsd:float ] ;
nirest:orientationConfidence "1.0"^^xsd:float ;
nirest:positionConvidence "1.0"^^xsd:float ] ;
...</p>
          <p>Listing 1. User and Skeleton Tracking Data in Turtle Format</p>
          <p>The NIREST ontology8 used to annotate the extracted data has been created for
the specific use case of the proof of concept application. In the past the domain of 3D
sensors, tracking, virtual reality, augmented reality, and related fields has not been in
the focus of ontology engineering. The custom ontology will be replaced by ontologies
developed within the ARVIDA9 project, as soon as these ontologies are stabilized.
Focus of the ARVIDA project is the development of a reference architecture for virtual
services and applications, which includes the development common ontologies for the
domain, covering the needs of NIREST.
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Evaluation</title>
      <p>We present a preliminary evaluation on the performance of the implementation
described in Section 2.2.</p>
      <p>In the setup of the evaluation we use as server an Apache Tomcat with a deployed
NIREST container and a connected Microsoft Kinect10 as sensor. The Kinect has a
nominal update frequency of 30 images per second11. In a sample of 200 updates we
measured an average server side update frequency of the exposed RDF resources of
30.9 Hz with a standard deviation of 5.7 Hz (cf. Figure 3a).</p>
      <p>As client we use a second machine that requests the representation of a person
in front of the Kinect. Every request is performed with a complete HTTP
request/response. We measured the number of retrieved distinct representations, which the client
can acquire with di erent request frequencies between 5 Hz and 30 Hz (cf. Figure 3b).
An retrieval rate of 30 Hz allows a theoretical optimal retrieval, where all server
updates are captured without retrieving duplicates. Note, that representations of several
resources could be done in parallel, and would not a ect our measurements.</p>
      <p>We see that even though the server exhibits noticeable fluctuations in its update
rates, the client can retrieve on average the optimal amount of distinct representations
up to to a request rate close to 25 Hz. Only for a request rate of 30 Hz the fluctuations</p>
      <sec id="sec-3-1">
        <title>8 http://vocab.arvida.de/2014/02/nirest/vocab 9 http://www.arvida.de/en/</title>
        <p>10 In the context of this work, in particular the first generation of the Microsoft Kinect for Xbox
360/Windows is used for evaluation
11 The RDF representations are extracted from the available 24 bit RGB video and 16 bit depth
video with 640x480 pixels
(a) Server side update frequencies
s30
n
o
ita25
t
n
e
rse20
p
e
t15
R
c
n
its
i10
D
d
e
ive 5
tr
e</p>
        <p>R0
Nominal
Measured
6
0
5
10 15 20
Request Rate in Hz
25</p>
        <p>Optimal
Measured</p>
        <p>30
(b) Distinct representations for different client request</p>
        <p>frequencies
of the server-side update frequency becomes noticeable and the client can only capture
28 distinct representations.</p>
        <p>The results imply that a highly dynamic RESTful communication pattern is
achievable. As main insight we observe that the largest potential for optimisation is to reduce
the jitter in the update frequency of the server, rather than an increased request
frequency of the client. A more homogenous update rate would allow a communication
pattern in which a client can fully capture all information without increasing the the
retrieval overhead.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        Many existing approaches (e.g., [
        <xref ref-type="bibr" rid="ref11 ref2 ref3 ref4 ref7">2–4, 7, 11</xref>
        ]) to deal with semantically enabled dynamic
data sources focus on the processing of the stream. Our work should not be understood
as competing with these approaches, since the decision for the communication
pattern is highly dependant on the individual use-case. Furthermore, such approaches can
be employed for the server-side processing and therefore also help to enable RESTful
APIs.
      </p>
      <p>
        Harth et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] highlight the integration capabilities of RESTful Linked Data APIs.
Here an integration scenario is described in which dynamic and static geospatial data
sources are combined. Our work expands on this idea by pinpointing the specific
advantages of REST for dynamic data sources.
      </p>
      <p>STREST12 is a protocol aimed at the combination of REST and data streams, by
enabling clients to switch between both communication patterns. Such a combination is
complementary to our work as it allows clients to fall back to a stream, when necessary.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>We have outlined the advantages of RESTful APIs in combination with Linked Data to
expose dynamic data sources, specifically the possibilities for fine-grained interaction
12 https://github.com/trendrr/strest-server/wiki
with individual resources and for integration with other data sources. Our preliminary
results indicate the feasibility of such a resource-based design pattern for scenarios that
require high update rates. In future work we will continue to investigate how RESTful
design pattern in highly dynamic environments can be employed. Specifically we
target more regular server-side update rates with a precision in a low millisecond area to
minimise the overhead of client requests. Further we aim for higher update and request
frequencies in the low hectohertz area.</p>
      <p>This work was partially supported by the German Ministry of Education and Research
(BMBF) within the projects ARVIDA (FKZ 01IM13001G) and Software-Campus
(FKZ 01IS12051) and by the PlanetData NoE (FP7:ICT-2009.3.4, #257641).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Akyildiz</surname>
            ,
            <given-names>I.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sankarasubramaniam</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cayirci</surname>
          </string-name>
          , E.:
          <article-title>Wireless sensor networks: a survey</article-title>
          .
          <source>ComNet</source>
          <volume>38</volume>
          (
          <issue>4</issue>
          ),
          <fpage>393</fpage>
          -
          <lpage>422</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Anicic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fodor</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rudolph</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stojanovic</surname>
          </string-name>
          , N.:
          <article-title>Ep-sparql: A unified language for event processing and stream reasoning</article-title>
          .
          <source>In: Conference on World Wide Web</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Arasu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Babu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Widom</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The cql continuous query language: Semantic foundations and query execution</article-title>
          .
          <source>VLDB</source>
          <volume>15</volume>
          (
          <issue>2</issue>
          ),
          <fpage>121</fpage>
          -
          <lpage>142</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Barbieri</surname>
            ,
            <given-names>D.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Braga</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ceri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Della Valle</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grossniklaus</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>C-sparql: Sparql for continuous querying</article-title>
          .
          <source>In: Conference on World Wide Web</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Read-Write Linked Data</surname>
          </string-name>
          (
          <year>2009</year>
          ), avaiable at http://www.w3.org/ DesignIssues/ReadWriteLinkedData.html,
          <source>accessed 26th November</source>
          <year>2013</year>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heath</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Linked data - the story so far</article-title>
          .
          <source>IJSWIS</source>
          <volume>5</volume>
          (
          <issue>3</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>22</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Calbimonte</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jeung</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corcho</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aberer</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Enabling query technologies for the semantic sensor web</article-title>
          .
          <source>IJSWIS</source>
          <volume>8</volume>
          (
          <issue>1</issue>
          ),
          <fpage>43</fpage>
          -
          <lpage>63</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Fielding</surname>
          </string-name>
          , R.:
          <article-title>Architectural Styles and the Design of Network-based Software Architectures</article-title>
          .
          <source>Ph.D. thesis</source>
          , University of California, Irvine (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Harth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knoblock</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Stadtm u¨ller,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Studer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Szekely</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          :
          <article-title>On-the-fly integration of static and dynamic sources</article-title>
          .
          <source>In: Consuming Linked Data</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Krummenacher</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Norton</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marte</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Towards Linked Open Services</article-title>
          .
          <source>In: Future Internet Symposium</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Le-Phuoc</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dao-Tran</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parreira</surname>
            ,
            <given-names>J.X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hauswirth</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A native and adaptive approach for unified processing of linked streams and linked data</article-title>
          . In: International Semantic Web Conference (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Pautasso</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wilde</surname>
          </string-name>
          , E.:
          <article-title>Why is the web loosely coupled?: A multi-faceted metric for service design</article-title>
          .
          <source>In: Conference on World Wide Web</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Richardson</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruby</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : RESTful
          <string-name>
            <given-names>Web</given-names>
            <surname>Services. O'Reilly Media</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Speiser</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Integrating Linked Data and services with Linked Data Services</article-title>
          .
          <source>In: Extended Semantic Web Conference</source>
          . pp.
          <fpage>170</fpage>
          -
          <lpage>184</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. Stadtmu¨ller,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Speiser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Harth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Studer</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          :
          <article-title>Data-fu: A language and an interpreter for interaction with read/write linked data</article-title>
          .
          <source>In: Conference on World Wide Web</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Verborgh</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steiner</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deursen</surname>
            ,
            <given-names>D.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>de</surname>
            <given-names>Walle</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.V.</given-names>
            ,
            <surname>Valls</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.G.</surname>
          </string-name>
          :
          <article-title>E cient runtime service discovery and consumption with hyperlinked RESTdesc</article-title>
          .
          <source>In: Conference on Next Generation Web Services Practices</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Wilde</surname>
          </string-name>
          , E.:
          <article-title>REST and RDF granularity (</article-title>
          <year>2009</year>
          ), available at http://dret.typepad. com/dretblog/2009/05/rest-and
          <article-title>-rdf-granularity.html, accessed 26th November 2013</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>