<!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>SLD Revolution: A Cheaper, Faster yet more Accurate Streaming Linked Data Framework</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marco Balduini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emanuele Della Valle</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Riccardo Tommasini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DEIB, Politecnico of Milano</institution>
          ,
          <addr-line>Milano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>RDF Stream Processing (RSP) is gaining momentum. The RDF stream data model is progressively adopted and many SPARQL extensions for continuous querying are converging into a unified RSP query language. However, the RSP community still has to investigate when transforming data streams in RDF streams pays off. In this paper, we report on several experiments on a revolutionized version of our Streaming Linked Data framework (namely, SLD Revolution). SLD Revolution adopts i) Generic Programming, i.e. it operates on time-stamped generic data items, and ii) it applies a lazy-transformation approach, i.e. it postpones the RDF stream transformation until it can benefit from it. , processing data according to their nature (event-, tuple-, tree- and graph-based). SLD Revolution results to be a cheaper (it uses less memory and has a smaller CPU load), faster (it reaches higher maximum input throughput) yet more accurate (it provides a smaller error rate in the results) solution than its ancestor SLD.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>or the March 2015 eclipse in Europe. Those deployments process in real-time up to 3000
microposts per minute on a 50 C/month machine in the cloud (8 GB of RAM and 4
cores), providing semantic analysis and sophisticated visualizations.</p>
      <p>
        In five years of SLD usage, we learned that using RDF streams is valuable when
i) data are naturally represented as graphs, i.e. micro-posts in the larger social graph,
and when ii) the availability of popular vocabularies makes easy writing adapters that
semantically annotate the incoming data, e.g. we wrote adapters that annotated streams
from the major social networks using SIOC [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>However, we have also found out several weaknesses of the approach:
– RDF streams cannot be found in the wild, yet. JSON is largely used in practice (e.g.,</p>
      <p>
        Twitter Streaming APIs3 and W3C activity stream 2.0 working draft4).
– The results of C-SPARQL queries are often relational and forcing them into an RDF
streams is not natural, i.e., a user would naturally use the REGISTER QUERY ...
AS SELECT ... form instead of REGISTER STREAM ... AS CONSTRUCT ... one.
It takes three triples to state how many times a hashtag appears in the micro-posts
observed in 1 minute, while the tuple htimestamp, hashtag, counti is more succinct.
– It is harder to express some computation using C-SPARQL over RDF streams and
graphs than writing a path expression over JSON; or writing an SQL query over
relations; or writing an EPL statement over events.
– SLD builds on the C-SPARQL engine and, thus, shares with it some shortcomings,
i.e. it gives incorrect answers when it is overloaded engine [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ].
      </p>
      <p>In this paper, we challenge the hypothesis that RDF streams should play such a
central role in SLD. We investigate if i) using time-stamped generic data items (instead
of focusing only time-stamped RDF graphs) and ii) processing them according to their
event-, tuple-, tree- and graph-based nature, offer the opportunity to engineer a cheaper
(uses less memory and CPU), faster (it reaches higher maximum input throughput) yet
more accurate (i.t. with a smaller error in the results) version of SLD that we called
SLD Revolution. We bring experimental evidence that supports the design decision
of revolutionizing SLD in those two directions. Using our experience on social media
monitoring, we design a set of experiments to evaluate our hypothesis: we chose the
expected maximum rate of micro-posts per minute and the machine to deal with the
worst-case scenario; by reducing the available memory and processor time requirement
we push the overload status to an higher input rate.</p>
      <p>The remainder of the paper is organized as follows. Section 2 introduces the
state-ofthe-art in stream processing with a special cut on RSP. Section 3 presents SLD Revolution
and its new processing model. Sections 4 and 5, respectively, describe the settings and
the results of the experiments we run. Finally, in Section 6, we conclude and present our
future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>State of the art</title>
      <p>
        Data model. RSP extends the RDF data model and the SPARQL query model in order
to take into account the streaming nature of the data.
3 https://dev.twitter.com/streaming/overview
4 http://www.w3.org/TR/activitystreams-core/
A relational data stream [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] S is defined as an unbounded sequence of
timestamped data items (di; ti): S = (d1; t1); (d2; t2); : : : ; (dn; tn); : : : ; where di is a
relation and ti 2 N the associated time instant. Different approaches constrain ti so that it
holds either ti ti+1, i.e. stream items are in a non-decreasing time order, or ti &lt; ti+1,
i.e. stream items are in strictly increasing time order.
      </p>
      <p>
        An RDF Stream is defined in the same way, but di is either an RDF statement
(as done in most of the RSP approaches [
        <xref ref-type="bibr" rid="ref10 ref11 ref12 ref3">3, 10–12</xref>
        ]) or an RDF graph (as done in
SLD [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and proposed by the RSP W3C community). An RDF statement is a triple
(s; p; o) 2 (I [ B) (I ) (I [ B [ L), where I is the set of IRIs, B is the set of blank
nodes and L is the set of literals. An RDF graph is a set of RDF statements.
      </p>
      <p>
        Processing Model. Also the processing model of RSP [
        <xref ref-type="bibr" rid="ref10 ref11 ref3">3, 10, 11</xref>
        ] inherits from the
work done in the database community. In particular, it is inspired by the CQL stream
processing model (proposed by the DB group of the Stanford University [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]) which
defines three classes of operators (Figure 1.a):
– stream-to-relation operators are able to transform streams in relations. Since a
stream is a potentially infinite bag of time-stamped data items, those operators
extract finite bags of data enabling query answering. One of the most studied
operator of this class is the sliding window that chunks the incoming streams into
portions of length ! and slides of a length
– relation-to-relation operators transform relations in other relations. Relational
algebraic expressions are a well-known cases of this class of operators.
– relation-to-stream operators are optional and allow to output the results as a part
of a stream. Alternatively, a time-varying relation is provided.
information as Linked Data, and for visualizing data and query results. They differ in the
approach. Our SLD and the Linked Stream Middleware take both a data driven approach,
but they address in a different way the non-functional requirements; while SLD is an
in-memory solution for stream processing of RDF streams with limited support for static
information, the Linked Stream Middleware is a cloud-based infrastructure to integrate
time-dependent data with other Linked Data sources. The middleware described in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ],
instead, takes a service oriented approach, thus it also includes service discovery and
service composition among its features.
      </p>
      <p>
        Figure 2 illustrates the architecture of SLD that offers: (i) a set of adapters that
transforms heterogeneous data streams in RDF streams attaching to each received
element a time-stamp that identifies the ingestion time (e.g., a stream of microposts
in JSON as an RDF stream using the SIOC vocabulary [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] or a stream of weather
sensor observations in XML using the Semantic Sensor Network vocabulary [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]); (ii) a
publish/subscribe bus to internally manage RDF streams, (iii) some facilities to record
and replay RDF streams; (iv) a set of user defined components to decorate an RDF stream
(e.g., adding sentiment annotations to microposts); (v) a wrapper for the C-SPARQL
Engine [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] that allows to create networks of C-SPARQL queries, and (vi) a linked data
server to publish results following the Streaming Linked Data Format [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>SLD Revolution and its Processing Model</title>
      <p>
        SLD Revolution adopts generic programming [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] where continuous processing
operators are expressed in terms of types to-be-specified-later. This idea - which was pioneered
in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] - can be adapted to stream processing by choosing to model the element di in
the stream S as time-stamped generic data items that are instantiated when needed for
specific types provided as parameters.
      </p>
      <p>Figure 3 illustrates the SLD Revolution processing model. The stream and the relation
concepts of CQL are mapped to generic data streams ShT i and to instantaneous
generic data items IhT i.</p>
      <p>In line with CQL and RSP-QL, SLD Revolution proposes three classes of operators:
– The stream-to-instantaneous S2I hT i operators transform the infinite generic
data stream ShT i in to a finite bag of instantaneous generic data items IhT i.
– The instantaneous-to-instantaneous I2I hT ; T 0i operators transform
instantaneous generic data items IhT i into other instantaneous generic data items
IhT 0i, where T and T 0 can be of the same type or of different types. For instance, a</p>
      <sec id="sec-3-1">
        <title>Generic streams &lt;T &gt;</title>
        <p>S2I&lt;T &gt;
I2I&lt;T,T' &gt;</p>
      </sec>
      <sec id="sec-3-2">
        <title>Generic instantaneous &lt;T &gt;</title>
        <p>I2S&lt;T &gt;</p>
        <p>Fig. 3. The processing model of the SLD revolution framework.</p>
        <p>C-SPARQL query of the type REGISTER QUERY ... AS SELECT ... takes in input
time-stamped RDF graphs and generates as output time-stamped relations.
– The instantaneous-to-stream I2S hT i operators transform instantaneous generic
data items IhT i into a generic data stream ShT i.</p>
        <p>Source
Stream</p>
        <p>P 
T
T
H</p>
        <p>Streaming Linked Data Revolution Server
Receiver</p>
        <p>Generic Stream Bus</p>
        <p>Translator
Recorder</p>
        <p>Re-player</p>
        <p>Processor</p>
        <p>Decorator</p>
        <p>P 
T
T
H</p>
        <p>Sink
Stre1am</p>
        <p>
          SLD Revolution generalizes SLD architecture (cf. Figure 4 with Figure 2). The
Generic Stream Bus replace of the RDF stream bus. The receivers replace the adapters.
As the adapters they allow to ingest external data streams, but they no longer transform
the received events in time-stamped RDF graphs. Data items remain in their original form,
only the ingestion time is added, postponing the transformation to the moment when
it is required (we name this approach lazy transformation). The processors substitute
the C-SPARQL-based analyzers. The C-SPARQL engine remains as one of the possible
processors, but SLD Revolution can be extended with any continuous processing engine.
The current implementation includes the Complex Event Processor Esper, the SPARQL
Engine Jena-ARQ that operates on time-stamped RDF graphs one at a time, and a custom
JSON path expression evaluation engine built on gson (https://github.com/google/gson).
Translators generalize publishers, which are specific for the Streaming Linked Data
format [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], allowing SLD Revolution to output in alternative formats.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experimental Settings</title>
      <p>In this Section, we present the experimental settings of this work. As domain we chose
Social Network analysis as done by the Linked Data Benchmark Council (LDBC) in
the SNBench5. We first explain the type of data we used for our experiments. Then,
5 http://www.ldbcouncil.org/benchmarks/snb
we explain how the data were sent to SLD and SLD Revolution. We describe the two
continuous processing pipelines that we registered in SLD and in SLD Revolution.
Finally, we state which key performance indicators (KPIs) we measure and how.</p>
      <p>Input Data. SLD and SLD Revolution receive information in the same way, they
both connect to a web socket server and handle JSON-LD files.</p>
      <p>4
5
6
7
8
9
10
11
12
13
1 {"@context": { ... }, "@type": "Collection", "totalItems": 1,
2 "prov:wasAssociatedWith": "sr:Twitter",
3 "items":[{
"@type":"Post",
"published":"2016-04-26T15:40:03.054+02:00",
"actor":{"@type":"Account", "@id":"user:1", "sioc:name":"@streamreasoning"},
"object":{
"@type":"Content", "@id":"post:2", "alias":"http://.../2",
"prov:wasAssociatedWith":"sr:Twitter",
"sioc:content":"You ARE the #socialmedia!",
"dct:language":"en",
"tag":[{ "@type":"Tag", "@id":"tag:3", "displayName":"socialmedia"}]}
}]}
Listing 1. JSON representation of a Twitter micro-post. Due to the lack of space we omitted
the context declaration that contains the namespace.</p>
      <p>In Listing 1, we propose a JSON-LD serialization of the Activity Stream
representation of a tweet as it was injected during the experiments in both systems. The JSON-LD
representation of an Activity Stream is a Collection (specified by @type property)
composed by one or more social media items. The Collection is described with two properties,
i.e., totalItems and prov:wasAssociatedWith, which tell respectively the number of items
and the provenance of the items. The collection in the example contains a Post created
on 2016-04-26 (published property) by an actor (Lines 11-16) that produce the object
(Lines 17-33). The Actor has a unique identifier @id, a displayName, a sioc:name and a
alias. The Object has a sioc:content, a dct:language, zero or more tags, and optionally a
url and a to to represent, respectively, links to web pages and mentions of other actors.
1 &lt;post:2&gt; a sma:Tweet ;
2 dcterms:created "2016-04-26T15:46:43.346000+02:00"ˆˆxsd:dateTime ;
3 dcterms:language "en"ˆˆxsd:string ;
4 sioc:content "You ARE the #socialmedia!"ˆˆxsd:string ;
5 sioc:has_container "Twitter"ˆˆxsd:string ;
6 sioc:has_creator &lt;user:1&gt; ;
7 sioc:id "2"ˆˆxsd:string ;
8 sioc:link "http://.../status/2"ˆˆxsd:string ;
9 sioc:topic &lt;tag:3&gt; .
10 &lt;tag:3&gt; a sioct:Tag ;
11 rdfs:label "socialmedia"ˆˆxsd:string .
12 &lt;user:1&gt; a sioc:UserAccount ;
13 sioc:account_of "StreamReasoning"ˆˆxsd:string ;
14 sioc:creator_of &lt;post:4&gt; ;
15 sioc:id "1"ˆˆxsd:string ;
16 sioc:name "@streamreasoning"ˆˆxsd:string .</p>
      <p>Listing 2. RDF N3 representation of a Twitter micro-post</p>
      <p>Listing 2 shows the RDF produced by the SLD adapter in transforming the JSON-LD
in Listing 1. The translation operation exploit well known vocabularies, in particular
sioc to represent the online community information, prov to track the provenance of an
item and dcterms to represents information about the object.</p>
      <p>Sending data. A test consists in sending a constant amount of synthetic data using
the JSON-LD serialization presented in Listing 1. The data is sent in bunches 3 times
per minute (i.e. at the 10th, the 30th and the 50th seconds of the minute). Each bunch
contains the same amount of posts. We tested the configuration for different rate: 1500
posts per minute (i.e., 3 bunch of 500 posts), 3000 posts per minute, 6000 posts per
minute, 9000 posts per minute, 12000 posts per minute and 18000 posts per minute.</p>
      <p>The rates and and the input methodology were chosen based on our experiences on
social monitoring (see Section 1). They test a normal situation for SLD (1500 and 3000
posts per minutes) as well as situations that we know to overload SLD (more than 6000
posts per minute).</p>
      <p>Pipelines.We tested SLD and SLD revolution with different pipelines:
– the area chart pipeline computes the number of tweets observed over time. It uses a
15 minute long window that slides every minute. The results can be continuously
computed i) using a generic sliding window operator, which works looking only to
the time-stamps of the data items in the generic stream, and ii) accessing with a path
expression the totalItems property in the JSON-LD file, i.e., the number of items in
the collection.
– the bar chart pipeline counts how often hashtags appear in the tweets received in
the last 15 minutes. As the area chart pipeline, the window slides every minute.
In this second pipeline, RDF streams are adequate and it is convenient to write a
C-SPARQL query that counts the number of times each hashtag appears.</p>
      <p>The two pipelines are coded in SLD and SLD Revolution in two different ways.
SLD performs the transformations of JSON-LD in RDF by default, on all the input data,
independently from the task to perform. SLD Revolution keeps the data in its original
format as much as possible, i.e., it performs lazy transformations.</p>
      <p>SLD Pipelines. Figure 5 presents the two pipelines in SLD. The input data are
translated in RDF as soon as they enter the pipelines. The computations for the area
chart and for the bar chart (see the part marked with A and B ) are composed by the
same type of components and share the new RDF stream translated by the Adapter.</p>
      <p>The pipeline A uses two C-SPARQL queries. The first (see Listing 3) applies a
tumbling window of 1 minute6 and counts the tweets.
6 A tumbling window is a sliding window that slides for its length</p>
      <p>The second aggregates the results from the first query using a 15 minutes time
window that slides every minute (see Listing 4).</p>
      <p>1 REGISTER STREAM presocialstr AS
2 CONSTRUCT { ?id sma:twitterCount ?twitterC }
3 FROM STREAM &lt;http://.../socialstr&gt; [RANGE 1m STEP 1m]
4 WHERE { SELECT (uuid() AS ?id) ?twitterC
5 WHERE { SELECT (COUNT (DISTINCT ?mp) AS ?twitterC)
6 WHERE { ?mp a sma:Tweet } } }</p>
      <p>Listing 3. C-SPARQL pre-query for the area chart that applies a tumbling window of 1
minute and counts the tweets.
1 REGISTER STREAM ac AS
2 CONSTRUCT { ?uid sma:twitterCount ?totTwitter ; sma:created_during ?
unixTimeFrame }
3 FROM STREAM &lt;http://.../presocialstr&gt; [RANGE 15m STEP 1m]
4 WHERE {
5 SELECT (uuid() AS ?uid) ?unixTimeFrame (SUM(?twitter) AS ?totTwitter)
6 WHERE { ?id sma:twitterCount ?twitter ; sma:created_during ?timeFrame .
7 ?timeFrame a sma:15mTimeFrame ; sma:inUnixTime ?unixTimeFrame }
8 GROUP BY ?unixTimeFrame }</p>
      <p>Listing 4. C-SPARQL query for the area chart that aggregates the results from the query in
Listing 3 using a 15 minutes time window that slides every minute.</p>
      <p>It is worth to note that the first query is an important optimization in terms of memory
consumption. It avoids the engine to keep 15 minutes of tweets to only count them. In
SLD we often use this design pattern, we call this first query a pre-query.</p>
      <p>Pipeline B also exploits this design; it applies a pre-query to reduce the amount of
data and then a query to produce the final result.</p>
      <p>It is also worth to note that all the C-SPARQL queries use the form REGISTER
STREAM ... AS CONSTRUCT ..., because RDF streams are the only means of
communication between SLD components.</p>
      <p>The last components of both pipelines are publishers that make the results available
to external process outside SLD. In this case, the publisher writes JSON files on disk.</p>
      <p>SLD Revolution Pipelines. Figure 6 presents the pipelines in SLD Revolution. As
for SLD, the pipeline A is for the area chart, while B is for the bar chart. The first
component is no longer an adapter. The data directly enter SLD revolution in JSON-LD
format. The first query is a generic 1 minute long tumbling window implemented with
the EPL statement in Listing 5. FORCE UPDATE and START EAGER tells the stream
processing engine, respectively, to emit also empty reports and to start processing the
window as soon as the query is registered (i.e., without waiting for the first time-stamped
data item to arrive). It is worth to note that this query exploits the event-based nature of
the generic stream it is observing; it does not inspect the payload of the events, it only
uses their time-stamps.</p>
      <p>select * from GenericEvent.win:time_batch(1 min, "FORCE_UPDATE, START_EAGER")
Listing 5. The generic window query in common to both the pipelines in SLD Revolution
As explained in Section 3, processors are the central components of SLD Revolution.
They can listen to one or more generic streams, compute different operations and push
out a generic streams. The type of the input and output streams can be different. The two
pipelines uses different processors (e.g. RDF translator, windower and SPARQL).</p>
      <p>SLD Revolution maintains the data format as long as possible in order to reduce the
overhead of the translations. As already said, SLD Revolution can exploit the tree-based
nature of JSON-LD. In pipeline A, it exploits a path expression data to extract totalItems,
i.e., the number of items in each collection, from the time-stamped JSON-LD items in
the generic stream it listens to. It outputs a tuple htimeframe,counti that is aggregated
every minute over a window of 15 minutes using an EPL statement.</p>
      <p>The Pipeline B of SLD Revolution translate JSON-LD in RDF in order to extract
information about the hashtags. As for the pipeline B of SLD, we use a pre-query design
pattern to reduce the amount of data. A SPARQL processor applies the SELECT query
in Listing 6 to every data-item in the generic stream it listens to and pushes out a stream
of tuples hhashtagLabel,counti. The relational stream is then aggregated with an esper
processor with a 15 minute time window that slides every 1 minute (see Listing 7).
1 SELECT ?htlabel (COUNT(DISTINCT(?mpTweet)) AS ?htTweetCount)
2 WHERE { ?mpTweet a sma:Tweet ; sioc:topic ?tweetTopic .
3 ?tweetTopic a sioctypes:Tag ; rdfs:label ?htlabel }
4 GROUP BY ?htlabel
5 ORDER BY desc(?htTweetCount)</p>
      <p>Listing 6. SPARQL pre-query for the bar chart
select htlabel, sum(count) as sumHt from HTCountEvent.win:time(15 min)
group by htlabel output snapshot every 1 min</p>
      <p>Listing 7. EPL query for the bar chart</p>
      <p>KPIs. As key performance indicators (KPIs), we measure the resources consumption
of the two systems and the correctness of the results. For the resource consumption
we measure every 10 seconds: i) the CPU load of the system thread in %, ii) the
memory consumption of the thread in MB and iii) the memory consumption of the Java
Virtual Machine (JVM). For the correctness, we compared the computed results with
the expected results. Being the input a constant flows of tweets that only differ for the
ID, the area chart is expected to be flat and the bar chart is expected to count exactly the
same number of hashtags every minute.
1  
Figure 7 offers an overview of the results of the experiments. The full results are reported
at the end of this section in Figure 10. On the X axis we plot the median of the CPU load
in %, while on the Y axis we plot the memory allocated by the engine thread. The size
of the bubble maps the median of the error of the area chart. Bubbles in the lower left
corner correspond to the experiment where we sent 1500 tweets per minute.</p>
      <p>Increasing the throughput results in more memory consumption and CPU load for
both systems. However, not SLD Revolution consumes less memory than SLD and
occupies less CPU. Moreover, SLD Revolution presents a linear increment for both these
KPIs, while the resource usage for SLD grows exponentially with the throughput. Also
the error in the results increases with the throughput: SLD already shows an error greater
than 3% in the bar chart at 3000 tweets per minutes and in the area chart at 9000 tweets
per minute; SLD Revolution is faster - i.e. it reaches higher maximum input throughput
- and more accurate – i.e. it reaches 3% error level only for 18000 tweets per minutes,
providing more precise results than SLD.</p>
      <p>Figure 8 presents the recorded time-series for CPU load and memory usage in both
systems. The memory usage graphs contains two different time series. The blue one
represents the memory usage of the system thread, while the orange one shows the total
memory usage for the JVM.</p>
      <p>The memory usage of the system thread accounts for all the components and data
in the pipeline. Notably, when the system under testing is not overloaded, the memory
usage is constant over time, while when the system is overloaded it grows until the
system crashes. The total memory usage of the JVM shows, instead, the typical pattern
of the garbage collector that lets the JVM memory grow before freeing it. Also in this
case, when the system it is overloaded, the garbage collector fails to free the memory.</p>
      <p>During the experiments the median of the memory used by SLD spans from 115 MB,
when loaded with at 1500 posts/min, to 1.6 GB, when loaded with 18000 posts/min. For
SLD Revolution, instead, it spans from 44 MB to 511.5 MB in the same load conditions.
The experimental results clearly shows that SLD Revolution consumes (in average) three
times less memory than its ancestor.</p>
      <p>The same considerations can be proposed for the CPU load. The median of the CPU
load spans from 2% to 10% for SLD Revolution, while it spans from 10% to 39.5% for
SLD. SLD Revolution consumes in average 4 time less CPU time than SLD.</p>
      <p>The correctness results are summarized in Figure 9. As explained in Section 4, the
percentage of errors is computed by comparing the results for each time interval with
the expected ones. The X axis of each plot shows the percentage error; it ranges from
0% to 100%. The Y axis is the percentage of results with that error; it also goes from 0%
to 100%. A bar as tall as the Y axis in the left side of the graph means that all results
where correct. The smaller that bar is and the greater the number of bars to its right is,
the more errors were observed.</p>
      <p>In general, the results shows that SLD Revolution is more accurate (the result error
is smaller) than SLD. For the area chart the distribution shows that SLD Revolution
percentage of error is very low when the input throughput is between 1500 posts/min
and 9000 posts/min. When it is higher (i.e., 12000 and 18000 posts/min) also SLD
Revolution starts suffering and percentage of errors starts growing. For SLD, errors
are present even at lower input rate, the graph shows that the error distribution starts
moving to the right at 6000 posts/min. Similar consideration can be proposed for the bar
chart error distribution. The degradation of performance of SLD starts a very low rate, a
substantial presence of errors around 7% can be seen with 6000 posts/min in input.</p>
      <p>Figure 8 and Figure 9 show the deep correlation between resources usage and errors.
Clearly, a growing input throughput drives the systems to be less reliable. For both the
versions of the SLD framework (SLD Revolution and SLD) the correctness of the results
decreases as soon as the machine is overloaded and the resources usage starts rising out
of control.</p>
      <p>SLD  Revolution
Min. 1st  Qu. Median 3rd  Qu. Max.</p>
      <p>
        42 43 44 45 48
45 48 50 52 58
52 61 64 67 78
59 73 80 84 102
66 88 97 107 144
212 392 511,5 597,2 774
1,3% 1,8% 2,0% 2,2% 3,4%
1,3% 2,0% 2,2% 2,5% 3,8%
1,4% 2,1% 2,4% 2,8% 4,5%
1,5% 2,3% 2,7% 3,2% 5,1%
1,3% 2,6% 3,2% 4,2% 8,9%
2,8% 7,2% 10,3% 13,8% 26,2%
0,0% 0,0% 0,0% 0,0% 33,3%
0,0% 0,0% 0,0% 0,0% 33,3%
0,0% 0,0% 0,0% 0,0% 33,3%
0,0% 0,0% 0,0% 0,0% 33,3%
0,0% 0,0% 16,7% 33,3% 33,3%
0,0% 16,9% 32,1% 53,7% 100,0%
0,0% 0,0% 0,0% 0,0% 93,3%
0,0% 0,0% 0,0% 0,1% 2,2%
0,1% 0,1% 2,3% 2,3% 2,3%
1,6% 2,4% 2,4% 2,4% 3,2%
0,2% 1,5% 2,5% 4,7% 6,1%
2,9% 9,4% 12,6% 16,3% 22,4%
In our future work, we intend: i) to empirically demonstrate the value of using SLD
Revolution for all our deployments of socialOmeters, and ii) to investigate if SLD
Revolution can be the target platform for a new generation of Ontology Based Data
Integration [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] system for Stream Reasoning [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. This system could have the potential
to tame the velocity and variety dimension of Big Data simultaneously.
      </p>
      <p>As for the former, we first intend to stress test SLD Revolution using workloads that
resemble reality. Then, we aim at putting it at work in parallel to SLD in real-world
deployments. Once we will have collected enough evidence that SLD Revolution is
always cheaper faster yet more accurate than SLD, we will start using it for all our
deployments.</p>
      <p>
        As for the latter, we aim at further investigating the generic processing model
presented in Section 3. We are defining an algebra able to capture the semantics of
complex stream processing applications that need to integrate a variety of data sources.
The current sketch of this algebra uses S2I and I2S operators from CQL [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] but keeping
them generic w.r.t. the payloads. It uses SPARQL 1.1 algebra as I2I operators that
take in input graph-based payloads and generate in output either graph-based or
tuplebased payloads. The relational algebra will cover the I2I transformations of tuple-based
payloads. We are studying the application of R2RML [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] for formulating mappings
that works as I2I operators. Indeed, R2RML allows to write mapping from relational
data to RDF; more generally, I2I operators takes in input tuple-based payloads and
output graph-based ones. We still need to choose an algebra for transforming tree-based
payloads.
      </p>
      <p>In our opinion, the grand challenge is how to fit all those formal elements in a
coherent framework that allows a system to automatically decide which is the latest
moment for transforming data (i.e., introducing the concept of lazy transformation) and
to perform optimization such as introducing the pre-query that we put in all the pipelines
illustrated in Section 4.</p>
      <p>
        When the work on this formally defined generic stream processing model will be
completed, we will be able to start investigating how to extend mapping languages
like R2RML7 and, potentially, also ontological languages in order to make them
timeaware [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] while keeping the whole computational problem tractable.
7 https://www.w3.org/TR/r2rml/
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Balduini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Celino</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dell'Aglio</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Della</given-names>
            <surname>Valle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.K.</given-names>
            ,
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Tresp</surname>
          </string-name>
          , V.:
          <article-title>BOTTARI: an augmented reality mobile application to deliver personalized and locationbased recommendations by continuous analysis of social media streams</article-title>
          .
          <source>J. Web Sem</source>
          .
          <volume>16</volume>
          (
          <year>2012</year>
          )
          <fpage>33</fpage>
          -
          <lpage>41</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Balduini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Della</given-names>
            <surname>Valle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Dell'Aglio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Tsytsarau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Palpanas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Confalonieri</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          :
          <article-title>Social listening of city scale events using the streaming linked data framework</article-title>
          . [
          <volume>22</volume>
          ]
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <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>Querying RDF streams with C-SPARQL</article-title>
          .
          <source>SIGMOD Record</source>
          <volume>39</volume>
          (
          <issue>1</issue>
          ) (
          <year>2010</year>
          )
          <fpage>20</fpage>
          -
          <lpage>26</lpage>
        </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>Della Valle</surname>
          </string-name>
          , E.:
          <article-title>A proposal for publishing data streams as linked data - A position paper</article-title>
          . In Bizer,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Heath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Hausenblas</surname>
          </string-name>
          , M., eds.
          <source>: Proceedings of the WWW2010 Workshop on Linked Data on the Web, LDOW</source>
          <year>2010</year>
          ,
          <article-title>Raleigh</article-title>
          , USA, April
          <volume>27</volume>
          ,
          <year>2010</year>
          . Volume 628 of CEUR Workshop Proceedings., CEUR-WS.org (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Breslin</surname>
            ,
            <given-names>J.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bojars</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Sioc: an approach to connect web-based communities</article-title>
          .
          <source>IJWBC</source>
          <volume>2</volume>
          (
          <issue>2</issue>
          ) (
          <year>2006</year>
          )
          <fpage>133</fpage>
          -
          <lpage>142</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Phuoc</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dao-Tran</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pham</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boncz</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fink</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Linked stream data processing engines: Facts and figures</article-title>
          . In Cudre´-Mauroux,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Heflin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Sirin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Tudorache</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Euzenat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Hauswirth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Parreira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.X.</given-names>
            ,
            <surname>Hendler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Schreiber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Bernstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Blomqvist</surname>
          </string-name>
          , E., eds.:
          <source>The Semantic Web - ISWC 2012 - 11th International Semantic Web Conference</source>
          , Boston, MA, USA, November
          <volume>11</volume>
          -
          <issue>15</issue>
          ,
          <year>2012</year>
          , Proceedings,
          <string-name>
            <surname>Part II</surname>
          </string-name>
          . Volume
          <volume>7650</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2012</year>
          )
          <fpage>300</fpage>
          -
          <lpage>312</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Dell'Aglio</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calbimonte</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balduini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corcho</surname>
            ,
            <given-names>O´.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Della</given-names>
            <surname>Valle</surname>
          </string-name>
          , E.:
          <article-title>On correctness in RDF stream processor benchmarking</article-title>
          . [
          <volume>22</volume>
          ]
          <fpage>326</fpage>
          -
          <lpage>342</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <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 J</source>
          .
          <volume>15</volume>
          (
          <issue>2</issue>
          ) (
          <year>2006</year>
          )
          <fpage>121</fpage>
          -
          <lpage>142</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Garofalakis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gehrke</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rastogi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Data Stream Management: Processing High-Speed Data Streams (Data-Centric Systems</article-title>
          and Applications). Springer-Verlag New York, Inc., Secaucus, NJ, USA (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Phuoc</surname>
            ,
            <given-names>D.L.</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 Aroyo, L.,
          <string-name>
            <surname>Welty</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alani</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taylor</surname>
          </string-name>
          , J.,
          <string-name>
            <surname>Bernstein</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kagal</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blomqvist</surname>
          </string-name>
          , E., eds.:
          <source>The Semantic Web - ISWC 2011 - 10th International Semantic Web Conference</source>
          , Bonn, Germany,
          <source>October 23-27</source>
          ,
          <year>2011</year>
          , Proceedings,
          <string-name>
            <surname>Part I</surname>
          </string-name>
          . Volume
          <volume>7031</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2011</year>
          )
          <fpage>370</fpage>
          -
          <lpage>388</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Calbimonte</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corcho</surname>
            ,
            <given-names>O</given-names>
          </string-name>
          ´.,
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>A.J.G.</given-names>
          </string-name>
          :
          <article-title>Enabling ontology-based access to streaming data sources</article-title>
          . In Patel-Schneider,
          <string-name>
            <given-names>P.F.</given-names>
            ,
            <surname>Pan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Hitzler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Mika</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Pan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.Z.</given-names>
            ,
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Glimm</surname>
          </string-name>
          , B., eds.:
          <source>The Semantic Web - ISWC 2010 - 9th International Semantic Web Conference, ISWC 2010</source>
          , Shanghai, China, November 7-
          <issue>11</issue>
          ,
          <year>2010</year>
          ,
          <string-name>
            <given-names>Revised</given-names>
            <surname>Selected</surname>
          </string-name>
          <string-name>
            <surname>Papers</surname>
          </string-name>
          ,
          <string-name>
            <surname>Part I</surname>
          </string-name>
          . Volume
          <volume>6496</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2010</year>
          )
          <fpage>96</fpage>
          -
          <lpage>111</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Dell'Aglio</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Della</given-names>
            <surname>Valle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Calbimonte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Corcho</surname>
          </string-name>
          ,
          <string-name>
            <surname>O</surname>
          </string-name>
          ´.
          <article-title>: RSP-QL semantics: A unifying query model to explain heterogeneity of RDF stream processing systems</article-title>
          .
          <source>Int. J. Semantic Web Inf. Syst</source>
          .
          <volume>10</volume>
          (
          <issue>4</issue>
          ) (
          <year>2014</year>
          )
          <fpage>17</fpage>
          -
          <lpage>44</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Le Phuoc</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nguyen-Mau</surname>
            ,
            <given-names>H.Q.</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 middleware framework for scalable management of linked streams</article-title>
          .
          <source>J. Web Sem</source>
          .
          <volume>16</volume>
          (
          <year>2012</year>
          )
          <fpage>42</fpage>
          -
          <lpage>51</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>A.J.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia-Castro</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kyzirakos</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karpathiotakis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calbimonte</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Page</surname>
            ,
            <given-names>K.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Frazer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Galpin</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fernandes</surname>
            ,
            <given-names>A.A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paton</surname>
            ,
            <given-names>N.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corcho</surname>
            ,
            <given-names>O´.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koubarakis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roure</surname>
            ,
            <given-names>D.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martinez</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , G o´
          <article-title>mez-Pe´rez, A.: A semantically enabled service architecture for mashups over streaming and stored data</article-title>
          . In Antoniou, G.,
          <string-name>
            <surname>Grobelnik</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simperl</surname>
            ,
            <given-names>E.P.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plexousakis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leenheer</surname>
            ,
            <given-names>P.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
          </string-name>
          , J.Z., eds.:
          <source>ESWC (2)</source>
          . Volume
          <volume>6644</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2011</year>
          )
          <fpage>300</fpage>
          -
          <lpage>314</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Compton</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barnaghi</surname>
            ,
            <given-names>P.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bermudez</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia-Castro</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corcho</surname>
            ,
            <given-names>O´ .</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cox</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Graybeal</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hauswirth</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henson</surname>
            ,
            <given-names>C.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herzog</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Janowicz</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kelsey</surname>
            ,
            <given-names>W.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Le Phuoc</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lefort</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leggieri</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neuhaus</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikolov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Page</surname>
            ,
            <given-names>K.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Passant</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taylor</surname>
          </string-name>
          , K.:
          <article-title>The ssn ontology of the w3c semantic sensor network incubator group</article-title>
          .
          <source>J. Web Sem</source>
          .
          <volume>17</volume>
          (
          <year>2012</year>
          )
          <fpage>25</fpage>
          -
          <lpage>32</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Jazayeri</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loos</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musser</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          R., eds.: Generic Programming,
          <source>International Seminar on Generic Programming</source>
          , Dagstuhl Castle, Germany, April 27 - May 1,
          <year>1998</year>
          ,
          <string-name>
            <given-names>Selected</given-names>
            <surname>Papers</surname>
          </string-name>
          . Volume
          <volume>1766</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Milner</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morris</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Newey</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A logic for computable functions with reflexive and polymorphic types</article-title>
          . Department of Computer Science, University of Edinburgh (
          <year>1975</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Data integration: A theoretical perspective</article-title>
          .
          <source>In: Proceedings of the Twenty-first ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems</source>
          , June 3-5, Madison, Wisconsin, USA. (
          <year>2002</year>
          )
          <fpage>233</fpage>
          -
          <lpage>246</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>Della</given-names>
            <surname>Valle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Ceri</surname>
          </string-name>
          , S., van
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fensel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>It's a streaming world! reasoning upon rapidly changing information</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          <volume>24</volume>
          (
          <issue>6</issue>
          ) (
          <year>2009</year>
          )
          <fpage>83</fpage>
          -
          <lpage>89</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Priyatna</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corcho</surname>
            ,
            <given-names>O´ .</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sequeda</surname>
          </string-name>
          , J.:
          <article-title>Formalisation and experiences of r2rml-based SPARQL to SQL query translation using morph</article-title>
          . In Chung,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Broder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.Z.</given-names>
            ,
            <surname>Shim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Suel</surname>
          </string-name>
          , T., eds.: 23rd International World Wide Web Conference, WWW '
          <fpage>14</fpage>
          , Seoul, Republic of Korea, April 7-
          <issue>11</issue>
          ,
          <year>2014</year>
          , ACM (
          <year>2014</year>
          )
          <fpage>479</fpage>
          -
          <lpage>490</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Artale</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kontchakov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ryzhikov</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zakharyaschev</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A cookbook for temporal conceptual data modelling with description logics</article-title>
          .
          <source>ACM Trans. Comput. Log</source>
          .
          <volume>15</volume>
          (
          <issue>3</issue>
          ) (
          <year>2014</year>
          )
          <volume>25</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          :
          <fpage>50</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Alani</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kagal</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fokoue</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Groth</surname>
            ,
            <given-names>P.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Biemann</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parreira</surname>
            ,
            <given-names>J.X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aroyo</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Welty</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Janowicz</surname>
          </string-name>
          , K., eds.:
          <source>The Semantic Web - ISWC 2013 - 12th International Semantic Web Conference</source>
          , Sydney,
          <string-name>
            <surname>NSW</surname>
          </string-name>
          , Australia,
          <source>October 21-25</source>
          ,
          <year>2013</year>
          , Proceedings,
          <string-name>
            <surname>Part II</surname>
          </string-name>
          . Volume
          <volume>8219</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>