Erfgoed & Locatie (E&L) onderzoekt in haar pilot Infrastructuur de mogelijkheden en beperkingen van GeoSPARQL. Hiervoor heeft E&L een GeoSPARQL-demo ingericht. GeoSPARQL is de standaard van het Open Geospatial Consortium (OGC) voor het combineren van Linked Data semantiek en geografische functionaliteit.
Voor een uitgebreide technische toelichting op de demo, zie de pagina Technische toelichting GeoSPARQL-demo.
Gebruikte onderdelen
De demo toont de open dataset van de Rijksdienst voor het Cultureel Erfgoed (RCE) met 13.000 archeologische monumenten in Nederland, op de OpenStreetMap als ondergrond. Bijzonder aan de demo is dat de zoekresultaten niet afkomstig zijn uit een “klassieke” Spatial Data Infrastructure (SDI), maar rechtstreeks worden opgevraagd uit een linked data SPARQL-endpoint en worden gefilterd op de begrenzing zoals die in de kaart zichtbaar is. Dit wordt mogelijk gemaakt door de GeoSPARQL-triplestore USeekM, OpenLayers, PostGIS en de SPARQL-GeoJSON-javascriptbibliotheek van Erfgoed & Locatie (beschikbaar via GitHub). De demo wordt als free opensourcesoftware uitgebracht onder licentie GNU GPLv3.
Let wel: deze demo is een proefversie die niet is geoptimaliseerd. Toegang en zoeken kan veel tijd vergen en er zijn nog veel zaken die moeten gebeuren.
Bekijk de demo hieronder inline, of ga naar de volledige demo-pagina.
Uitdagingen
Deze demo kent nog een aantal problemen:
- Het is met deze back-end (nog) niet mogelijk om geografische filtermethoden te stapelen. De onderstaande query geeft een internal server error (of is dit een syntaxfout?):
PREFIX geo:<http://www.opengis.net/ont/geosparql#>
PREFIX geof:<http://www.opengis.net/def/function/geosparql/>
SELECT DISTINCT * WHERE {
?s geo:asWKT ?o .
FILTER (geof:sfWithin(?o, “POLYGON((4.48 52.18, 5.52 52.18, 5.52 52.14, 4.48 52.14, 4.48 52.18))”)
|| geof:sfOverlaps(?o, “POLYGON((4.48 52.18, 5.52 52.18, 5.52 52.14, 4.48 52.14, 4.48 52.18))”)) } - De demo combineert (nog) geen zoekresultaten zoals geof:sfWithin en geof:sfOverlaps om zoekresultaten geheel en gedeeltelijk als gecombineerd zoekresultaat te combineren.
- Gebruik van [] geeft errors: onderstaande query geeft een internal server error:
PREFIX geo:<http://www.opengis.net/ont/geosparql#> PREFIX geof:<http://www.opengis.net/def/function/geosparql/> SELECT * WHERE {[] geo:asWKT ?o . FILTER (geof:sfWithin(?o, “POLYGON((4.48 52.18, 5.52 52.18, 5.52 52.14, 4.48 52.14, 4.48 52.18))”^^geo:wktLiteral))}
Meehelpen?
Wil je bijdragen aan deze demo, in ideeën of code?
Laat het ons weten op info@erfgoedenlocatie.nl.