SlideShare una empresa de Scribd logo
1 de 31
Stream Reasoning
For Linked Data
M. Balduini, J-P Calbimonte, O. Corcho,
D. Dell'Aglio, E. Della Valle, and J.Z. Pan
http://streamreasoning.org/sr4ld2013

SPARQLStream: Ontologybased access to data streams
Jean-Paul Calbimonte, Oscar Corcho
jp.calbimonte@upm.es, ocorcho@fi.upm.es
http://www.oeg-upm.net/
Share, Remix, Reuse — Legally
 This work is licensed under the Creative Commons
Attribution 3.0 Unported License.
 You are free:
• to Share — to copy, distribute and transmit the work
• to Remix — to adapt the work

 Under the following conditions
• Attribution — You must attribute the work by inserting
– “[source http://streamreasoning.org/sr4ld2013]” at the end of
each reused slide
– a credits slide stating
-

These slides are partially based on “Streaming Reasoning for Linked
Data 2013” by M. Balduini, J-P Calbimonte, O. Corcho, D. Dell'Aglio,
E. Della Valle, and J.Z. Pan http://streamreasoning.org/sr4ld2013

 To view a copy of this license, visit
http://creativecommons.org/licenses/by/3.0/
http://streamreasoning.org/sr4ld2013

2
SPARQLStream
 Virtual RDF views over data streams
 Ontology-based access to data streams
•
•
•

Examples
Architecture
Underlying query processors

 SPARQLStream language
 Query rewriting
•

R2RML mappings

 Resources

http://streamreasoning.org/sr4ld2013

3
Querying RDF Streams
users, applications

RDF Stream
query processing

RDF Stream Processor

Where is the data coming from?

Existing streaming
data sources

DSMS

CEP

http://streamreasoning.org/sr4ld2013

Sensor
middleware

Wrap
Import
Load
Contino
usly

…
4
Virtual RDF views over data streams
users, applications

Virtual RDF Stream
query processing

RDF Stream Processor
queries

data layer

DSMS

CEP

http://streamreasoning.org/sr4ld2013

Sensor
middleware

…
5
Already seen somewhere…?

RDF

SPARQL Query Processor
Load,
import

R2RML
Mappings

DBMS
http://streamreasoning.org/sr4ld2013

6
Stream Processor Implementations
Data Stream Management Systems (DSMS)

CQL/Stream

Borealis

StreamMill NiagaraCQ
TelegraphCQ

Complex Event Processors (CEP)

GEM

Rapide

Cayuga

Stream Data Middleware

CEDR

GSN

Oracle CEP
IBM InfoSphere
Microsoft StreamInsight

Hourglass Cosm
SStreamWare

Esper

Sybase CEP

StreamBase

Diverse query languages
Different query capabilities
Different query models

http://streamreasoning.org/sr4ld2013

7
Morph-streams: Overview
SELECT ?proximity
FROM STREAM

π timed,prox

<http://streamreasoning.org/SensorReadings.srdf> [NOW–5

S]
WHERE {
?obs a ssn:ObservationValue;
qudt:numericalValue ?proximity;
FILTER (?proximity>10) }

Client

SPARQLStream

ω5 Seconds
sens

Query
rewriting

R2RML
Mappings

[triples/bin
dings]

σprox>10

Data
translation

Algebra
expression

SELECT prox
FROM sens.win:time(5 sec)
WHERE prox >10

SNEE
Esper

Query
Processing

[tuples]

GSN

pull/push

Cosm

Other

Morph-streams procesing SPARQLStream queries
https://github.com/jpcik/morph-streams
http://streamreasoning.org/sr4ld2013

8
SPARQLStream Language

ISTREAM
DSTREAM
RSTREAM

FROM NAMED STREAM

WINDOW

Underlying
data source
restrictions
http://streamreasoning.org/sr4ld2013

9
SPARQLStream: examples
SPARQLStream
PREFIX sr4ld: <http://www.streamreasoning.org/ontologies/socialsensor,owl#>
SELECT ?room
FROM NAMED STREAM <http://www.streamreasoning.org/streams/socialsensor.srdf> [NOW-10 S]
WHERE {
?obs sr4ld:observedBy ?sensor.
?obs sr4ld:where ?room.
}

All rooms where something was observed in the last 10s
PREFIX sr4ld: <http://www.streamreasoning.org/ontologies/socialsensor,owl#>
SELECT (COUNT(?person) AS ?nmb) ?room
FROM NAMED STREAM <http://www.streamreasoning.org/streams/socialsensor.srdf> [NOW-10 S]
WHERE {
?obs sr4ld:who ?pers.
?obs sr4ld:where ?room.
}
GROUP BY ?room

Number of persons observed in each room in the last 10s

http://streamreasoning.org/sr4ld2013

10
SPARQLStream Language


NamedStream

 „FROM‟ [„NAMED‟] „STREAM‟ StreamIRI „[‟ Window „]‟



Window

 „NOW-‟ Integer TimeUnit [UpperBound] [Slide]



UpperBound

 „TO NOW-‟ Integer TimeUnit



Slide

 „SLIDE‟ Integer TimeUnit



TimeUnit

 „MS‟ | „S‟ | „MINUTES‟| „HOURS‟ | „DAY‟

SELECT ISTREAM ?room
FROM NAMED STREAM <http://www.streamreasoning.org/streams/socialsensor.srdf> [NOW-10 S]
WHERE {…



Select

 „SELECT‟ [Xstream] [Distinct | Reduced] …



Xstream

 „RSTREAM‟ | „ISTREAM‟ | „DSTREAM‟

http://streamreasoning.org/sr4ld2013

11
Morph-streams: Overview
SELECT ?proximity
FROM STREAM

π timed,prox

<http://streamreasoning.org/SensorReadings.srdf> [NOW–5

S]
WHERE {
?obs a ssn:ObservationValue;
qudt:numericalValue ?proximity;
FILTER (?proximity>10) }

Client

SPARQLStream

ω5 Seconds
sens

Query
rewriting

R2RML
Mappings

[triples/bin
dings]

σprox>10

Data
translation

Algebra
expression

SELECT prox
FROM sens.win:time(5 sec)
WHERE prox >10

SNEE
Esper

Query
Processing

[tuples]

GSN

pull/push

Cosm

Other

Morph-streams procesing SPARQLStream queries
https://github.com/jpcik/morph-streams
http://streamreasoning.org/sr4ld2013

12
Now, where is the data?
...
sensor

(bob,room2) τi

(alice,room3) τi+1

(carl,room1) τi

(luke,room1) τi+1

(alice,room1) τi-1

...
...

stream tuples

(person,room,…)

τi

Stream Schema

DSMS, CEP, middleware can
evaluate queries over this model

http://streamreasoning.org/sr4ld2013

13
Underlying Query Processors
Esper
• CEP/DSMS
• EPL language
SELECT prox FROM sensors.win:time(5 minute)
WHERE prox >10

GSN
• Sensor middleware
• REST API
http://montblanc.slf.ch:22001/multidata?vs[0]=sens
ors&
field[0]=proximity_field&c_min[0]=10&
from=15/05/2012+05:00:00&to=15/05/2012+10:00:
00

http://streamreasoning.org/sr4ld2013

SNEE
• DSMS/Sensor Network Query Evaluator
• Compile queries to sensor code
SELECT prox FROM sensors [FROM NOW-5
MINUTES TO NOW]
WHERE prox >10

Cosm/Xively
• Sensor middleware
• Open platform
• REST API
http://api.cosm.com/v2/feeds/14321/datastreams/
4?start=2012-05-15T05:00:00Z&end=2012-0515T10:00:00Z

14
Underlying Query Processors

SPARQLStream

SELECT ?proximity
FROM STREAM <http://streamreasoning.org/SensorReadings.srdf>
[NOW–5 S]
WHERE {
?obs a ssn:ObservationValue;
qudt:numericalValue ?proximity;
FILTER (?proximity>10) }

R2RML

prox

Query
rewriting

SELECT prox FROM sensors [FROM NOW-5 MINUTES TO NOW]
WHERE prox >10

SNEE (DSMS)

SELECT prox FROM sensors.win:time(5 minute)
WHERE prox >10

Esper (CEP)

http://montblanc.slf.ch:22001/multidata?vs[0]=sensors&field[0]=proximi
ty_field&c_min[0]=10&
from=15/05/2012+05:00:00&to=15/05/2012+10:00:00

GSN (middlwr)

http://api.cosm.com/v2/feeds/14321/datastreams/4?start=2012-0515T05:00:00Z&end=2012-05-15T10:00:00Z

Cosm Xively

http://streamreasoning.org/sr4ld201315

πtimed,
σprox>10
ω 5 Seconds
sensors
Underlying query processors
Features

Esper

SNEE

GSN

Cosm/Xively

Projection

✔

✔

✔

Fixed

Proj expression

✔

✔

✖

✖

Joins

✔

✔✖ only
window

✖

✖

Union

✖

✔✖ not
windows

✔

✖

Selection

✔

✔

✔

✖✔ limited

Aggregates

✔

✔

✔✖

✖

Time window

✔

✔

✔

✔

Tuple window

✔

✔

✔

✖

R2S

✔

✔

✖

✖

Conjunction, Disj

✔

✖

✖

✖

Repetition pattern

✔

✖

✖

✖

Sequence

✔

✖

✖

✖

http://streamreasoning.org/sr4ld2013

16
Configuring Morph-streams
 Main ingredients:
1. Data streams
2. Ontology (network)

Link both
models

3. R2RML mappings

http://streamreasoning.org/sr4ld2013

17
SSN Ontology with other ontologies
W3C SSN Ontology

modeling our streaming data
combine with domain ontologies
http://streamreasoning.org/sr4ld2013

18
Our simpler ontology…
subClassOf

Observation

where

Room

observes
subPropOf

who

Post

Sensor

discusses
subClassOf

authorOf

Person

We can use different ontologies for
the same data
http://streamreasoning.org/sr4ld2013

19
Our simpler ontology…
Observation

where

Room

observes

detections
(person, room,…)

Sensor

subClassOf

who

Define mappings
Person

http://streamreasoning.org/sr4ld2013

20
R2RML - Overview

http://streamreasoning.org/sr4ld2013

21
R2RML - Overview

http://streamreasoning.org/sr4ld2013

22
Encoding in R2RML

the stream
name

Mapping definition
:triplesMap a rr:TriplesMap;
rr:logicalTable [ rr:tableName ”sensors"; ]

stream
attributes

subject URI
rr:subjectMap [
rr:template "http://streamreasoning.org/data/Observation/{person}{timed}";
rr:class sr4ld:Observation; rr:graph sr4ld:socialstream.srdf ];
triple predicate + object
rr:predicateObjectMap [
rr:predicate sr4ld:who ;
rr:objectMap [ rr:template “http://streamreasoning.org/data/Person/{person}” ]];.
the object (a URI in this case)

http://streamreasoning.org/sr4ld2013

23
Now some code
Morph-streams:
 Coded in Scala
 JAR bundle, use it from Scala or Java code

 Maven, Sbt
 Examples
•
•
•
•
•

One off query
Register continuous query
Pull data
Push
Basic REST

 https://github.com/jpcik/morph-streams

http://streamreasoning.org/sr4ld2013

24
Code examples
 Parse SPARQLStream
val query= “PREFIX sr4ld: <…>. SELECT ?a …”
val syntax= StreamQueryFactory.create(query);

 Execute One-off query

Mapping

val query= “PREFIX sr4ld: <…>. SELECT ?a …”
mapping=Mapping(new URI(mappings/social.ttl))

val adapter:QueryEvaluator=Application.adapter(system)
val results= adapter.executeQuery(query,mapping)

Bindings

http://streamreasoning.org/sr4ld2013

25
Code examples
 Register and Pull
val queryid= adapter.registerQuery(query,mapping)
val results1=adapter.pull(queryid)
val results2=adapter.pull(queryid)

Query identifier

 Register and Push

Implement receiver

class ExampleReceiver extends StreamReceiver{

override def receiveData(s:SparqlResults):Unit=
Logger.debug("got: "+res)
}
val receiver=new ExampleReceiver

val queryid= adapter.listenToQuery(query,mapping,receiver)

http://streamreasoning.org/sr4ld2013

26
SPARQLStream from command line
•

encoded_value=$(python -c "import urllib; print urllib.quote('''SELECT
DISTINCT ?timeto ?obs FROM NAMED STREAM
<http://emt.linkeddata.es/data#busstops.srdf> [NOW - 30 S] WHERE
{ ?obs a <http://emt.linkeddata.es/data#BusObservation>. ?obs
<http://purl.oclc.org/NET/ssnx/ssn#observedBy><http://transporte.li
nkeddata.es/emt/busstop/id/2018>. ?obs
<http://purl.oclc.org/NET/ssnx/ssn#observationResult> ?output.
?output <http://emt.linkeddata.es/data#timeToBusValue> ?av. ?av
<http://data.nasa.gov/qudt/owl/qudt#numericValue> ?timeto. }''')")
Just encoding query

•

curl
"http://streams.linkeddata.es/emt/sparqlstream?query=$encoded_val
ue”

Disclaimer: Simplistic, not implementing all of the
SPARQL protocol
http://streamreasoning.org/sr4ld2013

27
Sample result
{
"head": {
"vars": [ "timeto" , "obs" ]
},
"results": {
"bindings": [

Bindings in JSON

{
"timeto": { "datatype": "http://www.w3.org/2001/XMLSchema#string" , "type": "typedliteral" , "value": "0" } ,
"obs": { "type": "uri" , "value":
"http://transporte.linkeddata.es/emt/busstop/id/2018/busline/9/observation/20/09/2013%2010:2
8:19%20%2B0200" }
}

]
}
}
http://streamreasoning.org/sr4ld2013

28
Resources
 Morph-Streams
•

https://github.com/jpcik/morph-streams

 See demos
•
•

http://transporte.linkeddata.es/ (SPARQL-Stream tab)
Check our Madrid buses demo at SSN2013 workshop tomorrow

 Read out more
•

Enabling Query Technologies for the Semantic Sensor Web.
J.-P. Calbimonte, H. Jeung, O. Corcho and K. Aberer.
International Journal on Semantic Web and Information Systems
IJSWIS, Volume 8(1)., 2012

 Contact point
•
•

jp.calbimonte@upm.es
ocorcho@fi.upm.es

http://streamreasoning.org/sr4ld2013

29
Stream Reasoning
For Linked Data
M. Balduini, J-P Calbimonte, O. Corcho,
D. Dell'Aglio, E. Della Valle, and J.Z. Pan
http://streamreasoning.org/sr4ld2013

SPARQLStream: Ontologybased access to data streams
Jean Paul Calbimonte, Oscar Corcho
jp.calbimonte@upm.es, ocorcho@fi.upm.es
http://www.oeg-upm.net/
RDF Streams

〈s,p,o
〉
<aemet:observation1, ssn:observedBy, aemet:Sensor3>
<aemet:observation1, qudt:hasNumericValue, “15.5”>

For streams?

(〈s,p,o〉,τ)
(<aemet:observation1, qudt:hasNumericValue, “15.5”>,34532)

timestamped triples
• Gutierrez et al. (2007) Introducing time into RDF. IEEE TKDE
• Rodríguez et al. (2009) Semantic management of streaming data. SSN

http://streamreasoning.org/sr4ld2013

31

Más contenido relacionado

La actualidad más candente

Testing http calls with Webmock and VCR
Testing http calls with Webmock and VCRTesting http calls with Webmock and VCR
Testing http calls with Webmock and VCRKerry Buckley
 
Deep Dive in Docker Overlay Networks
Deep Dive in Docker Overlay NetworksDeep Dive in Docker Overlay Networks
Deep Dive in Docker Overlay NetworksLaurent Bernaille
 
Kubernetes DNS Horror Stories
Kubernetes DNS Horror StoriesKubernetes DNS Horror Stories
Kubernetes DNS Horror StoriesLaurent Bernaille
 
A Channel Compendium
A Channel CompendiumA Channel Compendium
A Channel CompendiumCloudflare
 
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB
 
Troubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support EngineerTroubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support EngineerJeff Anderson
 
Atmosphere Conference 2015: Taming the Modern Datacenter
Atmosphere Conference 2015: Taming the Modern DatacenterAtmosphere Conference 2015: Taming the Modern Datacenter
Atmosphere Conference 2015: Taming the Modern DatacenterPROIDEA
 
using python module: doctest
using python module: doctestusing python module: doctest
using python module: doctestmitnk
 
はじめてのanything-c-source-*
はじめてのanything-c-source-*はじめてのanything-c-source-*
はじめてのanything-c-source-*Kenichirou Oyama
 
Lean & Mean Tokyo Cabinet Recipes (with Lua) - FutureRuby '09
Lean & Mean Tokyo Cabinet Recipes (with Lua) - FutureRuby '09Lean & Mean Tokyo Cabinet Recipes (with Lua) - FutureRuby '09
Lean & Mean Tokyo Cabinet Recipes (with Lua) - FutureRuby '09Ilya Grigorik
 
Kamailio - Surfing Big Waves Of SIP With Style
Kamailio - Surfing Big Waves Of SIP With StyleKamailio - Surfing Big Waves Of SIP With Style
Kamailio - Surfing Big Waves Of SIP With StyleDaniel-Constantin Mierla
 
Java Performance: Speedup your application with hardware counters
Java Performance: Speedup your application with hardware countersJava Performance: Speedup your application with hardware counters
Java Performance: Speedup your application with hardware countersSergey Kuksenko
 
Fire in the Sky: An Introduction to Monitoring Apache Spark in the Cloud with...
Fire in the Sky: An Introduction to Monitoring Apache Spark in the Cloud with...Fire in the Sky: An Introduction to Monitoring Apache Spark in the Cloud with...
Fire in the Sky: An Introduction to Monitoring Apache Spark in the Cloud with...Spark Summit
 
The why and how of moving to php 5.4/5.5
The why and how of moving to php 5.4/5.5The why and how of moving to php 5.4/5.5
The why and how of moving to php 5.4/5.5Wim Godden
 
Web Server Deathmatch 2009 Erlang Factory Joe Williams
Web Server Deathmatch 2009 Erlang Factory Joe WilliamsWeb Server Deathmatch 2009 Erlang Factory Joe Williams
Web Server Deathmatch 2009 Erlang Factory Joe Williamslogicalstack
 
GeeCON 2013 - EJB application guided by tests
GeeCON 2013 - EJB application guided by testsGeeCON 2013 - EJB application guided by tests
GeeCON 2013 - EJB application guided by testsJakub Marchwicki
 
Stream or not to Stream?

Stream or not to Stream?
Stream or not to Stream?

Stream or not to Stream?
Lukasz Byczynski
 

La actualidad más candente (20)

Testing http calls with Webmock and VCR
Testing http calls with Webmock and VCRTesting http calls with Webmock and VCR
Testing http calls with Webmock and VCR
 
Deep Dive in Docker Overlay Networks
Deep Dive in Docker Overlay NetworksDeep Dive in Docker Overlay Networks
Deep Dive in Docker Overlay Networks
 
Kubernetes DNS Horror Stories
Kubernetes DNS Horror StoriesKubernetes DNS Horror Stories
Kubernetes DNS Horror Stories
 
Kamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load BalancersKamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load Balancers
 
A Channel Compendium
A Channel CompendiumA Channel Compendium
A Channel Compendium
 
Otimizando seu projeto Rails
Otimizando seu projeto RailsOtimizando seu projeto Rails
Otimizando seu projeto Rails
 
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
 
Troubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support EngineerTroubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support Engineer
 
Atmosphere Conference 2015: Taming the Modern Datacenter
Atmosphere Conference 2015: Taming the Modern DatacenterAtmosphere Conference 2015: Taming the Modern Datacenter
Atmosphere Conference 2015: Taming the Modern Datacenter
 
using python module: doctest
using python module: doctestusing python module: doctest
using python module: doctest
 
はじめてのanything-c-source-*
はじめてのanything-c-source-*はじめてのanything-c-source-*
はじめてのanything-c-source-*
 
Lean & Mean Tokyo Cabinet Recipes (with Lua) - FutureRuby '09
Lean & Mean Tokyo Cabinet Recipes (with Lua) - FutureRuby '09Lean & Mean Tokyo Cabinet Recipes (with Lua) - FutureRuby '09
Lean & Mean Tokyo Cabinet Recipes (with Lua) - FutureRuby '09
 
Kamailio - Surfing Big Waves Of SIP With Style
Kamailio - Surfing Big Waves Of SIP With StyleKamailio - Surfing Big Waves Of SIP With Style
Kamailio - Surfing Big Waves Of SIP With Style
 
Java Performance: Speedup your application with hardware counters
Java Performance: Speedup your application with hardware countersJava Performance: Speedup your application with hardware counters
Java Performance: Speedup your application with hardware counters
 
Fire in the Sky: An Introduction to Monitoring Apache Spark in the Cloud with...
Fire in the Sky: An Introduction to Monitoring Apache Spark in the Cloud with...Fire in the Sky: An Introduction to Monitoring Apache Spark in the Cloud with...
Fire in the Sky: An Introduction to Monitoring Apache Spark in the Cloud with...
 
The why and how of moving to php 5.4/5.5
The why and how of moving to php 5.4/5.5The why and how of moving to php 5.4/5.5
The why and how of moving to php 5.4/5.5
 
Web Server Deathmatch 2009 Erlang Factory Joe Williams
Web Server Deathmatch 2009 Erlang Factory Joe WilliamsWeb Server Deathmatch 2009 Erlang Factory Joe Williams
Web Server Deathmatch 2009 Erlang Factory Joe Williams
 
GeeCON 2013 - EJB application guided by tests
GeeCON 2013 - EJB application guided by testsGeeCON 2013 - EJB application guided by tests
GeeCON 2013 - EJB application guided by tests
 
Stream or not to Stream?

Stream or not to Stream?
Stream or not to Stream?

Stream or not to Stream?

 
Synthesis report
Synthesis reportSynthesis report
Synthesis report
 

Similar a Tutorial Stream Reasoning SPARQLstream and Morph-streams

RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)Daniele Dell'Aglio
 
Prometheus – a next-gen Monitoring System
Prometheus – a next-gen Monitoring SystemPrometheus – a next-gen Monitoring System
Prometheus – a next-gen Monitoring SystemFabian Reinartz
 
112 portfpres.pdf
112 portfpres.pdf112 portfpres.pdf
112 portfpres.pdfsash236
 
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...Aman Kohli
 
gDBClone - Database Clone “onecommand Automation Tool”
gDBClone - Database Clone “onecommand Automation Tool”gDBClone - Database Clone “onecommand Automation Tool”
gDBClone - Database Clone “onecommand Automation Tool”Ruggero Citton
 
OSMC 2015 | Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015 | Prometheus: A Next-Generation Monitoring System by Fabian ReinartzOSMC 2015 | Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015 | Prometheus: A Next-Generation Monitoring System by Fabian ReinartzNETWAYS
 
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian ReinartzOSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian ReinartzNETWAYS
 
Fosdem10
Fosdem10Fosdem10
Fosdem10wremes
 
Stream Analytics
Stream Analytics Stream Analytics
Stream Analytics Franco Ucci
 
DevOps with Serverless
DevOps with ServerlessDevOps with Serverless
DevOps with ServerlessYan Cui
 
Middleware_Security_Null_Hyd_May22.pptx
Middleware_Security_Null_Hyd_May22.pptxMiddleware_Security_Null_Hyd_May22.pptx
Middleware_Security_Null_Hyd_May22.pptxJaya Kumar Kondapalli
 
Journey through the ML model deployment to production by Stanko Kuveljic
Journey through the ML model deployment to production by Stanko KuveljicJourney through the ML model deployment to production by Stanko Kuveljic
Journey through the ML model deployment to production by Stanko KuveljicSmartCat
 
Getting Started with Spark Structured Streaming - Current 22
Getting Started with Spark Structured Streaming - Current 22Getting Started with Spark Structured Streaming - Current 22
Getting Started with Spark Structured Streaming - Current 22Dustin Vannoy
 
Getting Started With Spark Structured Streaming With Dustin Vannoy | Current ...
Getting Started With Spark Structured Streaming With Dustin Vannoy | Current ...Getting Started With Spark Structured Streaming With Dustin Vannoy | Current ...
Getting Started With Spark Structured Streaming With Dustin Vannoy | Current ...HostedbyConfluent
 
Sensu wrapper-sensu-summit
Sensu wrapper-sensu-summitSensu wrapper-sensu-summit
Sensu wrapper-sensu-summitLee Briggs
 
Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink huguk
 

Similar a Tutorial Stream Reasoning SPARQLstream and Morph-streams (20)

RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)RDF Stream Processing Models (SR4LD2013)
RDF Stream Processing Models (SR4LD2013)
 
Prometheus – a next-gen Monitoring System
Prometheus – a next-gen Monitoring SystemPrometheus – a next-gen Monitoring System
Prometheus – a next-gen Monitoring System
 
112 portfpres.pdf
112 portfpres.pdf112 portfpres.pdf
112 portfpres.pdf
 
SPARQLstream and Morph-streams
SPARQLstream and Morph-streamsSPARQLstream and Morph-streams
SPARQLstream and Morph-streams
 
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
 
gDBClone - Database Clone “onecommand Automation Tool”
gDBClone - Database Clone “onecommand Automation Tool”gDBClone - Database Clone “onecommand Automation Tool”
gDBClone - Database Clone “onecommand Automation Tool”
 
OSMC 2015 | Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015 | Prometheus: A Next-Generation Monitoring System by Fabian ReinartzOSMC 2015 | Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015 | Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
 
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian ReinartzOSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
 
Fosdem10
Fosdem10Fosdem10
Fosdem10
 
Stream Analytics
Stream Analytics Stream Analytics
Stream Analytics
 
DevOps with Serverless
DevOps with ServerlessDevOps with Serverless
DevOps with Serverless
 
Scalaxb preso
Scalaxb presoScalaxb preso
Scalaxb preso
 
Middleware_Security_Null_Hyd_May22.pptx
Middleware_Security_Null_Hyd_May22.pptxMiddleware_Security_Null_Hyd_May22.pptx
Middleware_Security_Null_Hyd_May22.pptx
 
Journey through the ML model deployment to production by Stanko Kuveljic
Journey through the ML model deployment to production by Stanko KuveljicJourney through the ML model deployment to production by Stanko Kuveljic
Journey through the ML model deployment to production by Stanko Kuveljic
 
Getting Started with Spark Structured Streaming - Current 22
Getting Started with Spark Structured Streaming - Current 22Getting Started with Spark Structured Streaming - Current 22
Getting Started with Spark Structured Streaming - Current 22
 
Getting Started With Spark Structured Streaming With Dustin Vannoy | Current ...
Getting Started With Spark Structured Streaming With Dustin Vannoy | Current ...Getting Started With Spark Structured Streaming With Dustin Vannoy | Current ...
Getting Started With Spark Structured Streaming With Dustin Vannoy | Current ...
 
Cloning 2
Cloning 2Cloning 2
Cloning 2
 
Cloning 2
Cloning 2Cloning 2
Cloning 2
 
Sensu wrapper-sensu-summit
Sensu wrapper-sensu-summitSensu wrapper-sensu-summit
Sensu wrapper-sensu-summit
 
Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink Streaming Dataflow with Apache Flink
Streaming Dataflow with Apache Flink
 

Más de Jean-Paul Calbimonte

Towards Collaborative Creativity in Persuasive Multi-agent Systems
Towards Collaborative Creativity in Persuasive Multi-agent SystemsTowards Collaborative Creativity in Persuasive Multi-agent Systems
Towards Collaborative Creativity in Persuasive Multi-agent SystemsJean-Paul Calbimonte
 
A Platform for Difficulty Assessment and Recommendation of Hiking Trails
A Platform for Difficulty Assessment andRecommendation of Hiking TrailsA Platform for Difficulty Assessment andRecommendation of Hiking Trails
A Platform for Difficulty Assessment and Recommendation of Hiking TrailsJean-Paul Calbimonte
 
Decentralized Management of Patient Profiles and Trajectories through Semanti...
Decentralized Management of Patient Profiles and Trajectories through Semanti...Decentralized Management of Patient Profiles and Trajectories through Semanti...
Decentralized Management of Patient Profiles and Trajectories through Semanti...Jean-Paul Calbimonte
 
Personal Data Privacy Semantics in Multi-Agent Systems Interactions
Personal Data Privacy Semantics in Multi-Agent Systems InteractionsPersonal Data Privacy Semantics in Multi-Agent Systems Interactions
Personal Data Privacy Semantics in Multi-Agent Systems InteractionsJean-Paul Calbimonte
 
SanTour: Personalized Recommendation of Hiking Trails to Health Pro files
SanTour: Personalized Recommendation of Hiking Trails to Health ProfilesSanTour: Personalized Recommendation of Hiking Trails to Health Profiles
SanTour: Personalized Recommendation of Hiking Trails to Health Pro filesJean-Paul Calbimonte
 
Multi-agent interactions on the Web through Linked Data Notifications
Multi-agent interactions on the Web through Linked Data NotificationsMulti-agent interactions on the Web through Linked Data Notifications
Multi-agent interactions on the Web through Linked Data NotificationsJean-Paul Calbimonte
 
The MedRed Ontology for Representing Clinical Data Acquisition Metadata
The MedRed Ontology for Representing Clinical Data Acquisition MetadataThe MedRed Ontology for Representing Clinical Data Acquisition Metadata
The MedRed Ontology for Representing Clinical Data Acquisition MetadataJean-Paul Calbimonte
 
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
 
Fundamentos de Scala (Scala Basics) (español) Catecbol
Fundamentos de Scala (Scala Basics) (español) CatecbolFundamentos de Scala (Scala Basics) (español) Catecbol
Fundamentos de Scala (Scala Basics) (español) CatecbolJean-Paul Calbimonte
 
Connecting Stream Reasoners on the Web
Connecting Stream Reasoners on the WebConnecting Stream Reasoners on the Web
Connecting Stream Reasoners on the WebJean-Paul Calbimonte
 
RDF Stream Processing Tutorial: RSP implementations
RDF Stream Processing Tutorial: RSP implementationsRDF Stream Processing Tutorial: RSP implementations
RDF Stream Processing Tutorial: RSP implementationsJean-Paul Calbimonte
 
Query Rewriting in RDF Stream Processing
Query Rewriting in RDF Stream ProcessingQuery Rewriting in RDF Stream Processing
Query Rewriting in RDF Stream ProcessingJean-Paul Calbimonte
 
Toward Semantic Sensor Data Archives on the Web
Toward Semantic Sensor Data Archives on the WebToward Semantic Sensor Data Archives on the Web
Toward Semantic Sensor Data Archives on the WebJean-Paul Calbimonte
 
Detection of hypoglycemic events through wearable sensors
Detection of hypoglycemic events through wearable sensorsDetection of hypoglycemic events through wearable sensors
Detection of hypoglycemic events through wearable sensorsJean-Paul Calbimonte
 
RDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of SemanticsRDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of SemanticsJean-Paul Calbimonte
 
The Schema Editor of OpenIoT for Semantic Sensor Networks
The Schema Editor of OpenIoT for Semantic Sensor NetworksThe Schema Editor of OpenIoT for Semantic Sensor Networks
The Schema Editor of OpenIoT for Semantic Sensor NetworksJean-Paul Calbimonte
 
Scala Programming for Semantic Web Developers ESWC Semdev2015
Scala Programming for Semantic Web Developers ESWC Semdev2015Scala Programming for Semantic Web Developers ESWC Semdev2015
Scala Programming for Semantic Web Developers ESWC Semdev2015Jean-Paul Calbimonte
 

Más de Jean-Paul Calbimonte (20)

Towards Collaborative Creativity in Persuasive Multi-agent Systems
Towards Collaborative Creativity in Persuasive Multi-agent SystemsTowards Collaborative Creativity in Persuasive Multi-agent Systems
Towards Collaborative Creativity in Persuasive Multi-agent Systems
 
A Platform for Difficulty Assessment and Recommendation of Hiking Trails
A Platform for Difficulty Assessment andRecommendation of Hiking TrailsA Platform for Difficulty Assessment andRecommendation of Hiking Trails
A Platform for Difficulty Assessment and Recommendation of Hiking Trails
 
Stream reasoning agents
Stream reasoning agentsStream reasoning agents
Stream reasoning agents
 
Decentralized Management of Patient Profiles and Trajectories through Semanti...
Decentralized Management of Patient Profiles and Trajectories through Semanti...Decentralized Management of Patient Profiles and Trajectories through Semanti...
Decentralized Management of Patient Profiles and Trajectories through Semanti...
 
Personal Data Privacy Semantics in Multi-Agent Systems Interactions
Personal Data Privacy Semantics in Multi-Agent Systems InteractionsPersonal Data Privacy Semantics in Multi-Agent Systems Interactions
Personal Data Privacy Semantics in Multi-Agent Systems Interactions
 
RDF data validation 2017 SHACL
RDF data validation 2017 SHACLRDF data validation 2017 SHACL
RDF data validation 2017 SHACL
 
SanTour: Personalized Recommendation of Hiking Trails to Health Pro files
SanTour: Personalized Recommendation of Hiking Trails to Health ProfilesSanTour: Personalized Recommendation of Hiking Trails to Health Profiles
SanTour: Personalized Recommendation of Hiking Trails to Health Pro files
 
Multi-agent interactions on the Web through Linked Data Notifications
Multi-agent interactions on the Web through Linked Data NotificationsMulti-agent interactions on the Web through Linked Data Notifications
Multi-agent interactions on the Web through Linked Data Notifications
 
The MedRed Ontology for Representing Clinical Data Acquisition Metadata
The MedRed Ontology for Representing Clinical Data Acquisition MetadataThe MedRed Ontology for Representing Clinical Data Acquisition Metadata
The MedRed Ontology for Representing Clinical Data Acquisition Metadata
 
Linked Data Notifications for RDF Streams
Linked Data Notifications for RDF StreamsLinked Data Notifications for RDF Streams
Linked Data Notifications for RDF Streams
 
Fundamentos de Scala (Scala Basics) (español) Catecbol
Fundamentos de Scala (Scala Basics) (español) CatecbolFundamentos de Scala (Scala Basics) (español) Catecbol
Fundamentos de Scala (Scala Basics) (español) Catecbol
 
Connecting Stream Reasoners on the Web
Connecting Stream Reasoners on the WebConnecting Stream Reasoners on the Web
Connecting Stream Reasoners on the Web
 
RDF Stream Processing Tutorial: RSP implementations
RDF Stream Processing Tutorial: RSP implementationsRDF Stream Processing Tutorial: RSP implementations
RDF Stream Processing Tutorial: RSP implementations
 
Query Rewriting in RDF Stream Processing
Query Rewriting in RDF Stream ProcessingQuery Rewriting in RDF Stream Processing
Query Rewriting in RDF Stream Processing
 
Toward Semantic Sensor Data Archives on the Web
Toward Semantic Sensor Data Archives on the WebToward Semantic Sensor Data Archives on the Web
Toward Semantic Sensor Data Archives on the Web
 
Detection of hypoglycemic events through wearable sensors
Detection of hypoglycemic events through wearable sensorsDetection of hypoglycemic events through wearable sensors
Detection of hypoglycemic events through wearable sensors
 
RDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of SemanticsRDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of Semantics
 
The Schema Editor of OpenIoT for Semantic Sensor Networks
The Schema Editor of OpenIoT for Semantic Sensor NetworksThe Schema Editor of OpenIoT for Semantic Sensor Networks
The Schema Editor of OpenIoT for Semantic Sensor Networks
 
Scala Programming for Semantic Web Developers ESWC Semdev2015
Scala Programming for Semantic Web Developers ESWC Semdev2015Scala Programming for Semantic Web Developers ESWC Semdev2015
Scala Programming for Semantic Web Developers ESWC Semdev2015
 
Streams of RDF Events Derive2015
Streams of RDF Events Derive2015Streams of RDF Events Derive2015
Streams of RDF Events Derive2015
 

Último

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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...Drew Madelung
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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 Processorsdebabhi2
 
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 RobisonAnna Loughnan Colquhoun
 
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 SolutionsEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Último (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
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
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Tutorial Stream Reasoning SPARQLstream and Morph-streams

  • 1. Stream Reasoning For Linked Data M. Balduini, J-P Calbimonte, O. Corcho, D. Dell'Aglio, E. Della Valle, and J.Z. Pan http://streamreasoning.org/sr4ld2013 SPARQLStream: Ontologybased access to data streams Jean-Paul Calbimonte, Oscar Corcho jp.calbimonte@upm.es, ocorcho@fi.upm.es http://www.oeg-upm.net/
  • 2. Share, Remix, Reuse — Legally  This work is licensed under the Creative Commons Attribution 3.0 Unported License.  You are free: • to Share — to copy, distribute and transmit the work • to Remix — to adapt the work  Under the following conditions • Attribution — You must attribute the work by inserting – “[source http://streamreasoning.org/sr4ld2013]” at the end of each reused slide – a credits slide stating - These slides are partially based on “Streaming Reasoning for Linked Data 2013” by M. Balduini, J-P Calbimonte, O. Corcho, D. Dell'Aglio, E. Della Valle, and J.Z. Pan http://streamreasoning.org/sr4ld2013  To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/ http://streamreasoning.org/sr4ld2013 2
  • 3. SPARQLStream  Virtual RDF views over data streams  Ontology-based access to data streams • • • Examples Architecture Underlying query processors  SPARQLStream language  Query rewriting • R2RML mappings  Resources http://streamreasoning.org/sr4ld2013 3
  • 4. Querying RDF Streams users, applications RDF Stream query processing RDF Stream Processor Where is the data coming from? Existing streaming data sources DSMS CEP http://streamreasoning.org/sr4ld2013 Sensor middleware Wrap Import Load Contino usly … 4
  • 5. Virtual RDF views over data streams users, applications Virtual RDF Stream query processing RDF Stream Processor queries data layer DSMS CEP http://streamreasoning.org/sr4ld2013 Sensor middleware … 5
  • 6. Already seen somewhere…? RDF SPARQL Query Processor Load, import R2RML Mappings DBMS http://streamreasoning.org/sr4ld2013 6
  • 7. Stream Processor Implementations Data Stream Management Systems (DSMS) CQL/Stream Borealis StreamMill NiagaraCQ TelegraphCQ Complex Event Processors (CEP) GEM Rapide Cayuga Stream Data Middleware CEDR GSN Oracle CEP IBM InfoSphere Microsoft StreamInsight Hourglass Cosm SStreamWare Esper Sybase CEP StreamBase Diverse query languages Different query capabilities Different query models http://streamreasoning.org/sr4ld2013 7
  • 8. Morph-streams: Overview SELECT ?proximity FROM STREAM π timed,prox <http://streamreasoning.org/SensorReadings.srdf> [NOW–5 S] WHERE { ?obs a ssn:ObservationValue; qudt:numericalValue ?proximity; FILTER (?proximity>10) } Client SPARQLStream ω5 Seconds sens Query rewriting R2RML Mappings [triples/bin dings] σprox>10 Data translation Algebra expression SELECT prox FROM sens.win:time(5 sec) WHERE prox >10 SNEE Esper Query Processing [tuples] GSN pull/push Cosm Other Morph-streams procesing SPARQLStream queries https://github.com/jpcik/morph-streams http://streamreasoning.org/sr4ld2013 8
  • 9. SPARQLStream Language ISTREAM DSTREAM RSTREAM FROM NAMED STREAM WINDOW Underlying data source restrictions http://streamreasoning.org/sr4ld2013 9
  • 10. SPARQLStream: examples SPARQLStream PREFIX sr4ld: <http://www.streamreasoning.org/ontologies/socialsensor,owl#> SELECT ?room FROM NAMED STREAM <http://www.streamreasoning.org/streams/socialsensor.srdf> [NOW-10 S] WHERE { ?obs sr4ld:observedBy ?sensor. ?obs sr4ld:where ?room. } All rooms where something was observed in the last 10s PREFIX sr4ld: <http://www.streamreasoning.org/ontologies/socialsensor,owl#> SELECT (COUNT(?person) AS ?nmb) ?room FROM NAMED STREAM <http://www.streamreasoning.org/streams/socialsensor.srdf> [NOW-10 S] WHERE { ?obs sr4ld:who ?pers. ?obs sr4ld:where ?room. } GROUP BY ?room Number of persons observed in each room in the last 10s http://streamreasoning.org/sr4ld2013 10
  • 11. SPARQLStream Language  NamedStream  „FROM‟ [„NAMED‟] „STREAM‟ StreamIRI „[‟ Window „]‟  Window  „NOW-‟ Integer TimeUnit [UpperBound] [Slide]  UpperBound  „TO NOW-‟ Integer TimeUnit  Slide  „SLIDE‟ Integer TimeUnit  TimeUnit  „MS‟ | „S‟ | „MINUTES‟| „HOURS‟ | „DAY‟ SELECT ISTREAM ?room FROM NAMED STREAM <http://www.streamreasoning.org/streams/socialsensor.srdf> [NOW-10 S] WHERE {…  Select  „SELECT‟ [Xstream] [Distinct | Reduced] …  Xstream  „RSTREAM‟ | „ISTREAM‟ | „DSTREAM‟ http://streamreasoning.org/sr4ld2013 11
  • 12. Morph-streams: Overview SELECT ?proximity FROM STREAM π timed,prox <http://streamreasoning.org/SensorReadings.srdf> [NOW–5 S] WHERE { ?obs a ssn:ObservationValue; qudt:numericalValue ?proximity; FILTER (?proximity>10) } Client SPARQLStream ω5 Seconds sens Query rewriting R2RML Mappings [triples/bin dings] σprox>10 Data translation Algebra expression SELECT prox FROM sens.win:time(5 sec) WHERE prox >10 SNEE Esper Query Processing [tuples] GSN pull/push Cosm Other Morph-streams procesing SPARQLStream queries https://github.com/jpcik/morph-streams http://streamreasoning.org/sr4ld2013 12
  • 13. Now, where is the data? ... sensor (bob,room2) τi (alice,room3) τi+1 (carl,room1) τi (luke,room1) τi+1 (alice,room1) τi-1 ... ... stream tuples (person,room,…) τi Stream Schema DSMS, CEP, middleware can evaluate queries over this model http://streamreasoning.org/sr4ld2013 13
  • 14. Underlying Query Processors Esper • CEP/DSMS • EPL language SELECT prox FROM sensors.win:time(5 minute) WHERE prox >10 GSN • Sensor middleware • REST API http://montblanc.slf.ch:22001/multidata?vs[0]=sens ors& field[0]=proximity_field&c_min[0]=10& from=15/05/2012+05:00:00&to=15/05/2012+10:00: 00 http://streamreasoning.org/sr4ld2013 SNEE • DSMS/Sensor Network Query Evaluator • Compile queries to sensor code SELECT prox FROM sensors [FROM NOW-5 MINUTES TO NOW] WHERE prox >10 Cosm/Xively • Sensor middleware • Open platform • REST API http://api.cosm.com/v2/feeds/14321/datastreams/ 4?start=2012-05-15T05:00:00Z&end=2012-0515T10:00:00Z 14
  • 15. Underlying Query Processors SPARQLStream SELECT ?proximity FROM STREAM <http://streamreasoning.org/SensorReadings.srdf> [NOW–5 S] WHERE { ?obs a ssn:ObservationValue; qudt:numericalValue ?proximity; FILTER (?proximity>10) } R2RML prox Query rewriting SELECT prox FROM sensors [FROM NOW-5 MINUTES TO NOW] WHERE prox >10 SNEE (DSMS) SELECT prox FROM sensors.win:time(5 minute) WHERE prox >10 Esper (CEP) http://montblanc.slf.ch:22001/multidata?vs[0]=sensors&field[0]=proximi ty_field&c_min[0]=10& from=15/05/2012+05:00:00&to=15/05/2012+10:00:00 GSN (middlwr) http://api.cosm.com/v2/feeds/14321/datastreams/4?start=2012-0515T05:00:00Z&end=2012-05-15T10:00:00Z Cosm Xively http://streamreasoning.org/sr4ld201315 πtimed, σprox>10 ω 5 Seconds sensors
  • 16. Underlying query processors Features Esper SNEE GSN Cosm/Xively Projection ✔ ✔ ✔ Fixed Proj expression ✔ ✔ ✖ ✖ Joins ✔ ✔✖ only window ✖ ✖ Union ✖ ✔✖ not windows ✔ ✖ Selection ✔ ✔ ✔ ✖✔ limited Aggregates ✔ ✔ ✔✖ ✖ Time window ✔ ✔ ✔ ✔ Tuple window ✔ ✔ ✔ ✖ R2S ✔ ✔ ✖ ✖ Conjunction, Disj ✔ ✖ ✖ ✖ Repetition pattern ✔ ✖ ✖ ✖ Sequence ✔ ✖ ✖ ✖ http://streamreasoning.org/sr4ld2013 16
  • 17. Configuring Morph-streams  Main ingredients: 1. Data streams 2. Ontology (network) Link both models 3. R2RML mappings http://streamreasoning.org/sr4ld2013 17
  • 18. SSN Ontology with other ontologies W3C SSN Ontology modeling our streaming data combine with domain ontologies http://streamreasoning.org/sr4ld2013 18
  • 19. Our simpler ontology… subClassOf Observation where Room observes subPropOf who Post Sensor discusses subClassOf authorOf Person We can use different ontologies for the same data http://streamreasoning.org/sr4ld2013 19
  • 20. Our simpler ontology… Observation where Room observes detections (person, room,…) Sensor subClassOf who Define mappings Person http://streamreasoning.org/sr4ld2013 20
  • 23. Encoding in R2RML the stream name Mapping definition :triplesMap a rr:TriplesMap; rr:logicalTable [ rr:tableName ”sensors"; ] stream attributes subject URI rr:subjectMap [ rr:template "http://streamreasoning.org/data/Observation/{person}{timed}"; rr:class sr4ld:Observation; rr:graph sr4ld:socialstream.srdf ]; triple predicate + object rr:predicateObjectMap [ rr:predicate sr4ld:who ; rr:objectMap [ rr:template “http://streamreasoning.org/data/Person/{person}” ]];. the object (a URI in this case) http://streamreasoning.org/sr4ld2013 23
  • 24. Now some code Morph-streams:  Coded in Scala  JAR bundle, use it from Scala or Java code  Maven, Sbt  Examples • • • • • One off query Register continuous query Pull data Push Basic REST  https://github.com/jpcik/morph-streams http://streamreasoning.org/sr4ld2013 24
  • 25. Code examples  Parse SPARQLStream val query= “PREFIX sr4ld: <…>. SELECT ?a …” val syntax= StreamQueryFactory.create(query);  Execute One-off query Mapping val query= “PREFIX sr4ld: <…>. SELECT ?a …” mapping=Mapping(new URI(mappings/social.ttl)) val adapter:QueryEvaluator=Application.adapter(system) val results= adapter.executeQuery(query,mapping) Bindings http://streamreasoning.org/sr4ld2013 25
  • 26. Code examples  Register and Pull val queryid= adapter.registerQuery(query,mapping) val results1=adapter.pull(queryid) val results2=adapter.pull(queryid) Query identifier  Register and Push Implement receiver class ExampleReceiver extends StreamReceiver{ override def receiveData(s:SparqlResults):Unit= Logger.debug("got: "+res) } val receiver=new ExampleReceiver val queryid= adapter.listenToQuery(query,mapping,receiver) http://streamreasoning.org/sr4ld2013 26
  • 27. SPARQLStream from command line • encoded_value=$(python -c "import urllib; print urllib.quote('''SELECT DISTINCT ?timeto ?obs FROM NAMED STREAM <http://emt.linkeddata.es/data#busstops.srdf> [NOW - 30 S] WHERE { ?obs a <http://emt.linkeddata.es/data#BusObservation>. ?obs <http://purl.oclc.org/NET/ssnx/ssn#observedBy><http://transporte.li nkeddata.es/emt/busstop/id/2018>. ?obs <http://purl.oclc.org/NET/ssnx/ssn#observationResult> ?output. ?output <http://emt.linkeddata.es/data#timeToBusValue> ?av. ?av <http://data.nasa.gov/qudt/owl/qudt#numericValue> ?timeto. }''')") Just encoding query • curl "http://streams.linkeddata.es/emt/sparqlstream?query=$encoded_val ue” Disclaimer: Simplistic, not implementing all of the SPARQL protocol http://streamreasoning.org/sr4ld2013 27
  • 28. Sample result { "head": { "vars": [ "timeto" , "obs" ] }, "results": { "bindings": [ Bindings in JSON { "timeto": { "datatype": "http://www.w3.org/2001/XMLSchema#string" , "type": "typedliteral" , "value": "0" } , "obs": { "type": "uri" , "value": "http://transporte.linkeddata.es/emt/busstop/id/2018/busline/9/observation/20/09/2013%2010:2 8:19%20%2B0200" } } ] } } http://streamreasoning.org/sr4ld2013 28
  • 29. Resources  Morph-Streams • https://github.com/jpcik/morph-streams  See demos • • http://transporte.linkeddata.es/ (SPARQL-Stream tab) Check our Madrid buses demo at SSN2013 workshop tomorrow  Read out more • Enabling Query Technologies for the Semantic Sensor Web. J.-P. Calbimonte, H. Jeung, O. Corcho and K. Aberer. International Journal on Semantic Web and Information Systems IJSWIS, Volume 8(1)., 2012  Contact point • • jp.calbimonte@upm.es ocorcho@fi.upm.es http://streamreasoning.org/sr4ld2013 29
  • 30. Stream Reasoning For Linked Data M. Balduini, J-P Calbimonte, O. Corcho, D. Dell'Aglio, E. Della Valle, and J.Z. Pan http://streamreasoning.org/sr4ld2013 SPARQLStream: Ontologybased access to data streams Jean Paul Calbimonte, Oscar Corcho jp.calbimonte@upm.es, ocorcho@fi.upm.es http://www.oeg-upm.net/
  • 31. RDF Streams 〈s,p,o 〉 <aemet:observation1, ssn:observedBy, aemet:Sensor3> <aemet:observation1, qudt:hasNumericValue, “15.5”> For streams? (〈s,p,o〉,τ) (<aemet:observation1, qudt:hasNumericValue, “15.5”>,34532) timestamped triples • Gutierrez et al. (2007) Introducing time into RDF. IEEE TKDE • Rodríguez et al. (2009) Semantic management of streaming data. SSN http://streamreasoning.org/sr4ld2013 31