This repository holds test details forked from the GeoSPARQL Compliance Benchmark at https://github.com/OpenLinkSoftware/GeoSPARQLBenchmark. The original repository holds far more tests and is run using the HOBBIT Platform. This subset is used with the modified Tests for Triplestore (TFT) platform.
The benchmark tests in this repository evaluate the GeoSPARQL compliance of RDF storage systems related to the Core, basic geometry, simple features and query rewrite aspects of the OGC GeoSPARQL standard. They cover requirements #1-4, 7-14, 19, 22 and 28 of the standard, and represent the capabilities relevant to Wikidata.
For reference, the data, queries and results from the src/main/resources directory of the original benchmark are reorganized in the geosparql directory below. Instead of having gsb_queries, _dataset and _answers directories to separate the files, the queries and answers are grouped together within the Core, Topology, Geometry Extension, Geometry Topology Extension and Query Rewrite (core, top, geoext, gtop and qrw) folders. In addition, only the dataset.rdf file is used and is also included in each of the folders.
The specific requirments and queries used in this repository are:
Req. | Set of corresponding queries | Description |
---|---|---|
Core component (CORE) | ||
R1 | query-r01.rq | Selecting the first triple where geometry A is the subject |
R2 | query-r02.rq | Selecting the first entity of type geo:SpatialObject |
R3 | query-r03.rq | Selecting the first entity of type geo:Feature |
Geometry extension (GEOEXT) | ||
R7 | query-r07.rq | Selecting all entities of type geo:Geometry |
R8 | query-r08-1.rq, query-r08-2.rq | Selecting the value of geometry A denoted by the properties geo:hasGeometry and geo:hasDefaultGeometry |
R9 | query-r09-1.rq, query-r09-2.rq, query-r09-3.rq, query-r09-4.rq, query-r09-5.rq, query-r09-6.rq |
Selecting of the value of geometry A denoted by the properties geo:dimension, geo:coordinateDimension, geo:spatialDimension, geo:isEmpty, geo:isSimple and geo:hasSerialization |
R10 | query-r10.rq | Checking the datatype of a correctly defined WKT literal from the dataset |
R11 | query-r11.rq | Checking the equality of two geometries from the dataset |
R12 | query-r12.rq | Checking the system interprets the axis order within a point geometry according to the spatial reference system being used |
R13 | query-r13-1.rq, query-r13-2.rq | Checking if an empty RDFS Literal of type geo:wktLiteral is interpreted as an empty geometry |
R14 | query-r14.rq | Checking the geo:asWKT value of geometry A against the expected literal value |
R19 | query-r19-1-1.rq, query-r19-2-1.rq, query-r19-3-1.rq, query-r19-4-1.rq, [query-r19-5-1.rq]https://github.com/AndreaWesterinen/GeoSPARQLBenchmark/tree/master/geosparql/geoext/query-r19-5-1.rq), query-r19-6-1.rq, query-r19-7-1.rq, query-r19-8-1.rq | Checking support of the geospatial functions geof:distance, geof:buffer, geof:convexHull, geof:intersection, geof:union, geof:difference, geof:symDifference, geof:envelope and geof:boundary, for the WKT geometry |
Geometry topology extension (GTOP) | ||
R22 | query-r22-1-1.rq, query-r22-2-1.rq, query-r22-3-1.rq, query-r22-4-1.rq, query-r22-5-1.rq, query-r22-6-1.rq, query-r22-7-1.rq, query-r22-8-1.rq | Checking support of the geospatial functions geof:sfEquals, geof:sfDisjoint, geof:sfIntersects, geof:sfTouches, geof:sfCrosses, geof:sfWithin, geof:sfContains and geof:sfOverlaps for the WKT geometry |
Query Rewriting of the Simple Features (QRW) | ||
R28 | query-r28-1.rq, query-r28-2.rq, query-r28-3.rq, query-r28-4.rq, query-r28-5.rq, query-r28-6.rq, query-r28-7.rq, query-r28-8.rq | Testing the properties, geo:sfEquals, geo:sfDisjoint, geo:sfIntersects, geo:sfTouches, geo:sfCrosses, geo:sfWithin, geo:sfContains and geo:sfOverlaps, between features and geometries |
Topology vocabulary extension (TOP) | ||
R4 | query-r04-1.rq, query-r04-2.rq, query-r04-3.rq, query-r04-4.rq, query-r04-5.rq, query-r04-6.rq, query-r04-7.rq, query-r04-8.rq |
Testing the properties, geo:sfEquals, geo:sfDisjoint, geo:sfIntersects, geo:sfTouches, geo:sfCrosses, geo:sfWithin, geo:sfContains and geo:sfOverlaps |
The original benchmark was developed as part of the HOBBIT and SAGE research projects.