Overview of GeoSPARQL Implementation in Parliament

undefined
 
GEOSPARQL IN
PARLIAMENT
 
Terra Cognita
Dave Kolas
November 12, 2012
 
Parliament
 
Parliament
In continuous customer use for ~10 years (Originally
DAML-DB)
Triple Store with SPARQL support
Implemented as a persistence layer for Jena/Sesame
Includes spatial and temporal indexing/processing
Open source! 
http://parliament.semwebcentral.org/
 
3
 
Design
Joseki
Spatial Index
 Processor
Parliament Graph
Model
IndexingGraph
Spatial Index
(deegree)
Parliament (C++)
 
Part of Jena
 
Parliament
Framework
 
External Storage
Temporal Index
 Processor
Temporal Index
(BDB)
 
Parliament’s Indexing Strategy
 
Applications often require efficient statement insertion
Goal:  Balanced insertion, query performance, and
space required
Parliament stores triples using two components:
Resource dictionary
Statement table
Additional indices can be added for specific purposes
and vocabularies
Spatial Index
Temporal Index
 
Parliament’s Spatial Index
 
First created before GeoSPARQL, used terms
derived from GeoRSS
Now supports most of GeoSPARQL specification
Index is based on R tree in deegree library
(deegree.org)
Approach:
Explicit geometries, no qualitative reasoning
Optimization so far on triple patterns, not functions
 
GeoSPARQL Implementation
 
Parliament supports:
Both GML and WKT literals, and can interchange
between them
All three vocabularies for spatial relations (simple
features, rcc8, and Egenhofer)
Triple-pattern spatial relations
Filter functions for spatial relations and spatial
combinations
A large number of coordinate reference systems
RDFS Reasoning
 
GeoSPARQL Missing Pieces
 
The following features of GeoSPARQL are not
currently implemented in Parliement:
Feature-to-feature spatial relations via query rewriting
Optimization on FILTER functions
Qualitative reasoning
Standard properties for Geometry
dimension, spatialDimension, isEmpty, isSimple,
hasSerialization
Function getSRID
 
Parliament’s Temporal Index
 
Parallel to spatial index
Terminology taken from OWL-Time (using Allen
relations for overlapping intervals, etc)
Uses Java version of Berkeley DB for persisting
index
 
Build Process Improvements
 
Until very recently, GeoSPARQL support was on a
branch, and required building for your desired
platform
GeoSPARQL support has been merged into the
trunk and prebuilt binaries are now available for
Windows, Mac, and Linux
Parliament build structure has been improved again
to require fewer dependencies
 
Examples
 
Data on geosparql.bbn.com
Data sets:
USGS data in Atlanta, GA
Rails, Rivers
Geonames data
Administrative areas
Points for buildings, such as schools
 
Example Query 1
 
Find All Schools within Georgia
 
SELECT DISTINCT ?school
WHERE {
 GRAPH <http://example.org/data> {
  # get Georgia geometry
  gu:_1705317
   geo:hasGeometry ?ga_geo .
 
  # get schools within Georgia
  ?school a gn:Feature ;
   geo:hasGeometry ?school_geo ;
   gn:featureCode gn:S.SCH .
 
  ?school_geo geo:sfWithin ?ga_geo .
 }
}
 
Example Query 2
 
Find Geonames features within 10k
of the Nixon Grove School
 
SELECT ?x
WHERE {
 GRAPH <http://www.geonames.org> {
  <http://sws.geonames.org/4212826/> geo:hasGeometry ?geo1 .
  ?geo1 geo:asWKT ?wkt1 .
  BIND (geof:buffer(?wkt1, 10000, units:metre) as ?buff) .
 
  ?x geo:hasGeometry ?geo2 .
  ?geo2 geo:asWKT ?wkt2 .
  FILTER (geof:sfContains(?buff, ?wkt2))
 }
}
Slide Note
Embed
Share

Explore the GeoSPARQL implementation in Parliament, a triple store with SPARQL support used for over a decade. Learn about its design, indexing strategy, spatial features, and missing components compared to GeoSPARQL standards. Discover how Parliament supports GML and WKT literals, various spatial relations, and the challenges it faces in fully implementing GeoSPARQL specifications.

  • GeoSPARQL
  • Parliament
  • Implementation
  • Spatial Indexing
  • Triple Store

Uploaded on Sep 21, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. GEOSPARQL IN PARLIAMENT Terra Cognita Dave Kolas November 12, 2012

  2. Parliament Parliament In continuous customer use for ~10 years (Originally DAML-DB) Triple Store with SPARQL support Implemented as a persistence layer for Jena/Sesame Includes spatial and temporal indexing/processing Open source! http://parliament.semwebcentral.org/

  3. Design 3 Part of Jena Spatial Index Processor Joseki Parliament Framework External Storage Model Spatial Index (deegree) IndexingGraph Temporal Index Processor Temporal Index (BDB) Parliament Graph Parliament (C++)

  4. Parliaments Indexing Strategy Applications often require efficient statement insertion Goal: Balanced insertion, query performance, and space required Parliament stores triples using two components: Resource dictionary Statement table Additional indices can be added for specific purposes and vocabularies Spatial Index Temporal Index

  5. Parliaments Spatial Index First created before GeoSPARQL, used terms derived from GeoRSS Now supports most of GeoSPARQL specification Index is based on R tree in deegree library (deegree.org) Approach: Explicit geometries, no qualitative reasoning Optimization so far on triple patterns, not functions

  6. GeoSPARQL Implementation Parliament supports: Both GML and WKT literals, and can interchange between them All three vocabularies for spatial relations (simple features, rcc8, and Egenhofer) Triple-pattern spatial relations Filter functions for spatial relations and spatial combinations A large number of coordinate reference systems RDFS Reasoning

  7. GeoSPARQL Missing Pieces The following features of GeoSPARQL are not currently implemented in Parliement: Feature-to-feature spatial relations via query rewriting Optimization on FILTER functions Qualitative reasoning Standard properties for Geometry dimension, spatialDimension, isEmpty, isSimple, hasSerialization Function getSRID

  8. Parliaments Temporal Index Parallel to spatial index Terminology taken from OWL-Time (using Allen relations for overlapping intervals, etc) Uses Java version of Berkeley DB for persisting index

  9. Build Process Improvements Until very recently, GeoSPARQL support was on a branch, and required building for your desired platform GeoSPARQL support has been merged into the trunk and prebuilt binaries are now available for Windows, Mac, and Linux Parliament build structure has been improved again to require fewer dependencies

  10. Examples Data on geosparql.bbn.com Data sets: USGS data in Atlanta, GA Rails, Rivers Geonames data Administrative areas Points for buildings, such as schools

  11. Example Query 1 Find All Schools within Georgia SELECT DISTINCT ?school WHERE { GRAPH <http://example.org/data> { # get Georgia geometry gu:_1705317 geo:hasGeometry ?ga_geo . # get schools within Georgia ?school a gn:Feature ; geo:hasGeometry ?school_geo ; gn:featureCode gn:S.SCH . ?school_geo geo:sfWithin ?ga_geo . } }

  12. Example Query 2 Find Geonames features within 10k of the Nixon Grove School SELECT ?x WHERE { GRAPH <http://www.geonames.org> { <http://sws.geonames.org/4212826/> geo:hasGeometry ?geo1 . ?geo1 geo:asWKT ?wkt1 . BIND (geof:buffer(?wkt1, 10000, units:metre) as ?buff) . ?x geo:hasGeometry ?geo2 . ?geo2 geo:asWKT ?wkt2 . FILTER (geof:sfContains(?buff, ?wkt2)) } }

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#