SlideShare a Scribd company logo
On the need for a W3C
community group on RDF
Stream Processing
ISWC2013 Workshop on Ordering and Reasoning,
Sydney, 22/10/2013

Oscar Corcho
ocorcho@fi.upm.es, ocorcho@localidata.com
@ocorcho
http://www.slideshare.net/ocorcho/
Disclaimer…

This presentation expresses my view but not necessarily the one from
the rest of the group (although I hope that it is similar)

<<Texto libre: proyecto, speaker, etc.>>

2
Acknowledgements
• All those that I have “stolen” slides, material and
ideas from
•
•
•
•
•

Emanuele Della Valle
Daniele Dell’Aglio
Marco Balduini
Jean Paul Calbimonte
And many others who
have already started
contributing…

<<Texto libre: proyecto, speaker, etc.>>

3
Why setting up a community group?
In RDF Stream models
(timestamps, events, time
intervals, triple-based, graph-based …)

In RDF Stream query languages
(windows, stream selection,
CEP-based operators, …)

Heterogeneity

In implementations
(RDF native, query rewriting,
continuous query registration,
scalability, static vs streaming data…)

<<Texto libre: proyecto, speaker, etc.>>

4

In operational semantics
(tick, window content, report)
You may think that we do not like heterogeneity…

<<Texto libre: proyecto, speaker, etc.>>

5
But at least I love it…
• However, we need to tell people what to expect with
each system, and smooth differences when they
are not crucial……

<<Texto libre: proyecto, speaker, etc.>>

6
The solution…
• Let’s create a W3C community group…

•
•
•
•
•

To understand better those differences
The requirements on which we are based
And explain to others
…
And maybe get some “recommendation” out

<<Texto libre: proyecto, speaker, etc.>>

7
The W3C RDF Stream Processing Comm. Group
• http://www.w3.org/community/rsp/

<<Texto libre: proyecto, speaker, etc.>>

8
W3C RSP Community Group mission
“The mission of the RDF Stream Processing
Community Group (RSP) is to define a common model
for producing, transmitting and continuously querying
RDF Streams. This includes extensions to both RDF
and SPARQL for representing streaming data, as well
as their semantics. Moreover this work envisions an
ecosystem of streaming and static RDF data sources
whose data can be combined through standard models,
languages and protocols. Complementary to related
work in the area of databases, this Community Group
looks at the dynamic properties of graph-based data,
i.e., graphs that are produced over time and which may
change their shape and data over time.”

<<Texto libre: proyecto, speaker, etc.>>

9
Use cases
• We have started collecting them

• And I hope that by the end of my talk you will
consider contributing some more…
<<Texto libre: proyecto, speaker, etc.>>

10
A template to describe use cases (I)
•

Streaming Information
•
•

•
•

•
•

Type: Environmental data: temperatures, pressures, salinity, acidity, fluid
velocities etc,
Nature:
• Relational Stream: yes
• Text stream: no
Origin: Data is produced by sensors in oil wells and on oil and gas
platforms equipments. Each oil platform has an average of 400.000.
Frequency of update:
• from sub-second to minutes
• In triples/minute: [10000-10] t/min
Quality: It varies, due to instrument/sensor issues
Management /access
• Technology in use: Dedicated (relational and proprietary) stores
• Problems: The ability of users to access data from different sources is
limited by an insufficient description of the context
• Means of improvement: Add context (metadata) to the data so it
become meaningful and use reasoning techniques to process that
metadata

<<Texto libre: proyecto, speaker, etc.>>

11
A template to describe use cases (II)
•

[optional] Static Information required to interpret the streaming
information
•
•
•

•
•

Type: Topology of the sensor network, position of each sensor, the
descriptions of the oil platform
Origin: Oil and gas production operations
Dimension:
• 100s of MB as PostGIS dump
• In triples: 10^8
Quality: Good
Management / access
• Technology in use: RDBMS, proprietary technologies
• Available Ontologies and Vocabularies: Reference Semantic Model
(RSM), based on ISO 15926

<<Texto libre: proyecto, speaker, etc.>>

12
A tale of four heterogeneities
ISWC2013 Workshop on Ordering and Reasoning,
Sydney, 22/10/2013

Oscar Corcho
ocorcho@fi.upm.es, ocorcho@localidata.com
@ocorcho
http://www.slideshare.net/ocorcho/
Heterogeneity #1: Representing RDF Streams

<<Texto libre: proyecto, speaker, etc.>>

14
What is an RDF stream?
• Several possibilities:
• An RDF stream is an infinite sequence of timestamped
events (triples or graphs), where timestamps are nondecreasing
…
<eventi,ti >
<eventi+1,ti+1 >
<eventi+2,ti+2 >
…
• An RDF stream is an infinite sequence of triple occurrences
<<s,p,o>,tα,tω> where <s,p,o> is an RDF triple and tα and tω
are the start and end of the interval

• How are timestamps assigned?
Some examples…
• What would be the best/possible RDF stream
representation for the following types of problems?
• Does Alice meet Bob before Carl?
• Who does Carl meet first?
:alice :isWith :bob

:alice :isWith :carl

e1

:diana :isWith :carl

:bob :isWith :diana

e2

e3

e4

• How many people has Alice met in the last 5m?
• Does Diana meet Bob and then Carl within 5m?
1

3

6

9

t

• Which are the meetings the last less than 5m?
• Which are the meetings with conflicts?

:alice :isWith :bob

:alice :isWith :carl

:bob :isWith :diana

:diana :isWith :carl

e4

e2
e1
<<Texto libre: proyecto, speaker, etc.>>

e3
16
Data types for semantic streams - Summary
•

Multiple notions of RDF stream proposed
• Ordered sequence (implicit timestamp)
• One timestamp per triple (point in time semantics)
• Two timestamps per triple (interval base semantics)

•

Comparison between existing approaches
System

Time model

# of timestamps

INSTANS

triple

Implicit

0

C-SPARQL

triple

Point in time

1

SPARQLstream

triple

Point in time

1

CQELS

triple

Point in time

1

Sparkwave

triple

Point in time

1

Streaming Linked Data

RDF graph

Point in time

1

ETALIS

•

Data item

triple

Interval

2

More investigation is required to agree on an RDF stream model
17
Heterogeneity #2: RDF Stream processors

<<Texto libre: proyecto, speaker, etc.>>

18
Existing RDF Stream Processing systems
• C-SPARQL: RDF Store + Stream processor
• Combined architecture
C-SPARQL
query

sta

translator

tic

stre

amin

RDF Store

g

Stream
processor

continuous
results

• CQELS: Implemented from scratch. Focus on performance
• Native + adaptive joins for static-data and streaming data
CQELS
query

Native RSP

continuous
results

• CQELS-Cloud: Reusing Storm
• Paper presentation on Thursday
CQELS
query

Storm
topology

continuous
results
Existing RSP systems
• EP-SPARQL: Complex-event detection
• SEQ, EQUALS operators
EP-SPARQL
query

translator

Prolog
engine

continuous
results

• SPARQLStream: Ontology-based stream query
answering
• Virtual RDF views, using R2RML mappings
• SPARQL stream queries over the original data streams.
SPARQLStream
query

rewriter

DSMS/CEP

R2RML mappings

• Instans: RETE-based evaluation

continuous
results
Query languages for semantic streams - Summary

• Different architectural choices
• It is not clear when each choice is best for which type of use
case
• Wrappers over existing systems
• C-SPARQL, ETALIS, SPARQLstream , CQELS-Cloud
• Better reliability and maintainability?
• Native implementations
• CQELS, Streaming Linked Data, INSTANS
• Better scalability: optimizations that are not possible
in other systems

• Different operational semantics
• See later

21
Heterogeneity #3: Querying RDF Streams

<<Texto libre: proyecto, speaker, etc.>>

22
Querying data streams (from CQL to SPARQL-X)
stream-to-relation (S2R)

Relation
s

Streams
infinite
unbounded
bag

…
<s,τ>
…

relation-to-relation (R2R)

relation-to-stream (R2S)

Stream

<s1>
<s2>
<s3>

finite
bag

Relati on R(t)

Mapping: T  R

S2R Window operators

RDF
Streams

SPARQL operators

RDF

R2S operators
Output: relation
• Case 1: the output is a set of timestamped mappings
a … ?b… [t1]
a … ?b…

SELECT ?a ?b …
FROM ….
WHERE ….

queries

CONSTRUCT {?a :prop ?b }
FROM ….
WHERE ….

a … ?b… [t3]
a … ?b… [t5]

RS
P

a … ?b… [t7]

bindings
 <… :prop … > [t1]
 <… :prop … >
 <… :prop … > [t3]
 <… :prop … > [t5]
 <… :prop … > [t7]

triples
Output: stream
• Case 2: the output is a stream
• R2S operators
CONSTRUCT RSTREAM {?a :prop ?b }
FROM ….
WHERE ….

query

RS
P

stream
… 
<… :prop … > [t1]
 <… :prop … > [t1]
<… :prop … > [t3]
<… :prop … > [t5]
< …:prop … > [t7]
…



ISTREAM: stream out data in the last step that wasn’t on the previous step



DSTREAM: stream out data in the previous step that isn’t in the last step



RSTREAM: stream out all data in the last step
Other operators
• Sequence operators and CEP world
e4

S

e1

e2

e3

1

3

6

Sequence

9

Simultaneous

 SEQ: joins eti,tf and e’ti’,tf’ if e’ occurs after e
 EQUALS: joins eti,tf and e’ti’,tf’ if they occur simultaneously
 OPTIONALSEQ, OPTIONALEQUALS: Optional join variants
Query languages for semantic streams - Summary
•

Comparison between existing approaches

System

S2R

R2R

Time-aware

R2S

INSTANS

Based on
time events

SPARQL
update

Based on time events

Ins only

C-SPARQL
Engine

Logical and
triple-based

SPARQL 1.1
query

timestamp function

Batch only

SPARQLstream

Logical and
triple-based

SPARQL 1.1
query

no

Ins, batch,
del

CQELS

Logical and
triple-based

SPARQL 1.1
query

no

Ins only

Sparkwave

Logical

SPARQL 1.0

no

Ins only

Streaming Linked
Data

Logical and
graph-based

SPARQL 1.1

no

Batch only

ETALIS

no

SPARQL 1.0

• Is it time to converge on a
27

SEQ, PAR, AND, OR,
DURING, STARTS,
standard? NOT,
EQUALS,
MEETS, FINISHES

Ins only
Query languages for semantic streams - Issues

• Different syntax for S2R operator
• Semantics of query languages is similar, but not
identical
• Lack of R2S operator in some cases
• Different support for time-aware operators

28
Classification of existing systems
Heterogeneity #4: Operational Semantics

<<Texto libre: proyecto, speaker, etc.>>

30
Operational Semantics

Where are both alice and bob in the last 5s?
hall
:hall
sIn :
:i
isIn
e
:
:alic
:bob

S

e
:alic

hen
:kitc
:isIn

S1

S2

S3

S4

1

3

6

:bob

hen
:kitc
:isIn

9

System 1:
System 2:

:hall [5]
:hall [3]

t

:kitchen [10]
:kitchen [9]

Both correct?
ISWC 2013 evaluation track for "On Correctness in RDF stream
processor benchmarking" by Daniele Dell’Aglio, Jean-Paul
Calbimonte, Marco Balduini, Oscar Corcho and Emanuele Della Valle
Conclusions…

<<Texto libre: proyecto, speaker, etc.>>

32
Next steps in the community group…
• Agree on an RDF model?
•
•
•
•

Metamodel?
Timestamps in graphs?
Timestamp intervals
Compatibility with normal (static) RDF

• Additional operators for SPARQL?
• Windows (not only time based?)
• CEP operators
• Semantics

• Go Web
• Volatile URIs
• Serialization: terse, compact
• Protocols: HTTP, Websockets?
On the need for a W3C
community group on RDF
Stream Processing
ISWC2013 Workshop on Ordering and Reasoning,
Sydney, 22/10/2013

Oscar Corcho
ocorcho@fi.upm.es, ocorcho@localidata.com
@ocorcho
http://www.slideshare.net/ocorcho/

More Related Content

PPTX
TripleWave: Spreading RDF Streams on the Web
PPTX
RDF Stream Processing: Let's React
PPTX
RDF Stream Processing Tutorial: RSP implementations
PDF
Summary of the Stream Reasoning workshop at ISWC 2016
PPTX
Connecting Stream Reasoners on the Web
PDF
Triplewave: a step towards RDF Stream Processing on the Web
PDF
RSP4J: An API for RDF Stream Processing
PPT
On the need for a W3C community group on RDF Stream Processing
TripleWave: Spreading RDF Streams on the Web
RDF Stream Processing: Let's React
RDF Stream Processing Tutorial: RSP implementations
Summary of the Stream Reasoning workshop at ISWC 2016
Connecting Stream Reasoners on the Web
Triplewave: a step towards RDF Stream Processing on the Web
RSP4J: An API for RDF Stream Processing
On the need for a W3C community group on RDF Stream Processing

What's hot (20)

PDF
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
PDF
A Hierarchical approach towards Efficient and Expressive Stream Reasoning
PDF
RSP-QL*: Querying Data-Level Annotations in RDF Streams
PPTX
RDF-Gen: Generating RDF from streaming and archival data
PPTX
LD4KD 2015 - Demos and tools
PPTX
Information-Rich Programming in F# with Semantic Data
PDF
Introduction to SparkR
PDF
Introduction into scalable graph analysis with Apache Giraph and Spark GraphX
PDF
Introduction to Spark R with R studio - Mr. Pragith
PDF
EKAW - Triple Pattern Fragments
PPT
LarKC Tutorial at ISWC 2009 - Data Model
PPTX
First impressions of SparkR: our own machine learning algorithm
PDF
LDQL: A Query Language for the Web of Linked Data
PDF
Building real time data-driven products
PPTX
Efficient RDF Interchange (ERI) Format for RDF Data Streams
PDF
Big Data, Mob Scale.
PDF
Overview of the SPARQL-Generate language and latest developments
PDF
Incorporating Functions in Mappings to Facilitate the Uplift of CSV Files int...
PDF
Data Infrastructure for a World of Music
PPTX
Timbuctoo 2 EASY
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
A Hierarchical approach towards Efficient and Expressive Stream Reasoning
RSP-QL*: Querying Data-Level Annotations in RDF Streams
RDF-Gen: Generating RDF from streaming and archival data
LD4KD 2015 - Demos and tools
Information-Rich Programming in F# with Semantic Data
Introduction to SparkR
Introduction into scalable graph analysis with Apache Giraph and Spark GraphX
Introduction to Spark R with R studio - Mr. Pragith
EKAW - Triple Pattern Fragments
LarKC Tutorial at ISWC 2009 - Data Model
First impressions of SparkR: our own machine learning algorithm
LDQL: A Query Language for the Web of Linked Data
Building real time data-driven products
Efficient RDF Interchange (ERI) Format for RDF Data Streams
Big Data, Mob Scale.
Overview of the SPARQL-Generate language and latest developments
Incorporating Functions in Mappings to Facilitate the Uplift of CSV Files int...
Data Infrastructure for a World of Music
Timbuctoo 2 EASY
Ad

Similar to OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Processing (20)

PPTX
RDF Stream Processing and the role of Semantics
PDF
RDF Stream Processing Models (SR4LD2013)
PDF
On the need for applications aware adaptive middleware in real-time RDF data ...
PDF
Towards efficient processing of RDF data streams
PDF
Towards efficient processing of RDF data streams
PPTX
On correctness in RDF stream processor benchmarking
PPT
Stream Reasoning : Where We Got So Far
PDF
On web stream processing
PDF
Toward Semantic Data Stream - Technologies and Applications
PDF
A Hands On Overview Of The Semantic Web
PDF
Streaming Day - an overview of Stream Reasoning
PPT
A hands on overview of the semantic web
PDF
RDF Stream Processing Models (RSP2014)
PPT
PDF
On Unified Stream Reasoning - The RDF Stream Processing realm
PPTX
Stream Reasoning: a summary of ten years of research and a vision for the nex...
PDF
On a web of data streams
PPT
Stream Reasoning: Where we got so far. Oxford 2010.1.18
PPTX
Enabling semantic integration
PDF
Reasoning with Big Knowledge Graphs: Choices, Pitfalls and Proven Recipes
RDF Stream Processing and the role of Semantics
RDF Stream Processing Models (SR4LD2013)
On the need for applications aware adaptive middleware in real-time RDF data ...
Towards efficient processing of RDF data streams
Towards efficient processing of RDF data streams
On correctness in RDF stream processor benchmarking
Stream Reasoning : Where We Got So Far
On web stream processing
Toward Semantic Data Stream - Technologies and Applications
A Hands On Overview Of The Semantic Web
Streaming Day - an overview of Stream Reasoning
A hands on overview of the semantic web
RDF Stream Processing Models (RSP2014)
On Unified Stream Reasoning - The RDF Stream Processing realm
Stream Reasoning: a summary of ten years of research and a vision for the nex...
On a web of data streams
Stream Reasoning: Where we got so far. Oxford 2010.1.18
Enabling semantic integration
Reasoning with Big Knowledge Graphs: Choices, Pitfalls and Proven Recipes
Ad

More from Oscar Corcho (20)

PPTX
Organisational Interoperability in Practice at Universidad Politécnica de Madrid
PPTX
Introducción a los Datos Abiertos - Open Data Day 2020
PPTX
Open Data (and Software, and other Research Artefacts) - A proper management
PDF
Adiós a los ficheros, hola a los grafos de conocimientos estadísticos
PPTX
Ontology Engineering at Scale for Open City Data Sharing
PPTX
Situación de las iniciativas de Open Data internacionales (y algunas recomen...
PPTX
STARS4ALL - Contaminación Lumínica
PPTX
Towards Reproducible Science: a few building blocks from my personal experience
PPTX
Publishing Linked Statistical Data: Aragón, a case study
PPTX
An initial analysis of topic-based similarity among scientific documents base...
PPTX
Linked Statistical Data 101
PPTX
Aplicando los principios de Linked Data en AEMET
PPTX
Ojo Al Data 100 - Call for sharing session at IODC 2016
PPTX
Educando sobre datos abiertos: desde el colegio a la universidad
PPTX
STARS4ALL general presentation at ALAN2016
PPTX
Generación de datos estadísticos enlazados del Instituto Aragonés de Estadística
PPTX
Presentación de la red de excelencia de Open Data y Smart Cities
PPTX
Why do they call it Linked Data when they want to say...?
PPTX
Linked Statistical Data: does it actually pay off?
PPTX
Slow-cooked data and APIs in the world of Big Data: the view from a city per...
Organisational Interoperability in Practice at Universidad Politécnica de Madrid
Introducción a los Datos Abiertos - Open Data Day 2020
Open Data (and Software, and other Research Artefacts) - A proper management
Adiós a los ficheros, hola a los grafos de conocimientos estadísticos
Ontology Engineering at Scale for Open City Data Sharing
Situación de las iniciativas de Open Data internacionales (y algunas recomen...
STARS4ALL - Contaminación Lumínica
Towards Reproducible Science: a few building blocks from my personal experience
Publishing Linked Statistical Data: Aragón, a case study
An initial analysis of topic-based similarity among scientific documents base...
Linked Statistical Data 101
Aplicando los principios de Linked Data en AEMET
Ojo Al Data 100 - Call for sharing session at IODC 2016
Educando sobre datos abiertos: desde el colegio a la universidad
STARS4ALL general presentation at ALAN2016
Generación de datos estadísticos enlazados del Instituto Aragonés de Estadística
Presentación de la red de excelencia de Open Data y Smart Cities
Why do they call it Linked Data when they want to say...?
Linked Statistical Data: does it actually pay off?
Slow-cooked data and APIs in the world of Big Data: the view from a city per...

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Machine Learning_overview_presentation.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
Teaching material agriculture food technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation theory and applications.pdf
PDF
August Patch Tuesday
PDF
Approach and Philosophy of On baking technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Empathic Computing: Creating Shared Understanding
Reach Out and Touch Someone: Haptics and Empathic Computing
Per capita expenditure prediction using model stacking based on satellite ima...
Heart disease approach using modified random forest and particle swarm optimi...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
TLE Review Electricity (Electricity).pptx
Getting Started with Data Integration: FME Form 101
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Machine Learning_overview_presentation.pptx
Network Security Unit 5.pdf for BCA BBA.
Teaching material agriculture food technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation theory and applications.pdf
August Patch Tuesday
Approach and Philosophy of On baking technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
A Presentation on Artificial Intelligence
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
cloud_computing_Infrastucture_as_cloud_p
Digital-Transformation-Roadmap-for-Companies.pptx

OrdRing 2013 keynote - On the need for a W3C community group on RDF Stream Processing

  • 1. On the need for a W3C community group on RDF Stream Processing ISWC2013 Workshop on Ordering and Reasoning, Sydney, 22/10/2013 Oscar Corcho [email protected], [email protected] @ocorcho http://www.slideshare.net/ocorcho/
  • 2. Disclaimer… This presentation expresses my view but not necessarily the one from the rest of the group (although I hope that it is similar) <<Texto libre: proyecto, speaker, etc.>> 2
  • 3. Acknowledgements • All those that I have “stolen” slides, material and ideas from • • • • • Emanuele Della Valle Daniele Dell’Aglio Marco Balduini Jean Paul Calbimonte And many others who have already started contributing… <<Texto libre: proyecto, speaker, etc.>> 3
  • 4. Why setting up a community group? In RDF Stream models (timestamps, events, time intervals, triple-based, graph-based …) In RDF Stream query languages (windows, stream selection, CEP-based operators, …) Heterogeneity In implementations (RDF native, query rewriting, continuous query registration, scalability, static vs streaming data…) <<Texto libre: proyecto, speaker, etc.>> 4 In operational semantics (tick, window content, report)
  • 5. You may think that we do not like heterogeneity… <<Texto libre: proyecto, speaker, etc.>> 5
  • 6. But at least I love it… • However, we need to tell people what to expect with each system, and smooth differences when they are not crucial…… <<Texto libre: proyecto, speaker, etc.>> 6
  • 7. The solution… • Let’s create a W3C community group… • • • • • To understand better those differences The requirements on which we are based And explain to others … And maybe get some “recommendation” out <<Texto libre: proyecto, speaker, etc.>> 7
  • 8. The W3C RDF Stream Processing Comm. Group • http://www.w3.org/community/rsp/ <<Texto libre: proyecto, speaker, etc.>> 8
  • 9. W3C RSP Community Group mission “The mission of the RDF Stream Processing Community Group (RSP) is to define a common model for producing, transmitting and continuously querying RDF Streams. This includes extensions to both RDF and SPARQL for representing streaming data, as well as their semantics. Moreover this work envisions an ecosystem of streaming and static RDF data sources whose data can be combined through standard models, languages and protocols. Complementary to related work in the area of databases, this Community Group looks at the dynamic properties of graph-based data, i.e., graphs that are produced over time and which may change their shape and data over time.” <<Texto libre: proyecto, speaker, etc.>> 9
  • 10. Use cases • We have started collecting them • And I hope that by the end of my talk you will consider contributing some more… <<Texto libre: proyecto, speaker, etc.>> 10
  • 11. A template to describe use cases (I) • Streaming Information • • • • • • Type: Environmental data: temperatures, pressures, salinity, acidity, fluid velocities etc, Nature: • Relational Stream: yes • Text stream: no Origin: Data is produced by sensors in oil wells and on oil and gas platforms equipments. Each oil platform has an average of 400.000. Frequency of update: • from sub-second to minutes • In triples/minute: [10000-10] t/min Quality: It varies, due to instrument/sensor issues Management /access • Technology in use: Dedicated (relational and proprietary) stores • Problems: The ability of users to access data from different sources is limited by an insufficient description of the context • Means of improvement: Add context (metadata) to the data so it become meaningful and use reasoning techniques to process that metadata <<Texto libre: proyecto, speaker, etc.>> 11
  • 12. A template to describe use cases (II) • [optional] Static Information required to interpret the streaming information • • • • • Type: Topology of the sensor network, position of each sensor, the descriptions of the oil platform Origin: Oil and gas production operations Dimension: • 100s of MB as PostGIS dump • In triples: 10^8 Quality: Good Management / access • Technology in use: RDBMS, proprietary technologies • Available Ontologies and Vocabularies: Reference Semantic Model (RSM), based on ISO 15926 <<Texto libre: proyecto, speaker, etc.>> 12
  • 13. A tale of four heterogeneities ISWC2013 Workshop on Ordering and Reasoning, Sydney, 22/10/2013 Oscar Corcho [email protected], [email protected] @ocorcho http://www.slideshare.net/ocorcho/
  • 14. Heterogeneity #1: Representing RDF Streams <<Texto libre: proyecto, speaker, etc.>> 14
  • 15. What is an RDF stream? • Several possibilities: • An RDF stream is an infinite sequence of timestamped events (triples or graphs), where timestamps are nondecreasing … <eventi,ti > <eventi+1,ti+1 > <eventi+2,ti+2 > … • An RDF stream is an infinite sequence of triple occurrences <<s,p,o>,tα,tω> where <s,p,o> is an RDF triple and tα and tω are the start and end of the interval • How are timestamps assigned?
  • 16. Some examples… • What would be the best/possible RDF stream representation for the following types of problems? • Does Alice meet Bob before Carl? • Who does Carl meet first? :alice :isWith :bob :alice :isWith :carl e1 :diana :isWith :carl :bob :isWith :diana e2 e3 e4 • How many people has Alice met in the last 5m? • Does Diana meet Bob and then Carl within 5m? 1 3 6 9 t • Which are the meetings the last less than 5m? • Which are the meetings with conflicts? :alice :isWith :bob :alice :isWith :carl :bob :isWith :diana :diana :isWith :carl e4 e2 e1 <<Texto libre: proyecto, speaker, etc.>> e3 16
  • 17. Data types for semantic streams - Summary • Multiple notions of RDF stream proposed • Ordered sequence (implicit timestamp) • One timestamp per triple (point in time semantics) • Two timestamps per triple (interval base semantics) • Comparison between existing approaches System Time model # of timestamps INSTANS triple Implicit 0 C-SPARQL triple Point in time 1 SPARQLstream triple Point in time 1 CQELS triple Point in time 1 Sparkwave triple Point in time 1 Streaming Linked Data RDF graph Point in time 1 ETALIS • Data item triple Interval 2 More investigation is required to agree on an RDF stream model 17
  • 18. Heterogeneity #2: RDF Stream processors <<Texto libre: proyecto, speaker, etc.>> 18
  • 19. Existing RDF Stream Processing systems • C-SPARQL: RDF Store + Stream processor • Combined architecture C-SPARQL query sta translator tic stre amin RDF Store g Stream processor continuous results • CQELS: Implemented from scratch. Focus on performance • Native + adaptive joins for static-data and streaming data CQELS query Native RSP continuous results • CQELS-Cloud: Reusing Storm • Paper presentation on Thursday CQELS query Storm topology continuous results
  • 20. Existing RSP systems • EP-SPARQL: Complex-event detection • SEQ, EQUALS operators EP-SPARQL query translator Prolog engine continuous results • SPARQLStream: Ontology-based stream query answering • Virtual RDF views, using R2RML mappings • SPARQL stream queries over the original data streams. SPARQLStream query rewriter DSMS/CEP R2RML mappings • Instans: RETE-based evaluation continuous results
  • 21. Query languages for semantic streams - Summary • Different architectural choices • It is not clear when each choice is best for which type of use case • Wrappers over existing systems • C-SPARQL, ETALIS, SPARQLstream , CQELS-Cloud • Better reliability and maintainability? • Native implementations • CQELS, Streaming Linked Data, INSTANS • Better scalability: optimizations that are not possible in other systems • Different operational semantics • See later 21
  • 22. Heterogeneity #3: Querying RDF Streams <<Texto libre: proyecto, speaker, etc.>> 22
  • 23. Querying data streams (from CQL to SPARQL-X) stream-to-relation (S2R) Relation s Streams infinite unbounded bag … <s,τ> … relation-to-relation (R2R) relation-to-stream (R2S) Stream <s1> <s2> <s3> finite bag Relati on R(t) Mapping: T  R S2R Window operators RDF Streams SPARQL operators RDF R2S operators
  • 24. Output: relation • Case 1: the output is a set of timestamped mappings a … ?b… [t1] a … ?b… SELECT ?a ?b … FROM …. WHERE …. queries CONSTRUCT {?a :prop ?b } FROM …. WHERE …. a … ?b… [t3] a … ?b… [t5] RS P a … ?b… [t7] bindings  <… :prop … > [t1]  <… :prop … >  <… :prop … > [t3]  <… :prop … > [t5]  <… :prop … > [t7] triples
  • 25. Output: stream • Case 2: the output is a stream • R2S operators CONSTRUCT RSTREAM {?a :prop ?b } FROM …. WHERE …. query RS P stream …  <… :prop … > [t1]  <… :prop … > [t1] <… :prop … > [t3] <… :prop … > [t5] < …:prop … > [t7] …  ISTREAM: stream out data in the last step that wasn’t on the previous step  DSTREAM: stream out data in the previous step that isn’t in the last step  RSTREAM: stream out all data in the last step
  • 26. Other operators • Sequence operators and CEP world e4 S e1 e2 e3 1 3 6 Sequence 9 Simultaneous  SEQ: joins eti,tf and e’ti’,tf’ if e’ occurs after e  EQUALS: joins eti,tf and e’ti’,tf’ if they occur simultaneously  OPTIONALSEQ, OPTIONALEQUALS: Optional join variants
  • 27. Query languages for semantic streams - Summary • Comparison between existing approaches System S2R R2R Time-aware R2S INSTANS Based on time events SPARQL update Based on time events Ins only C-SPARQL Engine Logical and triple-based SPARQL 1.1 query timestamp function Batch only SPARQLstream Logical and triple-based SPARQL 1.1 query no Ins, batch, del CQELS Logical and triple-based SPARQL 1.1 query no Ins only Sparkwave Logical SPARQL 1.0 no Ins only Streaming Linked Data Logical and graph-based SPARQL 1.1 no Batch only ETALIS no SPARQL 1.0 • Is it time to converge on a 27 SEQ, PAR, AND, OR, DURING, STARTS, standard? NOT, EQUALS, MEETS, FINISHES Ins only
  • 28. Query languages for semantic streams - Issues • Different syntax for S2R operator • Semantics of query languages is similar, but not identical • Lack of R2S operator in some cases • Different support for time-aware operators 28
  • 30. Heterogeneity #4: Operational Semantics <<Texto libre: proyecto, speaker, etc.>> 30
  • 31. Operational Semantics Where are both alice and bob in the last 5s? hall :hall sIn : :i isIn e : :alic :bob S e :alic hen :kitc :isIn S1 S2 S3 S4 1 3 6 :bob hen :kitc :isIn 9 System 1: System 2: :hall [5] :hall [3] t :kitchen [10] :kitchen [9] Both correct? ISWC 2013 evaluation track for "On Correctness in RDF stream processor benchmarking" by Daniele Dell’Aglio, Jean-Paul Calbimonte, Marco Balduini, Oscar Corcho and Emanuele Della Valle
  • 33. Next steps in the community group… • Agree on an RDF model? • • • • Metamodel? Timestamps in graphs? Timestamp intervals Compatibility with normal (static) RDF • Additional operators for SPARQL? • Windows (not only time based?) • CEP operators • Semantics • Go Web • Volatile URIs • Serialization: terse, compact • Protocols: HTTP, Websockets?
  • 34. On the need for a W3C community group on RDF Stream Processing ISWC2013 Workshop on Ordering and Reasoning, Sydney, 22/10/2013 Oscar Corcho [email protected], [email protected] @ocorcho http://www.slideshare.net/ocorcho/

Editor's Notes