Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Continuously Updating Query Results over Real-Time Linked Data
1. Ruben Taelman - @rubensworks
iMinds - Ghent University
Continuously Updating Query Results
over Real-Time Linked Data
2. Dynamic Linked Data
E.g. Thermometer measures every minute:
“19,05°C” - 30-05-2016 11:00
“19,06°C” - 30-05-2016 11:01
“19,11°C” - 30-05-2016 11:02
“19,08°C” - 30-05-2016 11:03
…
Typically exposed as an RDF stream = stream of <RDF triple, timestamp>
3. Querying continous data
Clients send queries to server: e.g. What is the current temperature?
Server continuously evaluates the queries
→ Server does all of the work
Cause of low public endpoint availability!
½ have availability of < 95% (Buil-Aranda 2013)
→ Clients just wait for results
4. What if we moved continuous query evaluation to the client?
→ to lower server load
5. Triple Pattern Fragments does this for static data!
Triple pattern fragments (TPF) (Verborgh 2016):
Servers can only respond to triple pattern queries
Clients need to evaluate queries locally
→ Lowers server complexity
Can we do the same for dynamic data?
8. Dynamic data representation
Expose dynamic data through the TPF interface
→ Represent dynamic data in RDF
We annotate dynamic data with the time at which they are valid
→ Client can derive the time at which data can change!
But how do we annotate data/triples with time?
10. Time labeling types
Time interval
Expiration time
Start- and endtime of validity
Good for maintaining a history of elements
Endtime of validity
When only the latest version is required
15. Measure query execution times for query duration
Query: “All trains with their delay in station X within the next hour”
Frequency: 10 seconds
Clients: 1
Engine: Query streamer
Annotation methods: singleton property, graph, implicit graph
Time labeling types: time interval, expiration time
Evaluating annotation methods
17. Evaluating scalability
Measure server CPU usage for increasing # clients
Query: “All trains with their delay in station X within the next hour”
Frequency: 10 seconds
Clients: 1 → 200
Engines: Query streamer, C-SPARQL (Barbieri 2012) and
CQELS (Le-Phuoc 2011)
Annotation method: graph
Time labeling types: expiration time
20. Overview
Dynamic data representation
Annotate dynamic data with time
Query streamer engine
Client-side query engine
Dynamic data at TPF server
Evaluation
Annotation methods
Scalability