GeoSPARQL Functions

SC13-03 (v0.86.0): this page documents the implementation status of all GeoSPARQL 1.1 functions in pg_ripple.

pg_ripple implements the GeoSPARQL 1.1 extension (OGC, 2022) via the PostGIS integration layer. Geometry literals are stored as WKT strings with the geo:wktLiteral datatype.


Topological Relations

GeoSPARQL topological relation functions operate on geometry literals and return xsd:boolean.

FunctionPrefixStatusNotes
geo:sfEqualsgeo:✅ ImplementedPostGIS ST_Equals
geo:sfDisjointgeo:✅ ImplementedPostGIS ST_Disjoint
geo:sfIntersectsgeo:✅ ImplementedPostGIS ST_Intersects
geo:sfTouchesgeo:✅ ImplementedPostGIS ST_Touches
geo:sfCrossesgeo:✅ ImplementedPostGIS ST_Crosses
geo:sfWithingeo:✅ ImplementedPostGIS ST_Within
geo:sfContainsgeo:✅ ImplementedPostGIS ST_Contains
geo:sfOverlapsgeo:✅ ImplementedPostGIS ST_Overlaps
geo:ehEqualsgeo:✅ ImplementedEgenhofer equals
geo:ehDisjointgeo:✅ ImplementedEgenhofer disjoint
geo:ehMeetgeo:✅ ImplementedEgenhofer meet
geo:ehOverlapgeo:✅ ImplementedEgenhofer overlap
geo:ehCoversgeo:✅ ImplementedEgenhofer covers
geo:ehCoveredBygeo:✅ ImplementedEgenhofer covered by
geo:ehInsidegeo:✅ ImplementedEgenhofer inside
geo:ehContainsgeo:✅ ImplementedEgenhofer contains
geo:rcc8dcgeo:✅ ImplementedRCC8 DC
geo:rcc8ecgeo:✅ ImplementedRCC8 EC
geo:rcc8pogeo:✅ ImplementedRCC8 PO
geo:rcc8tppigeo:✅ ImplementedRCC8 TPPi
geo:rcc8tppgeo:✅ ImplementedRCC8 TPP
geo:rcc8ntppigeo:✅ ImplementedRCC8 NTPPi
geo:rcc8ntppgeo:✅ ImplementedRCC8 NTPP
geo:rcc8eqgeo:✅ ImplementedRCC8 EQ

Non-topological Functions

FunctionStatusReturnsNotes
geo:distance✅ Implementedxsd:doublePostGIS ST_Distance; unit = degrees (EPSG:4326)
geo:buffer✅ Implementedgeo:wktLiteralPostGIS ST_Buffer
geo:convexHull✅ Implementedgeo:wktLiteralPostGIS ST_ConvexHull
geo:intersection✅ Implementedgeo:wktLiteralPostGIS ST_Intersection
geo:union✅ Implementedgeo:wktLiteralPostGIS ST_Union
geo:difference✅ Implementedgeo:wktLiteralPostGIS ST_Difference
geo:symDifference✅ Implementedgeo:wktLiteralPostGIS ST_SymDifference
geo:envelope✅ Implementedgeo:wktLiteralPostGIS ST_Envelope
geo:boundary✅ Implementedgeo:wktLiteralPostGIS ST_Boundary
geo:area✅ Implementedxsd:doublePostGIS ST_Area; unit = square degrees
geo:length✅ Implementedxsd:doublePostGIS ST_Length
geo:asWKT✅ Implementedgeo:wktLiteralPostGIS ST_AsText
geo:asGeoJSON✅ Implementedxsd:stringPostGIS ST_AsGeoJSON

Known Gaps

FunctionStatusReason
geo:metricArea⏳ PlannedRequires CRS-aware unit conversion via GEOGRAPHY type
geo:metricLength⏳ PlannedRequires CRS-aware unit conversion
geo:metricPerimeter⏳ PlannedRequires CRS-aware unit conversion
geo:metricDistance⏳ PlannedRequires CRS-aware unit conversion
DGGS functions🔜 FutureDiscrete Global Grid Systems (DGGS) not yet implemented

Enabling GeoSPARQL

GeoSPARQL requires the PostGIS extension:

CREATE EXTENSION postgis;
CREATE EXTENSION pg_ripple CASCADE;

See GeoSPARQL + PostGIS Integration for a full tutorial.