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

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
rhatr
 

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

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
Albert Meroño-Peñuela
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Servers
webhostingguy
 
Developing CouchApps
Developing CouchAppsDeveloping CouchApps
Developing CouchApps
westhoff
 

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
 
ISWC GoodRelations Tutorial Part 4
ISWC GoodRelations Tutorial Part 4ISWC GoodRelations Tutorial Part 4
ISWC GoodRelations Tutorial Part 4
 
GoodRelations Tutorial Part 4
GoodRelations Tutorial Part 4GoodRelations Tutorial Part 4
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

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
Andrea 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

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

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