The port of a city is a very dynamic environment that houses
lots of companies. Ships come and go, and goods are always on the move. Information integration in geographic information systems is of great importance for tracking purposes, and for proactive and reactive incident handling by the port operators. Linked data and semantic web technologies can be of benefit for the integration of both streaming data such as location data about ships, trains and containers, with static data about companies, their activities and storage sites. With current RDF stream processors it is possible to execute SPARQL queries over RDF data streams taking into account static background data. However, none of them is capable of handling GeoSPARQL queries. GeoSPARQL is an extension to the SPARQL query language for processing geospatial data. To address this challenge we extended the RSP engine C-SPARQL with GeoSPARQL support, making it possible to query geospatial data streams.
Chapter 1 - Introduction to Data Mining Concepts and Techniques.pptx
C-GeoSPARQL: Streaming geospatial support on C-SPARQL
1. PUBLIC
C-GEOSPARQL: STREAMING GEOSPARQL
SUPPORT ON C-SPARQL
ALEXANDER DEJONGHE, FEMKE ONGENAE,
STIJN VERSTICHEL AND FILIP DE TURCK
IDLab - imec - Ghent University
Technologiepark 15, 9052 Zwijnaarde, Belgium
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13. How can we perform
advanced geospatial
querying on location data?
14. RDF STREAM PROCESSING
None of the current RSP implementations
looked into geospatial querying
C-SPARQL
CQELS
Streaming SPARQL
SPARQLStream
INSTANS
TEF-SPARQL
ETALIS
Sparkwave
15. GEOSPATIAL SPARQL EXTENSIONS
2 main geospatial SPARQL extensions: GeoSPARQL & stSPARQL
Representation and querying of geospatial data
Geometries can be represented as literals in WKT or GML
Provide topological relationship and analysis functions
GeoSPARQL
OGC standard
RDFS ontology for the representation of features and geometries
stSPARQL
Temporal querying support as well
Aggregate functions and update statements
18. GEOSPARQL QUERY
SELECT ?ship
WHERE {
?ship rdf:type caprads:Ship .
?ship geo:hasGeometry ?s .
?s geo:asWKT ?sWKT .
?dock rdf:type caprads:Dock .
?dock rdfs:label “ALPHONSE SIFFERDOK” .
?dock geo:hasGeometry ?d .
?d geo:asWKT ?dWKT .
FILTER ( geof:sfWithin ( ?sWKT, ?dWKT) )
}
Look for a ship and its location
Get the geometry of the dock
Check if the ship is in the dock
19. GEOSPARQL IMPLEMENTATIONS
Rare …
Partially implemented (and extended) in some triple stores
Others have their own geospatial extensions
Parliament
Strabon
GraphDB
Oracle
Spatial and Graph Stardog
Apache Marmotta
20. CONTINUOUS GEOSPARQL (C-GEOSPARQL)
SELECT ?ship ?name ?sWKT
FROM STREAM <ship_observations> [RANGE 60s STEP 5s ]
FROM <docks>
WHERE {
?ship rdf:type caprads:Ship .
?ship geo:hasGeometry ?s .
?s geo:asWKT ?sWKT .
?p caprads:properties ?p .
?p caprads:shipName ?name .
?dock rdf:type caprads:Dock .
?dock rdfs:label “ALPHONSE SIFFERDOK” .
?dock geo:hasGeometry ?d .
?d geo:asWKT ?dWKT .
FILTER ( geof:sfWithin ( ?sWKT, ?dWKT) )
}
= RDF STREAM PROCESSING + GEOSPARQL
Look for a ship and it location
Get the name of the ship
Get the geometry of the ALPHONSE SIFFERDOCK
Check if the ship is in the dock
Streaming data
Static data
21. CONTINUOUS GEOSPARQL (C-GEOSPARQL)
SELECT ?ship ?name ?sWKT
FROM STREAM <ship_observations> [RANGE 60s STEP 5s ]
FROM <docks>
WHERE {
?ship rdf:type caprads:Ship .
?ship geo:hasGeometry ?s .
?s geo:asWKT ?sWKT .
?p caprads:properties ?p .
?p caprads:shipName ?name .
?dock rdf:type caprads:Dock .
?dock rdfs:label “ALPHONSE SIFFERDOK” .
?dock geo:hasGeometry ?d .
?d geo:asWKT ?dWKT .
FILTER ( geof:sfWithin ( ?sWKT, ?dWKT) )
}
= RDF STREAM PROCESSING + GEOSPARQL
Look for a ship and its location
Get the name of the ship
Get the geometry of the ALPHONSE SIFFERDOCK
Check if the ship is in the dock
22. CONTINUOUS GEOSPARQL (C-GEOSPARQL)
DSMS SPARQL
C-SPARQL
Parliament
GeoSPARQL
Index adaptor Query Optimizer
Storage Adaptor
Parliament Storage Manager
C-SPARQL
RSP with modular architecture
Combination of 2 subsystems
Parliament
Open-source triple store
Most complete GeoSPARQL
implementation (?)
23. CONTINUOUS GEOSPARQL (C-GEOSPARQL)
DSMS SPARQL
C-SPARQL
Parliament
GeoSPARQL
Index adaptor Query Optimizer
Storage Adaptor
Parliament Storage Manager
C-SPARQL
RSP with modular architecture
Combination of 2 subsystems
Parliament
Open-source triple store
Most complete GeoSPARQL
implementation (?)
Jena ARQ
Both systems relay on Jena ARQ for
query evaluation
31. DEMONSTRATOR
About the port of Ghent
Integration of ship observation with context and background knowledge
Streaming data: AIS Ship observations
Data from MarineTraffic
Recorded data stream available in GeoJSON format
Context: Description of docks, company sites, quays, …
Open data published by the city of Ghent (datatank.gent.be)
Data available in KML format
34. WRAP UP
Importance of geospatial data will increase
Geospatial data important source of streaming data for RSP
Easy integration of Parliament in C-SPARQL resulted in C-GeoSPARQL
C-GeoSPARQL used for demonstrator implementation
Parliament (file-based) has negative impact on performance
Need for in-memory GeoSPARQL evaluation
Need for better benchmarking
35. IDLab - imec - Ghent University
Technologiepark 15
9052 Zwijnaarde, Belgium
Alexander.Dejonghe@UGent.be
Project available at:
https://github.com/adejonghe/pog-
demo