<!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>Challenges &amp; Opportunities of RSP-QL Implementations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Riccardo Tommasini</string-name>
          <email>riccardo.tommasini@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emanuele Della Valle</string-name>
          <email>emanuele.dellavalle@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Politecnico di Milano, DEIB</institution>
          ,
          <addr-line>Milan</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The RSP-QL model explains and uni es RDF Stream Processing (RSP) approaches into a more general semantics. It was successfully applied to model C-SPARQL, CQELS-QL and SPARQLstream taking into account the operational semantics of the existing implementations. In this paper, we present Yasper 1.0, an RSP engine that implements RSP-QL semantics. Moreover, we present the challenges we found during our implementation experience and we discuss the research opportunities they imply. For each of these challenges, we also formulate some hypotheses that will drive our future work empirical studies on RSP.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>In this section, we present the background information required to understand
the content of the paper.</p>
      <p>We adopt a generic de nition of RDF Stream, i.e. a sequence of pairs (Oi,
ti), where ti is a non-decreasing timestamp and Oi is either a named RDF Graph
or a timestamped RDF triple.</p>
      <p>
        RSP-QL [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is a unifying model for RSP dialects and engines. RDF Stream are
pair of named RDF Graph as Oi and timestamps.
      </p>
      <p>
        A time-based sliding window operator W is a Stream-to-Relation (S2R)
operator [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] de ned by the triple ( ; ; t0). W determines a series of windows of
width ( ) and sliding parameter ( ) starting from t0. A Time-Varying Graph
(TVG) is a function that takes a time instant as input and outputs an
Instantaneous RDF Graph. The application of W on a RDF Stream is a Time-Varying
Graph that for any given time instant t at which W is de ned coalesces the RDF
Graphs in the current window2 into an Instantaneous RDF Graph.
      </p>
      <p>A streaming dataset SDS is a set composed by an optional default element
A0, n (n 0) named Time-Varying Graphs and m (m 0) named sliding
window operators over k (k m) streams.</p>
      <p>RSP-QL evaluation semantics is de ned as eval(SDS(G), SE, t), where SDS
is a streaming dataset having G as active Time-Varying Graph, SE is an
algebraic expression and t is a time instant. Accordingly, the extension to
multiwindow queries involves more than one active Time-Varying Graphs, i.e. eval(SDS(Gi
... Gn), SE, t). The evaluation is computed over the instantaneous graphs Gi(t),
i.e., eval(SDS(Gi; t), SE). An RSP-QL query is continuously evaluated against
a SDS by an RSP engine. The set ET of evaluation time instants is determined
by the RSP engine according to a reporting policy that, in RSP-QL, consists of
the composition of the following strategies: CC Content Change { the engine
reports if the content of the current window changes {, WC Window Close {
the engine reports if the current window closes {, NC Non-empty Content { the
engine reports if the current window is not empty {, and P Periodic { the engine
reports at regular intervals.</p>
      <p>
        The output of the RSP-QL query evaluation is an instantaneous multiset of
solution mappings for each evaluation time instant in "ET". Time-aware
operators called Relation-to-Stream (R2S) are required to transform the instantaneous
multiset of solution mappings into a Time-Varying multiset of solution mappings.
RSP-QL comprises the following R2S operators: the RStream, which emits each
solution mappings; the IStream, which emits the di erence between the
current solution mappings and previous ones, and; the DStream, which emits the
di erence between the previous solution mappings and the current ones.
C-SPARQL [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is a continuous extension of SPARQL for registering queries
over RDF Streams represented as timestamped RDF triples, i.e., Oi is an RDF
      </p>
      <sec id="sec-2-1">
        <title>2 The current window identi ed by W with the oldest closing time instant at t</title>
        <p>Triple. Queries written C-SPARQL are executed by an RSP engine3 that pipes
a Data Stream Management System (DSMS) with a SPARQL engine. The
CSPARQL engine delegates the window execution to the DSMS and the remainder
of the query to the SPARQL engine. C-SPARQL reporting policy is on window
close and non-empty content (WCNC). C-SPARQL provides only the RStream
operator.</p>
        <p>
          SPARQLstream [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] is an extension of SPARQL to query virtual RDF streams
where Oi is an RDF triple. Morphstream translates SPARQLstream queries into
several DSMSs queries by means of mappings. The mapping language is S2O, and
ad-hoc extension of R2O to include the time semantics (windows). Morphstream
reporting policy is on window close and non-empty content (WC.NC.). Morphstream
provides all the R2S operators.
        </p>
        <p>
          CQELS-QL [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] extends SPARQL with continuous semantics adding special
operators to deal with streams and de ne windows. RDF streams are
represented by timestamped RDF triples as Oi. CQELS ports DSMS concepts into
a SPARQL engine and, thus, it not only executes CQELS-QL queries but also
applies optimizations by adapting the execution of the query to the stream
velocity. CQELS reports results on content change (CC). CQELS provides only
the IStream operator.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>YASPER: Yet Another RDF Stream Processing Engine</title>
      <p>
        In this section, we introduce Yasper's architecture and how it implements
RSPQL concepts. Figure 1 shows the following modules of Yasper 1.0 Streams,
Windowing, SDS, Querying and Reasoning. Modules that exposes Yasper as a REST
service [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] are also available but not discussed.
      </p>
      <p>
        The Stream module, Figure 1 (a), contains the classes to represent a Stream.
Yasper adopts a generic data stream model [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Each stream is identi ed by an
URI and its content is a generic stream item si=&lt; ti; te; O &gt; where ti is the
time when s entered the system (ingestion time); te is the time when s occurred
(event time) and O is a generic data element.
      </p>
      <p>
        Thanks to this representation, Yasper can replicate the two RDF stream
models4 studied in RSP, i.e. unbounded sequence of timestamped RDF triples
as in C-SPARQL vs. unbounded sequence of RDF graphs as in SLD [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>The Windowing module, Figure 1 (b), is based on Esper5, an open-source
DSMS that relies on the Event Processing Language (EPL) and special objects
called listeners that continuously receive the EPL queries outputs. We
represent the RSP-QL Time-Based Sliding Window Operator (henceforth referred
to as window operator) as an EPL statement on an RDF Stream plus a
listener that continuously receives its results. Each window operator maintains a</p>
      <sec id="sec-3-1">
        <title>3 https://github.com/streamreasoning/CSPARQL-engine</title>
      </sec>
      <sec id="sec-3-2">
        <title>4 The current implementation uses Apache Jena 3.</title>
      </sec>
      <sec id="sec-3-3">
        <title>5 www.espertech.com</title>
        <p>Time-Varying Graph that is responsible for generating an Instantaneous RDF
Graph. The windowing is performed by means of temporal annotations of the
StreamItems. Therefore Yasper can refer either to the ingestion{time { the time
of arrival of a Stream Item { or to the event{time { the time each Stream Item
is annotated with. Yasper works by default using Event Time that, notably,
does not guarantee total ordering of Stream Items and, thus, requires further
synchronization mechanisms in an open Web environment.</p>
        <p>
          A streaming dataset SDS, Figure 1 (c), contains all the Time-Varying RDF
Graphs. For each evaluation time t, each window operator w pushes StreamItems
into a Time-Varying RDF Graph tvg, which reactively generates an
Instantaneous RDF Graph g The streaming dataset SDS can be consolidated into an
equivalent instantaneous dataset DI, i.e. a set of instantaneous RDF Graphs.
The content of an instantaneous RDF graph gi belongs to the current window
identi ed by their window operator wi at time t; wi might be a sub-window [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
Notably, slowly evolving RDF graphs are represented as a (named) Time-Varying
Graph too. The SDS implementation extends Apache Jena 3 in-memory Dataset.
        </p>
        <p>
          As described in Section 2, RSP-QL comprises four strategies to de ne an
RSP engine reporting policy. As of the time of the submission, Yasper reports
the results on Window Close (WC) and Non-empty Content (NC). However,
how policies work with multi window queries is not obvious. RSP-QL [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] implies
that any reporting policies could be mixed and introduces also the notion of
sub-windows to support this claim. It is worth to notice that the set ET of
evaluation time instants is tightly coupled with the arrival of new data, unless
the RSP engine exploits an internal clock. In a real streaming setting, this is true
even if the reporting policy de ne ET a-priori, e.g. periodic. For this reason, the
creation of the SDS and the query evaluation are computed reactively to the
arrival of a new Stream Item. This simple di erence unveils several issues that
we will discuss in the next section.
REGISTER STREAM &lt;example&gt; AS CONSTRUCT ISTREAM f? s ?p ? og
FROM NAMED WINDOW : w1 [RANGE 5 s , SLIDE 2 s ] ON STREAM : stream1
FROM NAMED WINDOW : w2 [RANGE 5 s , SLIDE 5 s ] ON STREAM : stream2
WHERE f WINDOW ?w1 f? s ?p ? og
        </p>
        <p>WINDOW ?w2 f? s ?p ? og FILTER ( ?w1 != ?w2) g</p>
        <sec id="sec-3-3-1">
          <title>Listing 1.1: An example of RSP-QL Query.</title>
          <p>
            The Querying module, Figure 1 (d), contains the elements for query
instantiation and continuous execution. At this stage of development, Yasper accepts
only SELECT and CONSTRUCT queries; the R2S operators R-, I- and DStream
are available [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] and it also supports multi-window queries. Listing 1.1 presents
the currently supported syntax, which is inspired to [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] and the W3C RSP CG6.
          </p>
          <p>The reasoning module, Figure 1 (e), supports continuous query answering
under entailment regime. For each evaluation time instant t, before evaluating
an RSP-QL query q, Yasper computes the closure under the entailment e of each
instantaneous RDF Graph in SDS(t) using the Jena Generic Rule Reasoner.
Future work in this direction comprise the integration of RDFox and Ontop.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Challenges</title>
      <p>
        In this section, we present the challenges unveiled by our implementation
experience. Yasper relies on some design decisions that require to be discussed with
the SR/RSP community. In particular, we found issues about the streams item
representation, stream item order, and multi-window queries evaluation, which
relates to the notion of RSP-QL dataset SDS. We summarize these issues with
the following questions:
(Q1) What is the best way to model the stream content?
(Q2) How does the time model impact the processing?
(Q3) What does de ne the current SDS at time t?
(Q4) Is there an e cient way to maintain the SDS?
(C1) Stream Content. RSP-QL assumes that stream items are timestamped
(named) RDF Graphs. Actually, this assumption contrasts with how most of the
existing RSP approaches work in practice. Indeed, [
        <xref ref-type="bibr" rid="ref12 ref6 ref7">6, 7, 12</xref>
        ] adopt timestamped
RDF triples and only SLD [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] uses timestamped named graphs. Moreover,
Balduini et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] recently highlighted the bene ts of a generic data model combined
to a lazy-transformation approach.
      </p>
      <p>
        Although the theoretical equivalence between the two approaches has been
proved [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], we still have to identify their impact on performance. (Q1) highlights
the need to identify an optimum if any. To support this investigation, we propose
the following hypotheses:
{ Hp.0 Streams represented as RDF statement and those represented as Named
graph are equal under the assumptions of non-decreasing timestamps for the
RDF statement stream.
      </p>
      <sec id="sec-4-1">
        <title>6 https://github.com/streamreasoning/rsp-ql</title>
        <p>
          { Hp.1 The cost of translating a stream of timestamped RDF statement to a
stream of named RDF graph is negligible.
(C2) Stream Ordering. RSP approaches typically assume the stream items
arrive with non-decreasing timestamps. Although this assumption is reasonable
for monolithic infrastructure, it does not hold for distributed or federated
architectures [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. (Q2) highlights the need to study the consequences of alternative
time representations [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], especially in those settings where is not possible to
guarantee synchronization nor absence of out-of-order arrivals. To support this
investigation, we propose the following hypotheses:
{ Hp.2 Event{time and ingestion{time are equivalent for partially ordered
streams.
{ Hp.3 Event{time and ingestion{time are not equivalent for totally ordered
streams.
(C3) SDS Consolidation &amp; Maintenance. RSP-QL assumes that an
Instantaneous Graph IG can be generated by a Time-Varying Graph TVG for any
instant t for which the window operator W is de ned. This assumption implies
that IG can be accessed even if the window is not closed. Although this approach
theoretically promises always up-to-date results, it requires the RSP engine to
maintain sub-windows accessible [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. This surely has an impact on performance
in terms of operations and memory. Moreover, if we consider existing RSP
dialect syntaxes or RSP-QL proposals [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], the sub-window de nition is transparent
to the system user. This introduces ambiguity in the intended semantics. (Q3)
highlights this issue from the point of view of the dataset SDS.
        </p>
        <p>
          We name the problem SDS Consolidation and we introduce the notion of
Active SDS { i.e. the SDS against which an RSP-QL query q is evaluated at
time t. Dell'Aglio et al. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] de ned an SDS that relies on the notion of
subwindows. Since this consolidation semantics always considers the current status
of all the windows, we refer to it as Current Active SDS. We identi ed two
consolidations semantics that do not rely on sub-windows: (1.) the Closed Active
SDS, as the name suggests, considers only the instantaneous RDF graphs that
were derived from closed active windows. (2.) The Cached Active SDS considers
the instantaneous RDF graphs that were derived from the latest closed active
window. To support this investigation we formulate the following hypotheses:
{ Hp.4 The Current Active SDS is always more e cient in terms of resource
usage than Closed and the Cached.
{ Hp.5 The Current Active SDS is not more responsive than the Closed and
the Cached ones.
        </p>
        <p>In order to better understand the impact on the results of the di erent SDS
consolidations semantics, let us consider the example illustrated in Figure 2:
:w1 and :w2 are two window operators applied to two streams. By de nition,
they de ne many windows with opening and closing time instants (o,c). Let
us consider now the SDS at three relevant time instants: t = 30 where only a
window de ned by :w1 is closed; t = 35 where both :w1 and :w2 de ne two
{ Hp.6 Once xed the SDS consolidation approach, the Maintenance Strategy
does not in uence the correctness of an RSP-QL query.
{ Hp.7 the performance of the delta Maintenance Strategy is always comparable
to those of the snapshot.</p>
      </sec>
      <sec id="sec-4-2">
        <title>7 We consider e cient an approach that performs better than a naive solution that</title>
        <p>rebuild SDS.</p>
        <p>Challenges
C1 Stream Content
C2 Stream Ordering
C3 SDS Consolidation</p>
        <p>SDS Maintenance</p>
        <p>RSP-QL Variants
Named Graph RDF Statement
Non-Decreasing Monotonic</p>
        <p>Current Closed
/ Snapshot</p>
        <p>Virtual
Late Items</p>
        <p>Cached
Deltas
In this section we discuss the research opportunities that each of the presented
challenges highlights.</p>
        <p>
          Challenge C1, and partially C3, indicate that the RSP solution space is not
yet systematically explored and there is room for optimization driven by
RSPQL insights. The community e orts on empirical research should continue, also
supported by new resources like Yasper and the recent RSPLab [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. Moreover,
we need to de ne uniform evaluation methodologies based on choke-points [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ],
that guide the evaluation of new approaches.
        </p>
        <p>Challenge C2 suggests that some typical SR/RSP assumptions are
inadequate for distributed or federated environments. The management of out-of-order
data arrival is an open challenge for mature systems like Spark8 and Flink9 and
so should be for the SR/RSP community. Federated RSP is another appealing
idea; networks of engines that exchange data and queries require to relax these
assumptions and rethink the model.</p>
        <p>
          We advocate the use of reasoning to deal with the challenges, i.e.
out-oforder data arrival and federation and planning. Moreover, correctness must be
rede ned to include relevant notions such as maximum delay, watermark and
multiple active windows [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
        <p>Challenge C3 reveals that designing a syntax that takes into account all the
aspects of RSP is hard. Especially because we, as a community, did not
investigate what is the intended semantics of a query. A universal syntax might not
exist, while task-speci c syntaxes that capture fragments of RSP-QL semantics
can better t the user needs.</p>
        <p>Speci cally for querying, we must focus on usability. For a query language,
we need to reduce ambiguity and improve e ciency as much as possible even if
it means trading expressiveness and usability if necessary.</p>
        <p>Our intuition is that some window operators are easier to use in combination
with speci c policies and our proposal is to re ect these preferred relations in
the RSP-QL syntax. In Listing 1.2 we present three alternative syntaxes that
we believe are tightly coupled. The window at line 1 suggests that the reporting
will happen on window close (i.e. when the window slides). The window at line
2 is meaningful only when the system reports on content change. The window</p>
      </sec>
      <sec id="sec-4-3">
        <title>8 https://spark.apache.org/</title>
      </sec>
      <sec id="sec-4-4">
        <title>9 https:// ink.apache.org/</title>
        <p>at line 3 might be a possible syntax that highlights that sub-windows of a given
size are allowed.
1 FROM NAMEDWINDOW : a [RANGE 5s , STEP 2 s ] ON STREAM : s t r 1
2 FROM NAMEDWINDOW : b [RANGE 5 s ] ON STREAM : s t r 2
3 FROM NAMEDWINDOW : c [RANGE 5s , SLIDE 5s , SPLIT 1 s ] ON STREAM : s t r 3</p>
        <sec id="sec-4-4-1">
          <title>Listing 1.2: An example of RSP-QL Query.</title>
          <p>6</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper we presented Yasper 1.0, i.e. an RSP-QL compliant RSP engine,
and the challenges we faced during our implementation experience.</p>
      <p>
        At the moment of writing, Yasper supports the proposed syntax [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and can
answer multi-stream SELECT and CONSTRUCT queries. The support of ASK
queries is a work in progress whereas the DESCRIBE clause requires further
investigation. Yasper supports all the RSP-QL streaming operators while it's
reporting policy is On Window Close and Non-Empty Content. We are
working to make the reporting policy also con gurable in order to support all the
combinations.
      </p>
      <p>
        Regarding the presented challenges and our hypotheses, our goals is to
perform a descriptive study on RSP engines. To this extent, we will formulate
statistical tests to investigate our hypotheses and we will extensively evaluate
Yasper 1.0 and the other relevant RSP engines [
        <xref ref-type="bibr" rid="ref13 ref9">13, 9</xref>
        ].
      </p>
      <p>Acknowledgments. We thank Daniele Dell'Aglio for the supporting
discussions and brainstorming regarding RSP-QL.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Akidau</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bradshaw</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chambers</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chernyak</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fernandez-Moctezuma</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lax</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McVeety</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mills</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perry</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Whittle</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The data ow model: A practical approach to balancing correctness, latency, and cost in massivescale, unbounded, out-of-order data processing</article-title>
          .
          <source>PVLDB</source>
          <volume>8</volume>
          (
          <issue>12</issue>
          ),
          <volume>1792</volume>
          {
          <year>1803</year>
          (
          <year>2015</year>
          ), http://www.vldb.org/pvldb/vol8/p1792-Akidau.pdf
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <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>
          ),
          <volume>121</volume>
          {
          <fpage>142</fpage>
          (
          <year>2006</year>
          ), https://doi. org/10.1007/s00778-004-0147-z
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Balduini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Della</given-names>
            <surname>Valle</surname>
          </string-name>
          , E.:
          <article-title>A restful interface for RDF stream processors</article-title>
          .
          <source>In: Proceedings of the ISWC 2013 Posters &amp; Demonstrations Track</source>
          , Sydney, Australia, October
          <volume>23</volume>
          ,
          <year>2013</year>
          . pp.
          <volume>209</volume>
          {
          <issue>212</issue>
          (
          <year>2013</year>
          ), http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1035</volume>
          /iswc2013_ poster_8.pdf
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <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>
          .
          <source>In: International Semantic Web Conference (2). Lecture Notes in Computer Science</source>
          , vol.
          <volume>8219</volume>
          , pp.
          <volume>1</volume>
          {
          <fpage>16</fpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <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>Tommasini</surname>
          </string-name>
          , R.:
          <source>SLD Revolution: A Cheaper</source>
          ,
          <article-title>Faster yet more Accurate Streaming Linked Data Framework</article-title>
          . pp.
          <volume>1</volume>
          {
          <issue>15</issue>
          . http://ceur-ws.
          <source>org/</source>
          Vol-1870/#paper-
          <fpage>01</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <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>
          </string-name>
          , M.:
          <string-name>
            <surname>C-SPARQL:</surname>
          </string-name>
          <article-title>a continuous query language for RDF data streams</article-title>
          .
          <source>Int. J. Semantic Computing</source>
          <volume>4</volume>
          (
          <issue>1</issue>
          ),
          <volume>3</volume>
          {
          <fpage>25</fpage>
          (
          <year>2010</year>
          ), https://doi.org/10.1142/S1793351X10000936
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <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>
          .
          <source>In: 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>
          , Part I. pp.
          <volume>96</volume>
          {
          <issue>111</issue>
          (
          <year>2010</year>
          ), https://doi.org/10.1007/ 978-3-
          <fpage>642</fpage>
          -17746-
          <issue>0</issue>
          _
          <fpage>7</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <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>
            <given-names>Della</given-names>
            <surname>Valle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Corcho</surname>
          </string-name>
          ,
          <string-name>
            <surname>O.</surname>
          </string-name>
          :
          <article-title>Towards a uni ed language for RDF stream query processing</article-title>
          .
          <source>In: ESWC 2015 Satellite Events Portoroz</source>
          , Slovenia, May 31 - June 4,
          <year>2015</year>
          , Revised Selected Papers. pp.
          <volume>353</volume>
          {
          <issue>363</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <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>
          ),
          <volume>17</volume>
          {
          <fpage>44</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>DellAglio</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Della</given-names>
            <surname>Valle</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>van Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bernstein</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Stream reasoning: A survey and outlook</article-title>
          .
          <source>Data Science (Preprint)</source>
          ,
          <volume>1</volume>
          {
          <fpage>24</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Kotsev</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Minadakis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Papakonstantinou</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Erling</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fundulaki</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kiryakov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Benchmarking RDF query engines: The LDBC semantic publishing benchmark</article-title>
          .
          <source>In: Proceedings of the Workshop on Benchmarking Linked Data (BLINK</source>
          <year>2016</year>
          )
          <article-title>co-located with the 15th International Semantic Web Conference (ISWC), Kobe</article-title>
          , Japan, October
          <volume>18</volume>
          ,
          <year>2016</year>
          . (
          <year>2016</year>
          ), http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1700</volume>
          / paper-01.pdf
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <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 uni ed processing of linked streams and linked data</article-title>
          .
          <source>In: The Semantic Web - ISWC 2011 - 10th International Semantic Web Conference</source>
          , Bonn, Germany,
          <source>October 23-27</source>
          ,
          <year>2011</year>
          , Proceedings, Part I. pp.
          <volume>370</volume>
          {
          <issue>388</issue>
          (
          <year>2011</year>
          ), https://doi.org/ 10.1007/978-3-
          <fpage>642</fpage>
          -25073-6_
          <fpage>24</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Tommasini</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Della</given-names>
            <surname>Valle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Balduini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Dell'Aglio</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>Heaven: A framework for systematic comparative research approach for RSP engines</article-title>
          .
          <source>In: The 13th International ESWC</source>
          , Heraklion, Crete, Greece,
          <year>2016</year>
          , Proceedings. pp.
          <volume>250</volume>
          {
          <issue>265</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Tommasini</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valle</surname>
            ,
            <given-names>E.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mauri</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brambilla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          : Rsplab:
          <article-title>Rdf stream processing benchmarking made easy</article-title>
          .
          <source>In: The Semantic Web 16th International Semantic Web Conference</source>
          , Vienna, Austria,
          <source>October 21-25</source>
          ,
          <year>2017</year>
          , Proceedings, Part II
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>