SlideShare a Scribd company logo
1 of 24
TRIPLEWAVE: SPREADING
RDF STREAMS ON THE WEB
Andrea Mauri, Jean-Paul Calbimonte, Daniele
Dell’Aglio, Marco Balduini, Marco Brambilla,
Emanuele Della Valle, Karl Aberer
TripleWave is an open-source
framework for creating and publishing
RDF streams over the Web.
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 2
Why
• Streams are getting a momentum
• Standard protocols and exchanging mechanisms
for RDF stream are missing.
• We need generic and flexible solutions for making
RDF streams available on the Web.
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 3
What: Input
TripleWave should support a variety of
data sources.
• Streams available on the Web
• RDF dumps with temporal information
• RDF with temporal information exposed through SPARQL
endpoints
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 4
What: Output
TripleWave should exploit and be compatible
to existing standards and recommendations
• The output format compatible with RDF
TripleWave must be able to provide the
stream to processing engine through the
Web.
• HTTP
• HTTP chunk
• Web sockets
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 5
What: Interaction with RSP
TripleWave should be able to interact with
RSP Services, that use continuous
execution model
• The metadata and the schema of the data should be
separated from the stream itself.
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 6
How: Architecture
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 7
Replay
Conversion to
RDF Stream
Triple
Wave
R2RML
Mappings
Live Non-RDF Streams
JSON
RDF
Time-annotated
RDF datasets
Live RDF Stream
Client
Finite RDF
substreams
Streaming
Linked Data
Replay Loop
How: From RDF to RDF streams
• Converts …
• RDF stored in files/SPARQL endpoints
• Containing some time information
• … into an RDF stream
• continuous flow of RDF data
• ordered according the original timestamps
• the time between two items is preserved
• Use Cases
• Evaluation, testing and benchmarking
• Simulation systems
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 8
How: From Web stream to RDF stream
• Consumes ...
• An existing Web stream through connectors
• And converts it into an RDF Stream
• Each data item is lifted to RDF
• Use Cases
• Querying and reasoning
• Data integration
Web
Service
Connector TW Core
Web Service API
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 9
Convertions is made through R2RML
• Mappings to convert each data item in RDF
Example: map a field
{
“userUrl”:”foo”
}
rr:predicateObjectMap [
rr:predicate schema:agent;
rr:objectMap [ rr:column "userUrl"] ];
{
"https://schema.org/agent": {"@id": ”foo"},
}
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 10
How: From Web stream to RDF stream
Convertions is made through R2RML
• Mappings to convert each data item in RDF
Example: map a field with template
{
“time”:”value”
}
rr:subjectMap [
rr:template ”something {time}”
{
“@id”:”something value”
}
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 11
How: From Web stream to RDF stream
Convertions is made through R2RML
• Mappings to convert each data item in RDF
Example:
• Add a new constant field
rr:predicateObjectMap
[ rr:predicate rdf:type; rr:objectMap
[ rr:constant schema:UpdateAction]];
{
"http://www.w3.org/1999/02/22-rdf-syntax-ns#type":
{"@id": "https://schema.org/UpdateAction"}
}
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 12
How: From Web stream to RDF stream
Implementation
TripleWave is a NodeJS Web Application
NodeJS is a JavaScript runtime built on Chrome's V8
JavaScript engine.
TripleWave is released with a Apache 2.0 License and the
source code is hosted on github at:
• https://github.com/streamreasoning/TripleWave
• It’s maintained by the Stream Reasoning Initiative
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 13
TripleWave Real* Architecture
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 14
Web API
Transform
Stream
Graph
Stream
Connector
Stream
Datagen
Stream
Scheduler
Stream
Web
Service
SPARQL
Endpoint
File
R2RML
Mapping
Conversion
Replay
Replay loop
Consuming TripleWave RDF Stream
TripleWave publish the stream with both pull and
push mechanism.
• The pull method follows the Linked Data
principles
• The push method exploit a RSP service
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 15
Consuming TripleWave RDF Stream -
Pull
TripleWave distinguish two type of named graph:
• Stream Graph (sGraph): describes the stream
• Instantaneous Graph (iGraph): represents the single
stream element
Furthermore is possible to access directly to the stream
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 16
Consuming TripleWave RDF Stream -
sGraph
The sGraph contains metadata about the graph,
e.g.,
• The identifier of the stream
• Data item samples (see next slide)
• A description of the schema
• The location of the stream endpoint
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 17
Consuming TripleWave RDF Stream -
iGraph
The iGraph
• embeds an item of an RDF stream
• is annotated with temporal information
• Creation time
• Extendible to other time annotations
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 18
Consuming TripleWave RDF Stream -
Example
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 19
The TripleWave stream can be consumed via push by extending
the RSP service framework1
1https://github.com/streamreasoning/rsp-services
Consuming TripleWave RDF Stream -
Push
TripleWave
RSP-
Service
Client
Register the stream
Register the query and the observer
Evaluate the query
Sends the result
Connect to the
stream
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 20
Show cases
Three demos have been developed to show the
capabilities of the system.
• Wikipedia changes stream conversion.
• http://131.175.141.249/TripleWave-transform/sgraph
• Endlessly replay as a stream the Linked Sensor Data
dataset.
• http://131.175.141.249/TripleWave-endless/sgraph
• Endlessly replay as a stream the LDBC social graph
dataset.
• http://131.175.141.249/TripleWave-ldbc/sgraph
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 21
Show cases (2)
A fourth demo was shown at the Tutorial on RDF-Stream
Processing Tutorial.
http://tinyurl.com/csparqlgui
• This demo allows you to:
• Register the TripleWave stream to C-SPARQL (you need to change
the url of the stream in the my.js file)
• Register a query
• Look at results
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 22
Conclusion
• TripleWave is an open-source framework
for publishing and sharing RDF streams on
the Web.
• It fills an important gap in the RDF stream reasoning.
• It covers a set of crucial requirements for both the
stream reasoning and the semantic Web community.
• We think it will help spreading the adoption of RDF for
streaming data scenarios and applications
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 23
Thank you for the attention
Andrea Mauri
andrea.mauri@polimi.it
https://github.com/streamreasoning/TripleWave
ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 24

More Related Content

What's hot

Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016Daniele Dell'Aglio
 
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP EnginesHeaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP EnginesRiccardo Tommasini
 
A Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream ReasoningA Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream ReasoningRiccardo Tommasini
 
Linked Data Notifications for RDF Streams
Linked Data Notifications for RDF StreamsLinked Data Notifications for RDF Streams
Linked Data Notifications for RDF StreamsJean-Paul Calbimonte
 
On the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream ProcessingOn the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream ProcessingPlanetData Network of Excellence
 
RSP-QL*: Querying Data-Level Annotations in RDF Streams
RSP-QL*: Querying Data-Level Annotations in RDF StreamsRSP-QL*: Querying Data-Level Annotations in RDF Streams
RSP-QL*: Querying Data-Level Annotations in RDF Streamskeski
 
Towards efficient processing of RDF data streams
Towards efficient processing of RDF data streamsTowards efficient processing of RDF data streams
Towards efficient processing of RDF data streamsAlejandro Llaves
 
Streaming Day - an overview of Stream Reasoning
Streaming Day - an overview of Stream ReasoningStreaming Day - an overview of Stream Reasoning
Streaming Day - an overview of Stream ReasoningRiccardo Tommasini
 
RDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival dataRDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival dataGiorgos Santipantakis
 
Building real time data-driven products
Building real time data-driven productsBuilding real time data-driven products
Building real time data-driven productsLars Albertsson
 
EKAW - Triple Pattern Fragments
EKAW - Triple Pattern FragmentsEKAW - Triple Pattern Fragments
EKAW - Triple Pattern FragmentsRuben Taelman
 
LarKC Tutorial at ISWC 2009 - Data Model
LarKC Tutorial at ISWC 2009 - Data ModelLarKC Tutorial at ISWC 2009 - Data Model
LarKC Tutorial at ISWC 2009 - Data ModelLarKC
 
Managing and Consuming Completeness Information for Wikidata Using COOL-WD
Managing and Consuming Completeness Information for Wikidata Using COOL-WDManaging and Consuming Completeness Information for Wikidata Using COOL-WD
Managing and Consuming Completeness Information for Wikidata Using COOL-WDFariz Darari
 
Introduction into scalable graph analysis with Apache Giraph and Spark GraphX
Introduction into scalable graph analysis with Apache Giraph and Spark GraphXIntroduction into scalable graph analysis with Apache Giraph and Spark GraphX
Introduction into scalable graph analysis with Apache Giraph and Spark GraphXrhatr
 
Test strategies for data processing pipelines
Test strategies for data processing pipelinesTest strategies for data processing pipelines
Test strategies for data processing pipelinesLars Albertsson
 
LDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked DataLDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked DataOlaf Hartig
 
Big Data, Mob Scale.
Big Data, Mob Scale.Big Data, Mob Scale.
Big Data, Mob Scale.darach
 
A primer on building real time data-driven products
A primer on building real time data-driven productsA primer on building real time data-driven products
A primer on building real time data-driven productsLars Albertsson
 

What's hot (19)

Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016Summary of the Stream Reasoning workshop at ISWC 2016
Summary of the Stream Reasoning workshop at ISWC 2016
 
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP EnginesHeaven: A Framework for Systematic Comparative Research Approach for RSP Engines
Heaven: A Framework for Systematic Comparative Research Approach for RSP Engines
 
A Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream ReasoningA Hierarchical approach towards Efficient and Expressive Stream Reasoning
A Hierarchical approach towards Efficient and Expressive Stream Reasoning
 
Linked Data Notifications for RDF Streams
Linked Data Notifications for RDF StreamsLinked Data Notifications for RDF Streams
Linked Data Notifications for RDF Streams
 
On the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream ProcessingOn the need for a W3C community group on RDF Stream Processing
On the need for a W3C community group on RDF Stream Processing
 
RSP-QL*: Querying Data-Level Annotations in RDF Streams
RSP-QL*: Querying Data-Level Annotations in RDF StreamsRSP-QL*: Querying Data-Level Annotations in RDF Streams
RSP-QL*: Querying Data-Level Annotations in RDF Streams
 
Towards efficient processing of RDF data streams
Towards efficient processing of RDF data streamsTowards efficient processing of RDF data streams
Towards efficient processing of RDF data streams
 
Streaming Day - an overview of Stream Reasoning
Streaming Day - an overview of Stream ReasoningStreaming Day - an overview of Stream Reasoning
Streaming Day - an overview of Stream Reasoning
 
RDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival dataRDF-Gen: Generating RDF from streaming and archival data
RDF-Gen: Generating RDF from streaming and archival data
 
LD4KD 2015 - Demos and tools
LD4KD 2015 - Demos and toolsLD4KD 2015 - Demos and tools
LD4KD 2015 - Demos and tools
 
Building real time data-driven products
Building real time data-driven productsBuilding real time data-driven products
Building real time data-driven products
 
EKAW - Triple Pattern Fragments
EKAW - Triple Pattern FragmentsEKAW - Triple Pattern Fragments
EKAW - Triple Pattern Fragments
 
LarKC Tutorial at ISWC 2009 - Data Model
LarKC Tutorial at ISWC 2009 - Data ModelLarKC Tutorial at ISWC 2009 - Data Model
LarKC Tutorial at ISWC 2009 - Data Model
 
Managing and Consuming Completeness Information for Wikidata Using COOL-WD
Managing and Consuming Completeness Information for Wikidata Using COOL-WDManaging and Consuming Completeness Information for Wikidata Using COOL-WD
Managing and Consuming Completeness Information for Wikidata Using COOL-WD
 
Introduction into scalable graph analysis with Apache Giraph and Spark GraphX
Introduction into scalable graph analysis with Apache Giraph and Spark GraphXIntroduction into scalable graph analysis with Apache Giraph and Spark GraphX
Introduction into scalable graph analysis with Apache Giraph and Spark GraphX
 
Test strategies for data processing pipelines
Test strategies for data processing pipelinesTest strategies for data processing pipelines
Test strategies for data processing pipelines
 
LDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked DataLDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked Data
 
Big Data, Mob Scale.
Big Data, Mob Scale.Big Data, Mob Scale.
Big Data, Mob Scale.
 
A primer on building real time data-driven products
A primer on building real time data-driven productsA primer on building real time data-driven products
A primer on building real time data-driven products
 

Similar to TripleWave: Spreading RDF Streams on the Web

RDF Database-as-a-Service with S4
RDF Database-as-a-Service with S4RDF Database-as-a-Service with S4
RDF Database-as-a-Service with S4Marin Dimitrov
 
Automatic Query-Centric API for Routine Access to Linked Data
Automatic Query-Centric API for Routine Access to Linked DataAutomatic Query-Centric API for Routine Access to Linked Data
Automatic Query-Centric API for Routine Access to Linked DataAlbert Meroño-Peñuela
 
RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)Daniele Dell'Aglio
 
Linked Media Management with Apache Marmotta
Linked Media Management with Apache MarmottaLinked Media Management with Apache Marmotta
Linked Media Management with Apache MarmottaThomas Kurz
 
Semantic web and Drupal: an introduction
Semantic web and Drupal: an introductionSemantic web and Drupal: an introduction
Semantic web and Drupal: an introductionKristof Van Tomme
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Serverswebhostingguy
 
APAN 50: RPKI industry trends and initiatives
APAN 50: RPKI industry trends and initiatives APAN 50: RPKI industry trends and initiatives
APAN 50: RPKI industry trends and initiatives APNIC
 
RDF Linked Data - Automatic Exchange of BIM Containers
RDF Linked Data - Automatic Exchange of BIM ContainersRDF Linked Data - Automatic Exchange of BIM Containers
RDF Linked Data - Automatic Exchange of BIM ContainersSafe Software
 
GoodRelations Tutorial Part 4
GoodRelations Tutorial Part 4GoodRelations Tutorial Part 4
GoodRelations Tutorial Part 4guestecacad2
 
ISWC GoodRelations Tutorial Part 4
ISWC GoodRelations Tutorial Part 4ISWC GoodRelations Tutorial Part 4
ISWC GoodRelations Tutorial Part 4Martin Hepp
 
Developing CouchApps
Developing CouchAppsDeveloping CouchApps
Developing CouchAppswesthoff
 
RDF Stream Processing Models (RSP2014)
RDF Stream Processing Models (RSP2014)RDF Stream Processing Models (RSP2014)
RDF Stream Processing Models (RSP2014)Daniele Dell'Aglio
 
Apache Any23 - Anything to Triples
Apache Any23 - Anything to TriplesApache Any23 - Anything to Triples
Apache Any23 - Anything to TriplesMichele Mostarda
 
Maximilian Michels - Flink and Beam
Maximilian Michels - Flink and BeamMaximilian Michels - Flink and Beam
Maximilian Michels - Flink and BeamFlink Forward
 

Similar to TripleWave: Spreading RDF Streams on the Web (20)

On web stream processing
On web stream processingOn web stream processing
On web stream processing
 
On a web of data streams
On a web of data streamsOn a web of data streams
On a web of data streams
 
RDF Database-as-a-Service with S4
RDF Database-as-a-Service with S4RDF Database-as-a-Service with S4
RDF Database-as-a-Service with S4
 
RDFauthor (EKAW)
RDFauthor (EKAW)RDFauthor (EKAW)
RDFauthor (EKAW)
 
Automatic Query-Centric API for Routine Access to Linked Data
Automatic Query-Centric API for Routine Access to Linked DataAutomatic Query-Centric API for Routine Access to Linked Data
Automatic Query-Centric API for Routine Access to Linked Data
 
RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)
 
Linked Media Management with Apache Marmotta
Linked Media Management with Apache MarmottaLinked Media Management with Apache Marmotta
Linked Media Management with Apache Marmotta
 
Semantic web and Drupal: an introduction
Semantic web and Drupal: an introductionSemantic web and Drupal: an introduction
Semantic web and Drupal: an introduction
 
Archive integration with RDF
Archive integration with RDFArchive integration with RDF
Archive integration with RDF
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Servers
 
APAN 50: RPKI industry trends and initiatives
APAN 50: RPKI industry trends and initiatives APAN 50: RPKI industry trends and initiatives
APAN 50: RPKI industry trends and initiatives
 
November 19, 2014 NISO Virtual Conference: Can't We All Work Together?: Inter...
November 19, 2014 NISO Virtual Conference: Can't We All Work Together?: Inter...November 19, 2014 NISO Virtual Conference: Can't We All Work Together?: Inter...
November 19, 2014 NISO Virtual Conference: Can't We All Work Together?: Inter...
 
RDF Linked Data - Automatic Exchange of BIM Containers
RDF Linked Data - Automatic Exchange of BIM ContainersRDF Linked Data - Automatic Exchange of BIM Containers
RDF Linked Data - Automatic Exchange of BIM Containers
 
Web Services
Web ServicesWeb Services
Web Services
 
GoodRelations Tutorial Part 4
GoodRelations Tutorial Part 4GoodRelations Tutorial Part 4
GoodRelations Tutorial Part 4
 
ISWC GoodRelations Tutorial Part 4
ISWC GoodRelations Tutorial Part 4ISWC GoodRelations Tutorial Part 4
ISWC GoodRelations Tutorial Part 4
 
Developing CouchApps
Developing CouchAppsDeveloping CouchApps
Developing CouchApps
 
RDF Stream Processing Models (RSP2014)
RDF Stream Processing Models (RSP2014)RDF Stream Processing Models (RSP2014)
RDF Stream Processing Models (RSP2014)
 
Apache Any23 - Anything to Triples
Apache Any23 - Anything to TriplesApache Any23 - Anything to Triples
Apache Any23 - Anything to Triples
 
Maximilian Michels - Flink and Beam
Maximilian Michels - Flink and BeamMaximilian Michels - Flink and Beam
Maximilian Michels - Flink and Beam
 

More from Andrea Mauri

A Big Data Analysis Framework for Model-Based Web User Behavior Analytics
A Big Data Analysis Framework for Model-Based Web User Behavior AnalyticsA Big Data Analysis Framework for Model-Based Web User Behavior Analytics
A Big Data Analysis Framework for Model-Based Web User Behavior AnalyticsAndrea Mauri
 
Model Driven Development of Social Media Environmental Monitoring Applications
Model Driven Development of Social Media Environmental Monitoring ApplicationsModel Driven Development of Social Media Environmental Monitoring Applications
Model Driven Development of Social Media Environmental Monitoring ApplicationsAndrea Mauri
 
Methodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applicationsMethodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applicationsAndrea Mauri
 
An explorative approach for Crowdsourcing tasks design
An explorative approach for Crowdsourcing tasks design �An explorative approach for Crowdsourcing tasks design �
An explorative approach for Crowdsourcing tasks design Andrea Mauri
 
Community Profiling for Crowdsourcing Queries
Community Profiling for Crowdsourcing QueriesCommunity Profiling for Crowdsourcing Queries
Community Profiling for Crowdsourcing QueriesAndrea Mauri
 
Community-based Crowdsourcing
Community-based CrowdsourcingCommunity-based Crowdsourcing
Community-based CrowdsourcingAndrea Mauri
 

More from Andrea Mauri (6)

A Big Data Analysis Framework for Model-Based Web User Behavior Analytics
A Big Data Analysis Framework for Model-Based Web User Behavior AnalyticsA Big Data Analysis Framework for Model-Based Web User Behavior Analytics
A Big Data Analysis Framework for Model-Based Web User Behavior Analytics
 
Model Driven Development of Social Media Environmental Monitoring Applications
Model Driven Development of Social Media Environmental Monitoring ApplicationsModel Driven Development of Social Media Environmental Monitoring Applications
Model Driven Development of Social Media Environmental Monitoring Applications
 
Methodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applicationsMethodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applications
 
An explorative approach for Crowdsourcing tasks design
An explorative approach for Crowdsourcing tasks design �An explorative approach for Crowdsourcing tasks design �
An explorative approach for Crowdsourcing tasks design
 
Community Profiling for Crowdsourcing Queries
Community Profiling for Crowdsourcing QueriesCommunity Profiling for Crowdsourcing Queries
Community Profiling for Crowdsourcing Queries
 
Community-based Crowdsourcing
Community-based CrowdsourcingCommunity-based Crowdsourcing
Community-based Crowdsourcing
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 

TripleWave: Spreading RDF Streams on the Web

  • 1. TRIPLEWAVE: SPREADING RDF STREAMS ON THE WEB Andrea Mauri, Jean-Paul Calbimonte, Daniele Dell’Aglio, Marco Balduini, Marco Brambilla, Emanuele Della Valle, Karl Aberer
  • 2. TripleWave is an open-source framework for creating and publishing RDF streams over the Web. ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 2
  • 3. Why • Streams are getting a momentum • Standard protocols and exchanging mechanisms for RDF stream are missing. • We need generic and flexible solutions for making RDF streams available on the Web. ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 3
  • 4. What: Input TripleWave should support a variety of data sources. • Streams available on the Web • RDF dumps with temporal information • RDF with temporal information exposed through SPARQL endpoints ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 4
  • 5. What: Output TripleWave should exploit and be compatible to existing standards and recommendations • The output format compatible with RDF TripleWave must be able to provide the stream to processing engine through the Web. • HTTP • HTTP chunk • Web sockets ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 5
  • 6. What: Interaction with RSP TripleWave should be able to interact with RSP Services, that use continuous execution model • The metadata and the schema of the data should be separated from the stream itself. ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 6
  • 7. How: Architecture ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 7 Replay Conversion to RDF Stream Triple Wave R2RML Mappings Live Non-RDF Streams JSON RDF Time-annotated RDF datasets Live RDF Stream Client Finite RDF substreams Streaming Linked Data Replay Loop
  • 8. How: From RDF to RDF streams • Converts … • RDF stored in files/SPARQL endpoints • Containing some time information • … into an RDF stream • continuous flow of RDF data • ordered according the original timestamps • the time between two items is preserved • Use Cases • Evaluation, testing and benchmarking • Simulation systems ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 8
  • 9. How: From Web stream to RDF stream • Consumes ... • An existing Web stream through connectors • And converts it into an RDF Stream • Each data item is lifted to RDF • Use Cases • Querying and reasoning • Data integration Web Service Connector TW Core Web Service API ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 9
  • 10. Convertions is made through R2RML • Mappings to convert each data item in RDF Example: map a field { “userUrl”:”foo” } rr:predicateObjectMap [ rr:predicate schema:agent; rr:objectMap [ rr:column "userUrl"] ]; { "https://schema.org/agent": {"@id": ”foo"}, } ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 10 How: From Web stream to RDF stream
  • 11. Convertions is made through R2RML • Mappings to convert each data item in RDF Example: map a field with template { “time”:”value” } rr:subjectMap [ rr:template ”something {time}” { “@id”:”something value” } ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 11 How: From Web stream to RDF stream
  • 12. Convertions is made through R2RML • Mappings to convert each data item in RDF Example: • Add a new constant field rr:predicateObjectMap [ rr:predicate rdf:type; rr:objectMap [ rr:constant schema:UpdateAction]]; { "http://www.w3.org/1999/02/22-rdf-syntax-ns#type": {"@id": "https://schema.org/UpdateAction"} } ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 12 How: From Web stream to RDF stream
  • 13. Implementation TripleWave is a NodeJS Web Application NodeJS is a JavaScript runtime built on Chrome's V8 JavaScript engine. TripleWave is released with a Apache 2.0 License and the source code is hosted on github at: • https://github.com/streamreasoning/TripleWave • It’s maintained by the Stream Reasoning Initiative ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 13
  • 14. TripleWave Real* Architecture ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 14 Web API Transform Stream Graph Stream Connector Stream Datagen Stream Scheduler Stream Web Service SPARQL Endpoint File R2RML Mapping Conversion Replay Replay loop
  • 15. Consuming TripleWave RDF Stream TripleWave publish the stream with both pull and push mechanism. • The pull method follows the Linked Data principles • The push method exploit a RSP service ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 15
  • 16. Consuming TripleWave RDF Stream - Pull TripleWave distinguish two type of named graph: • Stream Graph (sGraph): describes the stream • Instantaneous Graph (iGraph): represents the single stream element Furthermore is possible to access directly to the stream ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 16
  • 17. Consuming TripleWave RDF Stream - sGraph The sGraph contains metadata about the graph, e.g., • The identifier of the stream • Data item samples (see next slide) • A description of the schema • The location of the stream endpoint ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 17
  • 18. Consuming TripleWave RDF Stream - iGraph The iGraph • embeds an item of an RDF stream • is annotated with temporal information • Creation time • Extendible to other time annotations ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 18
  • 19. Consuming TripleWave RDF Stream - Example ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 19
  • 20. The TripleWave stream can be consumed via push by extending the RSP service framework1 1https://github.com/streamreasoning/rsp-services Consuming TripleWave RDF Stream - Push TripleWave RSP- Service Client Register the stream Register the query and the observer Evaluate the query Sends the result Connect to the stream ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 20
  • 21. Show cases Three demos have been developed to show the capabilities of the system. • Wikipedia changes stream conversion. • http://131.175.141.249/TripleWave-transform/sgraph • Endlessly replay as a stream the Linked Sensor Data dataset. • http://131.175.141.249/TripleWave-endless/sgraph • Endlessly replay as a stream the LDBC social graph dataset. • http://131.175.141.249/TripleWave-ldbc/sgraph ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 21
  • 22. Show cases (2) A fourth demo was shown at the Tutorial on RDF-Stream Processing Tutorial. http://tinyurl.com/csparqlgui • This demo allows you to: • Register the TripleWave stream to C-SPARQL (you need to change the url of the stream in the my.js file) • Register a query • Look at results ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 22
  • 23. Conclusion • TripleWave is an open-source framework for publishing and sharing RDF streams on the Web. • It fills an important gap in the RDF stream reasoning. • It covers a set of crucial requirements for both the stream reasoning and the semantic Web community. • We think it will help spreading the adoption of RDF for streaming data scenarios and applications ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 23
  • 24. Thank you for the attention Andrea Mauri andrea.mauri@polimi.it https://github.com/streamreasoning/TripleWave ISWC2016 October, Thursday, 20 TripleWave: Spreading RDF Streams on the Web 24

Editor's Notes

  1. As demonstrated by the high amout of works related to streams in this conference. Limiting the adoption and spread of RSP technologies on the Web. It’s used in very different field such as IoT, etc.. Existing systems such as C-SPARQL [3], CQELS [9] and EP-SPARQL [1] do not tackle directly this problem, but delegate the task of managing the stream publication to the developer
  2. It should provide a conversion mechanism toward RDF In order to decide what to implemetns and which feature select, we first defineda set of requirements) identified from real scenarios and use cases reported in the literature and the W3C RSP group.
  3. MQTT
  4. As we saw Previously in the requirements, TripleWave consider two main types of data sources: (i) Non-RDF live streams on the Web, and (ii) RDF datasets with time-annotations. The former requires a conversion while the latter is focused on streaming RDF data, using the timestamp provided. When performing the transformation to RDF streams, TripleWave makes use of R2RML mappings in order to allow customizing the shape of the resulting stream. As output, TripleWave produces a JSON stream in the JSON-LD format: each stream element is described by an RDF graph and the time annotation is modeled as an annotation over the graph
  5. , which can then be used by an RDF Stream Processing engine.
  6. Live non-RDF Streams / Conversion Constructs RDF triples that will be elements of the RDF stream Uses R2RML to define the mappings used to build the RDF stream elements
  7. DO NOT SAY DATABASE! OR IF YOU SAY IT, SAY ORIGINALLY DBs, AND EXTENDED LATER R2RML is a language for expressing customized mappings from relational databases to RDF datasets
  8. A consumer uses the sGraph to discover the stream elements, then he access the iGraphs dereferencing the iGraph URL address.
  9. A consumer uses the sGraph to discover the stream elements, then he access the iGraphs dereferencing the iGraph URL address.
  10. A consumer uses the sGraph to discover the stream elements, then he access the iGraphs dereferencing the iGraph URL address.
  11. Please have a look at the tutorial slides The package contains: C-Sparql, Jetty; web application You need to change the TripleWave url in the my.js file in oder to point to your local one or one that run remotely
  12. This work fills an important gap in RDF stream processing as it provides flexible mechanisms for plugging in diverse Web data sources, and for consuming streams in both push and pull mode