GraphDB-SE Geo-spatial Extensions

Version 1 by barry.bishop
on Mar 13, 2012 18:39.

compared with
Version 2 by Dimitar Manov
on Jul 17, 2014 17:26.

Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (4)

View Page History
{toc}

OWLIM-SE GraphDB-SE has special support for 2-dimensional geo-spatial data that uses the [WGS84 Geo Positioning RDF vocabulary (World Geodetic System 1984)|http://www.w3.org/2003/01/geo/wgs84_pos]. Special indices can be used for this data that permit the efficient evaluation of special query forms and extension functions that allow:
* locations to be found that are within a certain distance of a point, i.e. within the specified circle on the surface of the sphere (Earth), using the nearby(...) construction;
* locations that are within rectangles and polygons, where the vertices are defined using spherical polar coordinates, using the within(...) construction.

{note}
The following jar files (included with the OWLIM GraphDB distribution) must be on the classpath in order for the geo-spatial extensions to function correctly: jsi-1*.jar, log4j-1*.jar, sil-0*.jar, trove4j-2*.jar
{note}

h1. Geo-spatial query syntax

The special syntax used to query geo-spatial data makes use of SPARQL's [RDF Collections syntax|http://www.w3.org/TR/rdf-sparql-query/#collections]. This syntax uses round brackets as a shorthand for the statements connecting a list of values using {{rdf:first}} and {{rdf:rest}} predicates with terminating {{rdf:nil}}. Statement patterns that use one of the special geo-spatial predicates supported by OWLIM-SE GraphDB-SE are treated differently by the query engine. The following special syntax is supported when evaluating SPARQL queries (the descriptions all use the namespace:

{{omgeo: <[http://www.ontotext.com/owlim/geo#]>}}
h1. Implementation details

Knowledge of the implementation's algorithms and assumptions will allow users to make the best use of the OWLIM-SE GraphDB-SE geo-spatial extensions. The following points are significant and can affect the expected behaviour during query answering:
* Spherical Earth -- the current implementation treats the Earth as a perfect sphere with a radius of 6371.009km;
* Only 2-Dimensional points are supported, i.e. there is no special handling of geo:alt (metres above the reference surface of the Earth);