SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
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 FresherRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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
 

Kürzlich hochgeladen (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 

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