<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>April</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>A Proposal for Publishing Data Streams as Linked Data - A Position Paper -</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Davide F. Barbieri</string-name>
          <email>dbarbieri@elet.polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emanuele Della Valle</string-name>
          <email>dellavalle@elet.polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Elettronica e Informazione, Politecnico di Milano</institution>
          ,
          <addr-line>Piazza L. da Vinci 32, 20133 Milano</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <volume>27</volume>
      <issue>2010</issue>
      <abstract>
        <p>Streams are appearing more and more often on the Web in sites that distribute and present information in real-time streams. We anticipate a rapidly growing need of mashing up this streaming information with more static one. While best practices for linking static data on the Web were published and facilitate the mash up of static information published on the Web, streams were neglected. In this short position paper, we propose an approach to publish Data Streams as Linked Data.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>A growing number of Web sites are distributing and
presenting information in real-time streams. Microblogs such
as Twitter1, weather monitoring site such as AccuWeather2,
tra c monitoring sites such as Waze3 are few representative
examples.</p>
      <p>
        Streams, being unbounded sequences of time-varying data
elements, should not be treated as persistent data to be
stored (forever) and queried on demand, but rather as
transient data to be consumed on the y by continuous queries.
Continuous queries, after being registered, keep analyzing
such streams, producing answers triggered by the streaming
data and not by explicit invocation. Such a paradigmatic
change have been largely investigated in the last decade
by the database community [15]. Specialized Data Stream
Management Systems (DSMS) have been developed (e.g.,
STREAM [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], Aurora/Borealis [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and Stream Mill [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]).
Several startups such as StreamBase4 are commercializing DSMS,
and features of DSMS are becoming supported by major
database products, such as Oracle and DB2.
      </p>
      <p>
        Motivated by the availability of real-time streams on the
Web and by the lack of Web-based approaches to process
them, we have been working since 2008 on an extension to
SPARQL[20] for continuous querying over streams of RDF
and static RDF graphs (namely C-SPARQL [
        <xref ref-type="bibr" rid="ref7">7, 9</xref>
        ]).
1http://twitter.com/
2http://www.accuweather.com/
3http://world.waze.com/
4http://www.streambase.com/
      </p>
      <p>Listing 1 shows an example of C-SPARQL query that,
given a static description of brokers and a stream of
nancial transactions for all brokers, computes the amount of
transactions for Swiss brokers within the last hour.
1 REGISTER STREAM TotalAmountPerBroker COMPUTE EVERY 10m AS
2 PREFIX ex: &lt;http:// example/&gt;
3 CONSTRUCT {?broker ex:hasTotalAmount?total .}
4 FROM &lt;http:// brokerscentral.org/brokers.rdf &gt;
5 FROM STREAM &lt;http:// stockex.org/market.trdf &gt;
6 [RANGE 1h STEP 10m]
7 WHERE {
8 ?broker ex:from ?country .
9 ?broker ex:does ?tx .
10 ?tx ex:with ?amount .
11 FILTER (?country = "CH" )
12 }
13 AGGREGATE { (?total , SUM(?amount), ?broker) }</p>
      <p>Listing 1: Example of C-SPARQL which allows
dealing with streams of RDF triples as well as static
RDF graphs</p>
      <p>At line 1, the REGISTER clause is use to tell the C-SPARQL
engine that it should register a continuous query, i.e. a
query that will continuously compute answers to the query.
In particular, we are registering a query that generates an
RDF stream. The COMPUTE EVERY clause states the frequency
of every new computation, in the example every 10 minutes.
At line 5, the clause FROM STREAM de nes the RDF stream of
nancial transactions, used within the query. Next, line
6 de nes the window of observation of the RDF stream.
Streams, for their very nature, are volatile and for this
reason should be consumed on the y; thus, they are observed
through a window, including the last elements of the stream,
which changes over time. In the example, the window
comprises RDF triples produced in the last 1 hour, and the
window slides every 10 minutes. The WHERE clause is standard; it
includes a set of matching patterns and FILTER clauses as in
standard SPARQL. Finally, at line 13, the AGGREGATE function
asks the C-SPARQL engine to include in the result set a new
variable ?total which is bound to the sum of the amount of
the transaction of each broker.</p>
      <p>
        Our C-SPARQL Engine [9] treats non-RDF DSMSs as
virtual RDF streams and graphs. It allows to register queries
that continuously combine (virtual) RDF streams and RDF
graphs. Under this respect, our C-SPARQL Engine is
similar to D2RQ [12] that treats non-RDF databases as
virtual RDF graphs. In our previous works [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8, 9</xref>
        ] we
develop an engine for registering and continuously executing
C-SPARQL queries. With this position paper, we propose
an extension of our C-SPARQL Engine that publishes data
streams as Linked Data. Such an extension complements the
work done so far and lowers the entry barrier for external
(Semantic) Web application to consume data streams.
      </p>
      <p>The rest of the paper is organized as follows. In Section 2
we describe the design principles that inspire our proposal
for Streaming Linked Data. Section 3 explains how to
publish a single data stream as an RDF stream. In the same
section we also present a vocabulary to describe the time
interval in which the published data are valid. The URI
schema that allows to control the Window behavior is
presented in Section 4. In Section 5, we describe the RESTful
[21] services which allow to control the C-SPARQL query
that continuously computes the published RDF stream.
Finally, Section 6 and 7 present some related work and draw
some conclusions, respectively.</p>
    </sec>
    <sec id="sec-2">
      <title>2. DESIGN PRINCIPLE</title>
      <p>The design principle that inspires our approach is
illustrated in Figure 1. Our C-SPARQL engine is able to process
data streams and RDF streams in combination with RDF
graphs. In our previous work, we use in memory
connection between our C-SPARQL engine and local C-SPARQL
clients. However, we anticipate a rapidly growing need of
mashing up results of our C-SPARQL engine with
SPARQLand RDF-based linked data clients. A Streaming Linked
Data Server is a special local C-SPARQL Client that
connects in memory to a C-SPARQL engine and exposes as
Linked Data the results of continuous queries registered in
the C-SPARQL engine.</p>
      <p>By using our C-SPARQL engine as a one-to-one mapper
from data streams to RDF streams, we can make available
to Linked Data Clients a raw data stream (see Section 3).
Moreover, we o er an interface to remotely control the
behavior of the window which the stream is observed through
(see Section 4). Finally, we make available RESTful services
that implement a remote C-SPARQL Client (see Section 5).
Such services provide full control (i.e, beyond window
behavior) on the C-SPARQL queries whose results are served
as Linked Data by the Streaming Linked Data Server.</p>
    </sec>
    <sec id="sec-3">
      <title>3. PUBLISHING A STREAM</title>
      <p>A data stream is de ned as an ordered sequence of pairs,
where each pair is made of a tuple and its timestamp . For
instance, the stream of nancial transactions used in the
example in Listing 1 could contain a transaction tr1 done
by broker1 for $ 1000 registered at i, and two transactions
at i+1: tr2 done by broker1 for $ 3000 and tr3 done by
broker2 for $ 2000.
(hT ransaction(tr1; broker1; "$1000")i , i)
(hT ransaction(tr2; broker1; "$3000")i , i+1)
(hT ransaction(tr3; broker2; "$2000")i , i+1)</p>
      <p>
        In a similar way, we de ne an RDF stream [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] as an
ordered sequence of pairs, where each pair is made of an RDF
triple and its timestamp . By mapping the data stream
above in RDF using D2RQ mapping language [10], we
obtain the following RDF stream:
(hbroker1 does tr1 :i , i)
(htr1 with "$1000" :i , i)
(hbroker1 does tr2 :i , i+1)
(htr2 with "$3000" :i , i+1)
(hbroker2 does tr3 :i , i+1)
(htr3 with "$2000" :i , i+1)
      </p>
      <p>We propose to represent RDF streams in RDF using named
graphs [13]. We distinguish between two kind of named
graphs: the Stream Graphs (shortly s-graphs) and the
Instantaneous Graphs (shortly i-graphs). In our proposal, an
RDF Stream can be represented using one s-graph and
several i-graphs, one for each timestamp.</p>
      <p>A s-graphs is a metadata graph that describes the current
content of the window over the RDF Stream. The most
important part of an s-graph are the triples that refer to the
i-graphs using rdfs:seeAlso5 and those that describe when
each i-graph was received using the property receivedAt.</p>
      <p>Few other metadata complete the description of an
sgraph. The property lastUpdate describes the last time
the graph was updated. The property expires allows to
indicate a Linked Data Client that the information in the
graph will expire in a given moment in future. The
properties sld:windowType and windowSize describe the window
through which the stream is observed (see Section 4 for more
information).</p>
      <p>For instance, if the data stream exempli ed above was
the current content of a window over the stream of
nantial transactions, it can be represented using the s-graph in
Listing 2 and the two i-graphs in Listing 3 and 4.
1 @prefix rdfs: &lt;http://www.w3.org /2000/01/rdf -schema#&gt; .
2 @prefix sld: &lt;http://www.streaminglinkeddata.org/schema#&gt; .
3 @prefix : &lt;http:// example/&gt; .
4
5 :sgraph1 sld:lastUpdate " i+1 "^^xsd:dataTime ;
6 sld:expires " i+2 "^^xsd:dataTime ;
7 sld:windowType sld:logicalTumbling ;
8 sld:windowSize "PT1H"^^xsd:duration .
9
10 :sgraph1 rdfs:seeAlso :igraph1 .
11 :igraph1 sld:receivedAt " i "^^xsd:dataTime .
12
13 :sgraph1 rdfs:seeAlso :igraph2 .
14 :igraph2 sld:receivedAt " i+1 "^^xsd:dataTime .</p>
      <p>Listing 2: Example of Stream Graph linking two
Instantaneous Graphs
1 @prefix rdfs: &lt;http://www.w3.org /2000/01/rdf -schema#&gt; .
2 @prefix sld: &lt;http://www.streaminglinkeddata.org/schema#&gt; .
3 @prefix : &lt;http:// example/&gt; .
4
5 :igraph1 sld:receivedAt " i "^^xsd:dataTime ;
6 rdfs:seeAlso :sgraph1 .
7
8 :broker1 :does :tr1 .
9 :tr1 :with "$ 1000" .</p>
      <p>Listing 3: The Instantaneous Graph timestamped
with i.
5We choose to link s-graphs to i-graphs using the property
rdfs:seeAlso, because it has been largely adopted to link
named graphs (see for instance the usage of rdfs:seeAlso
in Sindice [19] and in the Semantic Web Client [17])</p>
      <p>
        Following the guidelines on cool URIs [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], we propose to
give to s-graphs and i-graphs an IRI using the following
schemata:
s-graph: http ://ex.org/%stream -name%
      </p>
      <p>e.g., http :// stockex.org/transactions
i-graph: http ://ex.org/%stream -name %/ URLeconde (% timestamp %)</p>
      <p>e.g., http :// stockex.org/transactions /2010 -02 -12 T13%3A34%3 A41Z
Moreover, following the best practice on how to publish
Linked Data on the Web [11] in terms of content
negotiation, when IRIs, which follow the schemata shown above
are dereferenced, the Streaming Linked Data Server
dereferences an information resource appropriate for the client
(using HTTP content negotiation):</p>
      <sec id="sec-3-1">
        <title>Linked Data Clients are redirected to</title>
        <p>http ://ex.org/trdf /%stream -name%
http ://ex.org/trdf /%stream -name %/ URLeconde (% timestamp %)</p>
      </sec>
      <sec id="sec-3-2">
        <title>HTML Clients are redirected to</title>
        <p>http ://ex.org/page /%stream -name%
http ://ex.org/page /%stream -name %/ URLeconde (% timestamp %)</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. CONTROLLING THE WINDOW</title>
      <p>As we have explained in the previous section, streams are
intrinsically in nite. In C-SPARQL, we introduce the notion
of windows over streams. In Section 3, we focus on the
general approach to publish a data stream rather than on
the notion of window. However, we foresee the need for a
consumer of Streaming Linked Data to be able to control
the behavior of the window through which the stream is
observed.</p>
      <p>
        Types and characteristics of windows in C-SPARQL are
inspired by those of the windows de ned in continuous query
languages for relational streaming data, such as CQL[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Windows are expressed in C-SPARQL within the FROM STREAM
clause, whose syntax is as follows:
FromStrClause ! `FROM' [`NAMED'] `STREAM' StreamIRI
      </p>
      <p>`[ RANGE' Window `]'
Window ! LogicalWindow j PhysicalWindow
LogicalWindow ! Number TimeUnit WindowOverlap
TimeUnit ! `ms' j `s' j `m' j `h' j `d'
WindowOverlap ! `STEP' Number TimeUnit j `TUMBLING'
PhysicalWindow ! `TRIPLES' Number</p>
      <p>A window extracts from the stream the last data stream
elements, which are considered by the query. Such
extraction can be physical (a given number of triples) or logical
(all the triples which occur during a given time interval, the
number of which is variable over time).</p>
      <p>Logical windows are sliding [16] when they are
progressively advanced of a given STEP (i.e. a time interval that
is shorter than the window's time interval); they are
nonoverlapping (or TUMBLING) when they are advanced of exactly
their time interval at each iteration. With tumbling
windows every triple of the stream is included exactly into one
window, whereas with sliding windows some triples can be
included into several windows.</p>
      <p>We believe that consumers of Streaming Linked Data would
largely bene t from controlling the window of a running
CSPARQL query. Therefore we propose the following IRI
schemata:
physical windows can be controlled replacing %size%
with the number of triples (e.g., the last 1000 triples)
Schema: http ://ex.org/%stream -URI%/ physical /% size%</p>
      <p>Example: http :// stockex.org/ transactions/physical /1000
logical windows can be controlled replacing %size%
with the a time interval6 (e.g., PT1H meaning 1 hour)
and replacing %step% either with the keyword tumbling
or with a time interval (e.g., PT10M meaning 10
minutes).</p>
      <p>Schema: http ://ex.org/%stream -URI%/ logical /% size %/% step%</p>
      <p>Example: http :// stockex.org/ transactions/logical/PT1H/PT10M</p>
      <p>Notably, each of these IRIs are translated to an
equivalent C-SPARQL query that processes the data stream. For
instance, the example above is equivalent to the following
C-SPARQL query.</p>
      <p>REGISTER STREAM transactions COMPUTE EVERY 10m AS
PREFIX : &lt;http :// example/&gt;
CONSTRUCT *
FROM STREAM &lt;http :// stockex.org/market.trdf &gt;</p>
      <p>[RANGE 1h STEP 10m]</p>
      <p>WHERE { ?s ?p ?o . }</p>
    </sec>
    <sec id="sec-5">
      <title>5. CONTROLLING C-SPARQL QUERIES</title>
      <p>In this Section, we describe the RESTful [21] services
which allow one to control each C-SPARQL query that
continuously computes each RDF stream published with our
approach.</p>
      <p>As we explained above, C-SPARQL queries have to be
registered in the C-SPARQL Engine. As soon as a query is
registered, the C-SPARQL engine starts to compute it. An
explicit stop command is required to stop the processing of
a registered query. Similarly an unregister command allows
for deleting a C-SPARQL query.</p>
      <p>We desinged a RESTful interface that uses the HTTP
methods to controll the C-SPARQL queries:</p>
      <p>PUT, with a C-SPARQL query as parameter, allows to
register a query that generates a certain RDF stream,
POST, with start or stop command as parameters, is
used to start or stop a registered query, and</p>
      <sec id="sec-5-1">
        <title>DELETE can be used to unregister a query.</title>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. RELATED WORK</title>
      <p>Two previous works [14, 22] address the need for
publishing data streams as Linked Data.</p>
      <p>In [14], Corcho introduce the concept of Linked Stream
Data, a way in which the Linked Data principles can be
6The lexical space of such an interval is the same as
xsd:duration, i.e., the format PnYnMnDTnHnMnS de ned by
ISO 8601 [18]
applied to stream data and be part of the Web of Linked
Data. At a rst glance, his proposal could appear similar
to our one. Both his and our proposal use named graphs
and de ne IRI schemata. However, his approach does not
take into account the nature of streams, that, being
unbounded sequences of time-varying data elements, should
not be treated as persistent data to be stored (forever) and
queried on demand, but rather as transient data to be
consumed on the y by continuous queries. His proposal allows
for opening a window starting from and ending into any
moment in time (see listing below). This is incompatible with
the principle to keep a window open on the latest data that
has to be consumed on the y. It requires the Linked Stream
Data server to store the stream for an inde nite time period.
http://www.domain.org/sensor/name/%start time%,%end time%</p>
      <p>In [22], Rodr guez et al. introduce the notion of
TimeAnnotated RDF (TA-RDF) that allows for representing
timeseries data, especially streaming data, using the
Semantic Web approach. (TA-RDF) is an extension of the RDF
model where resources are optionally annotated with a time
value, i.e, a time-annotated resource is a pair of the form
resource[time] (see listing below for an example).
&lt;urn:OHARE &gt; &lt;urn:hasRainSensor &gt; &lt;urn:sensor1 &gt; .
&lt;urn:sensor1 &gt;["2009 -01 -01Z-06:00"^^ xsd:date] &lt;urn:hasReading &gt; "0" .
&lt;urn:sensor1 &gt;["2009 -01 -01Z-06:05"^^ xsd:date] &lt;urn:hasReading &gt; "5" .
...
&lt;urn:sensor1 &gt;["2009 -01 -31Z-10:00"^^ xsd:date] &lt;urn:hasReading &gt; "15" .</p>
      <p>A TA-RDF graph can be represented as a set of RDF
graphs using two special properties: belongsTo, which
indicates a data element in a stream, and hasTimestamp, which
points toward the timestamp of the data element.</p>
      <p>As for the previous related work, TA-RDF proposal looks
very similar to our one, but still it lacks the paradigmatic
change from persistent data to transient data. In TA-RDF
streams are supposed to be stored inde nitely.</p>
      <p>Finally, the two proposal do not consider the rich types
of windows proposed in DSMS. They do not propose a
vocabulary to describe the window type (i.e., lsd:physical vs.
lsd:logical) and the size of the window (i.e., the equivalent
of our property windowSize). The properties lastUpdate
and expires, which in our vocabulary allows to indicate a
Linked Data Client when the graph was updated and when
it will expire, are not present.</p>
    </sec>
    <sec id="sec-7">
      <title>CONCLUSION</title>
      <p>Distributing and presenting information in real-time streams
is becoming a best practice on the Web. The nature of
streams requires a paradigmatic change from persistent data
to be stored, and queried on demand, to transient data, to
be consumed on the y by continuous queries.</p>
      <p>In our previous work we investigated C-SPARQL as an
approach to treat non-RDF DSMSs as virtual RDF streams
and graphs. With this position paper, we propose an
extension of our C-SPARQL Engine that publishes data streams
as Linked Data. In this paper, we described the
principle that inspires our approach and we explain how to
publish RDF streams continuously generated by C-SPARQL
queries. Such a best practice introduces the concepts of
Stream Graph (or s-graph) and Instantaneous Graph (or
igraph) as well as a small vocabulary that allows to describe
which part of the stream has been published and when the
information will expire. A RESTful service to control the
C-SPARQL queries that generates the RDF streams is also
detailed.</p>
      <p>
        We believe that our proposal can lower the entry barrier
for external (Semantic) Web application to consume data
streams. Our next step is to complete the prototypical
implementation of our Streaming Linked Data Server and
evaluate it against several use cases. We are currently
considering the synthetic Linear Road Benchmark [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], a well
established benchmark for Data Stream Management Systems,
and several real source of streams that we are already
experimenting with (see for instance, the social media streams
in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] or the Milan tra c streams in [9]).
8.
      </p>
    </sec>
    <sec id="sec-8">
      <title>ACKNOWLEDGMENTS</title>
      <p>The work described in this paper has been partially
supported by the European project LarKC (FP7-215535).
9.
[9] D. F. Barbieri, D. Braga, S. Ceri, and</p>
      <p>M. Grossniklaus. An Execution Environment for
C-SPARQL Queries. In Proc. Intl. Conf. on Extending
Database Technology (EDBT), 2010.
[10] C. Bizer. D2R MAP - A Database to RDF Mapping</p>
      <p>Language. In WWW (Posters), 2003.
[11] C. Bizer, R. Cyganiak, and T. Heath. How to publish
linked data on the web. Web page, 2007. Revised
2008. Accessed 07/08/2009.
[12] C. Bizer and A. Seaborne. D2RQ - Treating Non-RDF
Databases as Virtual RDF Graphs. In ISWC2004
(posters), November 2004.
[13] J. J. Carroll, C. Bizer, P. J. Hayes, and P. Stickler.</p>
      <p>Named graphs, provenance and trust. In A. Ellis and
T. Hagino, editors, WWW, pages 613{622. ACM,
2005.
[14] O. Corcho. Linked stream data: A position paper. In
The 2nd International Workshop on Semantic Sensor
Networks 2009, 2009.
[15] M. Garofalakis, J. Gehrke, and R. Rastogi. Data
Stream Management: Processing High-Speed Data
Streams (Data-Centric Systems and Applications).
Springer-Verlag New York, Inc., Secaucus, NJ, USA,
2007.
[16] L. Golab and M. T. Ozsu. Processing Sliding Window
Multi-Joins in Continuous Queries over Data Streams.
In Proc. Intl. Conf. on Very Large Data Bases (VLDB
2006), pages 500{511, 2003.
[17] O. Hartig, C. Bizer, and J. C. Freytag. Executing
sparql queries over the web of linked data. In
A. Bernstein, D. R. Karger, T. Heath, L. Feigenbaum,
D. Maynard, E. Motta, and K. Thirunarayan, editors,
International Semantic Web Conference, volume 5823
of Lecture Notes in Computer Science, pages 293{309.</p>
      <p>Springer, 2009.
[18] International Organization for Standardization. Data
elements and interchange formats | information
interchange | representation of dates and times. ISO
8601, December 2004. Available on line at:
http://xml.coverpages.org/ISO-FDIS-8601.pdf.
[19] E. Oren, R. Delbru, M. Catasta, R. Cyganiak,
H. Stenzhorn, and G. Tummarello. Sindice.com: a
document-oriented lookup index for open linked data.</p>
      <p>IJMSO, 3(1):37{52, 2008.
[20] E. Prud'hommeaux and A. Seaborne. SPARQL Query
Language for RDF.</p>
      <p>http://www.w3.org/TR/rdf-sparql-query/.
[21] L. Richardson and S. Ruby. RESTful Web Services.</p>
      <p>O'Reilly, Beijing, 2007.
[22] A. Rodriguez, R. McGrath, Y. Liu, and J. Myers.</p>
      <p>Semantic Management of Streaming Data. In Proc.
Intl. Workshop on Semantic Sensor Networks (SSN),
2009.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Abadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ahmad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Balazinska</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Cetintemel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cherniack</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-H.</given-names>
            <surname>Hwang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Lindner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Maskey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rasin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Ryvkina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Tatbul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Xing</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Zdonik</surname>
          </string-name>
          .
          <article-title>The Design of the Borealis Stream Processing Engine</article-title>
          .
          <source>In Proc. Intl. Conf. on Innovative Data Systems Research (CIDR</source>
          <year>2005</year>
          ),
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Arasu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Babcock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Babu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Datar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ito</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Nishizawa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rosenstein</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Widom</surname>
          </string-name>
          . STREAM:
          <article-title>The Stanford Stream Data Manager (Demonstration Description)</article-title>
          .
          <source>In Proc. ACM Intl. Conf. on Management of Data (SIGMOD</source>
          <year>2003</year>
          ), page 665,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Arasu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Babu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Widom. The CQL Continuous Query Language: Semantic Foundations</surname>
          </string-name>
          and
          <string-name>
            <given-names>Query</given-names>
            <surname>Execution</surname>
          </string-name>
          .
          <source>The VLDB Journal</source>
          ,
          <volume>15</volume>
          (
          <issue>2</issue>
          ):
          <volume>121</volume>
          {
          <fpage>142</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Arasu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cherniack</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. F.</given-names>
            <surname>Galvez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Maier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Maskey</surname>
          </string-name>
          , E. Ryvkina,
          <string-name>
            <given-names>M.</given-names>
            <surname>Stonebraker</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Tibbetts</surname>
          </string-name>
          .
          <article-title>Linear road: A stream data management benchmark</article-title>
          . In M. A.
          <string-name>
            <surname>Nascimento</surname>
            , M. T. Ozsu, D. Kossmann,
            <given-names>R. J.</given-names>
          </string-name>
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          <string-name>
            <surname>Blakeley</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          K. B. Schiefer, editors,
          <source>VLDB</source>
          , pages
          <volume>480</volume>
          {
          <fpage>491</fpage>
          . Morgan Kaufmann,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.</given-names>
            <surname>Ayers</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Vlkel</surname>
          </string-name>
          .
          <article-title>Cool uris for the semantic web</article-title>
          .
          <source>World Wide Web Consortium, Note NOTE-cooluris-20081203</source>
          ,
          <year>December 2008</year>
          . Available on line at: http://www.w3.org/TR/2008/NOTEcooluris-20081203/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Bai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Thakkar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Luo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Zaniolo</surname>
          </string-name>
          .
          <article-title>A Data Stream Language and System Designed for Power and Extensibility</article-title>
          .
          <source>In Proc. Intl. Conf. on Information and Knowledge Management (CIKM</source>
          <year>2006</year>
          ), pages
          <fpage>337</fpage>
          {
          <fpage>346</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D. F.</given-names>
            <surname>Barbieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Braga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ceri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. Della</given-names>
            <surname>Valle</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Grossniklaus</surname>
          </string-name>
          .
          <article-title>C-SPARQL: SPARQL for Continuous Querying</article-title>
          .
          <source>In Proc. Intl. Conf. on World Wide Web (WWW)</source>
          , pages
          <fpage>1061</fpage>
          {
          <fpage>1062</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D. F.</given-names>
            <surname>Barbieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Braga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ceri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. Della</given-names>
            <surname>Valle</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Grossniklaus</surname>
          </string-name>
          .
          <article-title>Continuous queries and real-time analysis of social semantic data with c-sparql</article-title>
          .
          <source>In Proceedings of Social Data on the Web Workshop at the 8th International Semantic Web Conference</source>
          ,
          <volume>10</volume>
          <fpage>2009</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>