# GeoSPARQL

GeoSPARQL is a model for representing and querying geospatial linked data for the Semantic Web. It is standardized by the Open Geospatial Consortium as OGC GeoSPARQL. The definition of a small ontology based on well-understood OGC standards is intended to provide a standardized exchange basis for geospatial RDF data which can support both qualitative and quantitative spatial reasoning and querying with the SPARQL database query language.
The Ordnance Survey Linked Data Platform uses OWL mappings for GeoSPARQL equivalent properties in its vocabulary. The LinkedGeoData data set is a work of the Agile Knowledge Engineering and Semantic Web (AKSW) research group at the University of Leipzig, a group mostly known for DBpedia, that uses the GeoSPARQL vocabulary to represent OpenStreetMap data.
In particular, GeoSPARQL provides for:
* a small topological ontology in RDFS/OWL for representation using
** Geography Markup Language (GML) and well-known text representation of geometry (WKT) literals, and
** Simple Features, RCC8, and DE-9IM (a.k.a. Clementini, Egenhofer) topological relationship vocabularies and ontologies for qualitative reasoning, and
* a SPARQL query interface using
** a set of topological SPARQL extension functions for quantitative reasoning, and
** a set of Rule Interchange Format (RIF) Core inference rules for query transformation and interpretation.

## Example

The following example SPARQL query could help model the question "What is within the bounding box defined by 38°54′49″N 77°05′20″W﻿ / ﻿38.913574°N 77.089005°W﻿ / 38.913574; -77.089005 and 38°53′11″N 77°01′48″W﻿ / ﻿38.886321°N 77.029953°W﻿ / 38.886321; -77.029953?"

## RCC8 use in GeoSPARQL

RCC8 has been implemented in GeoSPARQL as described below:

## Implementations

There are (almost) no complete implementations of GeoSPARQL; however, there are partial or vendor implementations of GeoSPARQL. Currently there are the following implementations:

### Apache Marmotta

    GeoSPARQL was implemented in the context of the Google Summer of Code 2015. on Apache Marmotta; it uses PostGIS, and it is available just for PostgreSQL.

### Apache Jena

    Since version 2.11 Apache Jena has a GeoSPARQL extension.

### Ontop VKG

    Support for GeoSPARQL was added to Ontop in version 4.2.

### Parliament Archived 30 April 2014 at the Wayback Machine

    Parliament has an almost complete implementation of GeoSPARQL by using JENA and a modified ARQ query processor.

### Eclipse RDF4J

    Eclipse RDF4J is an open-source Java framework for scalable RDF processing, storage, reasoning and SPARQL querying. It offers support for a large subset of GeoSPARQL functionality.

### Strabon Archived 20 August 2014 at the Wayback Machine

    Strabon is an open-source semantic spatiotemporal RDF store that supports two popular extensions of SPARQL: stSPARQL and GeoSPARQL. Strabon is built by extending RDF4J and extends it to manage thematic, spatial and temporal data that is stored in the backend RDBMS. It has been fully tested with PostgreSQL (with PostGIS and PostgreSQL-Temporal extensions) and MonetDB (with geom module).

### OpenSahara uSeekM IndexingSail Sesame Sail plugin

    uSeekM IndexingSail uses a PostGIS installation to deliver GeoSPARQL. They deliver partial implementation of GeoSPARQL along with some vendor prefixes.

### GraphDB

    GraphDB is an enterprise ready Semantic Graph Database, compliant with W3C Standards. Semantic graph databases (also called RDF triplestores) provide the core infrastructure for solutions where modelling agility, data integration, relationship exploration and cross-enterprise data publishing and consumption are important.

### Stardog

    Stardog is an enterprise data unification platform built on smart graph technology: query, search, inference, and data virtualization.

### Virtuoso Universal Server

    Virtuoso Universal Server is a middleware and database engine hybrid that combines the functionality of a traditional Relational database management system (RDBMS), Object-relational database (ORDBMS), virtual database, RDF, XML, free-text, web application server and file server functionality in a single system.

## Performance and Compliance Benchmarking

Benchmarking GeoSPARQL 1.0 and geospatial-enabled triplestores, in general, has been conducted using several approaches. One can distinguish between performance and compliance benchmarks. The former can reveal whether a triplestore gives a timely answer to a GeoSPARQL query and may or may not check the answer for correctness. The latter checks whether a triplestore gives compliant answers with respect to the definitions of the GeoSPARQL 1.0 standard irrespective of the time the query takes for execution.
Well-known geospatial performance benchmarks include the Geographica and Geographica 2 benchmarks which track the performance of predefined sets of queries on synthetic and real-world datasets. They each test a subset of GeoSPARQL query functions for performance. Another performance benchmark by Huang et al. assessed the performance of GeoSPARQL-enabled triple stores as part of a spatial data infrastructure.
Compliance benchmarking of OGC standards is usually conducted as part of the OGC Team Engine Test Suite which allows companies to obtain certification for implementing certain OGC specifications correctly. As of 2021, however, the OGC Team Engine does not provide a set of compliance tests to test GeoSPARQL compliance. Nevertheless, in 2021, Jovanovik et al. developed the first comprehensive, reproducible GeoSPARQL Compliance benchmark in which nine different triple stores were initially tested. The results of these first compliance tests along with the software are available on Github.

## Submission

The GeoSPARQL standard was submitted to the OGC by:
* Australian Bureau of Meteorology
* Bentley Systems
* Commonwealth Scientific and Industrial Research Organisation (CSIRO)
* Defence Geospatial Information Working Group (DGIWG)
* Natural Resources Canada
* Interactive Instruments GmbH
* Oracle America
* Ordnance Survey
* Raytheon
* Traverse Technologies
* US Geological Survey (USGS)

## Future development

With regards to future work, the GeoSPARQL standard states:
   Obvious extensions are to define new conformance classes for other standard serializations of geometry data (e.g. KML, GeoJSON). In addition, significant work remains in developing vocabularies for spatial data, and expanding the GeoSPARQL vocabularies with OWL axioms to aid in logical spatial reasoning would be a valuable contribution. There are also large amounts of existing feature data represented in either a GML file (or similar serialization) or in a datastore supporting the general feature model. It would be beneficial to develop standard processes for converting (or virtually converting and exposing) this data to RDF.
In 2019, the OGC's GeoSemantics Domain Working Group set out to assess the current usage of GeoSPARQL in different domains in the White Paper "OGC Benefits of Representing Spatial Data Using Semantic and Graph Technologies" and collected initial feature requests to extend GeoSPARQL.
This led to the re-establishment of the GeoSPARQL Standards Working Group with a newly formed working group charter in September 2020. The group is working towards a new release of the GeoSPARQL standard, with non-breaking changes - GeoSPARQL 1.1 - in the summer of 2021, the development of which can be followed on Github.
At the GeoLD workshop 2021, held as part of the Extended Semantic Web Conference 2021, an outline of the additions which are likely to be present in GeoSPARQL 1.1 has been presented. The changes have been further consolidated and summarized in a publication in the ISPRS International Journal of GeoInformation.