Hi, I am using v7.9.1 with Enterprise license for 1-year and I am evaluating Stardog's geospatial features. Below you can see the server startup messages:
Stardog server 7.9.1 started on Mon May 23 12:35:17 EEST 2022. Stardog server is listening on all network interfaces. HTTP server available at http://localhost:5820. STARDOG=/media/sf_VM_Shared/PHD/stardog-7.9.1/bin/.. STARDOG_EXT=/media/sf_VM_Shared/PHD/stardog-7.9.1/server/ext STARDOG_HOME=/home/tioannid/Downloads/StarDog/
I downloaded and placed the JTS jar in the appropriate folder:
$ $ ls /media/sf_VM_Shared/PHD/stardog-7.9.1/server/ext jts-core-1.15.0.jar
After server startup I check for the spatial related properties to verify that JTS is enabled:
$ $StardogBaseDir/bin/stardog-admin property get | grep spatial | spatial.use.jts | true |
I used the following stardog.properties file before startup:
$ cat /home/tioannid/Downloads/StarDog/stardog.properties # Enable support for JTS in the geospatial module spatial.use.jts=true # Bulk loading optimization properties memory.mode=bulk_load #strict.parsing=false strict.parsing=true
There are no databases yet:
$ $StardogBaseDir/bin/stardog-admin db list No databases in the system; use the 'create' command to make a new database.
I create the new spatially enabled (with JTS) database with the following command:
time $StardogBaseDir/bin/stardog-admin db create -o spatial.enabled=true spatial.use.jts=true -n scalability_10K /datasets/Scalability/10K Bulk loading data to new database scalability_10K. Loaded 10,000 triples to scalability_10K from 1 file(s) in 00:00:02.269 @ 4.4K triples/sec. Successfully created database 'scalability_10K'. real 0m4,492s user 0m3,156s sys 0m0,570s
Checking if the database has been created:
$ $StardogBaseDir/bin/stardog-admin db list +-----------------+ | Databases | +-----------------+ | scalability_10K | +-----------------+
Checking "scalability_10K" database metadata for spatial related properties:
$ $StardogBaseDir/bin/stardog-admin metadata get scalability_10K | grep spatial | optimize.spatial | false | | spatial.distance.precision | 8 | | spatial.enabled | true | | spatial.error.percentage | 0.025 | | spatial.index.dirty | false | | spatial.index.version | 1 | | spatial.precision | 11 | | spatial.result.limit | 10000 | | spatial.result.page_size | 100000 | | spatial.use.jts | false |
Database is spatially enabled but JTS is not!
At the same time looking at the Stardog log we have a number of warnings (skipped geometries!):
$ cat stardog.log | grep "com.complexible.stardog.spatial.io.RDFGeospatialSource:parse" | grep "MULTIPOLYGON" | wc -l 900
This is the same number of MULTIPOLYGON geometries contained in the N-Triples file initially imported.
Is there something I am doing wrong? I need to enable JTS since the benchmark datasets include complex geometries and most of the other systems in the benchmark (GraphDB, RDF4J, Jena GeoSPARQL, etc) do not have an issue with the same datasets.