You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Erik Bijsterbosch <e....@gmail.com> on 2022/02/01 17:13:31 UTC

Howto address a named graph with a geosparql server in an existing persistent store

Hi all,

I created a new jena tdb2 database and loaded it with 256 million triples
in a named graph, using a fuseki2/tdb2 4.3.2 docker setup.
The data also consist of geometries so I built a new docker image based on
jena-fuseki-geosparql 4.3.2
When I bring up the new fuseki container it seems I can't address the named
graph reusing the tdb2 database, it searches through the default graph.
According to the --help graph names can only be provided when loading from
files or is there another way?

Regards,
Erik

Re: Howto address a named graph with a geosparql server in an existing persistent store

Posted by Erik Bijsterbosch <e....@gmail.com>.
$ docker-compose logs fuseki
Attaching to fuseki
fuseki    | WARNING: sun.reflect.Reflection.getCallerClass is not
supported. This will impact performance.
fuseki    | [2022-02-01 17:08:14] INFO  Main            :: Arguments
Received: [-t, /fuseki/databases/DB2, --tdb2, --dataset, dst, --inference]
fuseki    | [2022-02-01 17:08:14] INFO  DatasetOperations :: Server
Configuration: port=3030, datsetName=dst, loopbackOnly=true,
updateAllowed=false, inference=true, applyDefaultGeometry=false,
validateGeometryLiteral=false, convertGeoPredicates=false,
removeGeoPredicates=false, queryRewrite=true,
tdbFile=/fuseki/databases/DB2, fileGraphFormats=[], fileGraphDelimiters=[],
indexEnabled=true, indexSizes=[-1, -1, -1], indexExpiries=[5000, 5000,
5000], spatialIndexFile=null, tdb2=true, help=false
fuseki    | [2022-02-01 17:08:14] INFO  DatasetOperations :: TDB Dataset:
/fuseki/databases/DB2, TDB2: true
fuseki    | [2022-02-01 17:08:15] INFO  GeoSPARQLOperations :: Applying
GeoSPARQL Schema - Started
fuseki    | [2022-02-01 17:08:15] INFO  GeoSPARQLOperations :: GeoSPARQL
schema not applied to empty graph: default

Op di 1 feb. 2022 om 18:13 schreef Erik Bijsterbosch <
e.bijsterbosch@gmail.com>:

> Hi all,
>
> I created a new jena tdb2 database and loaded it with 256 million triples
> in a named graph, using a fuseki2/tdb2 4.3.2 docker setup.
> The data also consist of geometries so I built a new docker image based
> on  jena-fuseki-geosparql 4.3.2
> When I bring up the new fuseki container it seems I can't address the
> named graph reusing the tdb2 database, it searches through the default
> graph.
> According to the --help graph names can only be provided when loading from
> files or is there another way?
>
> Regards,
> Erik
>

Re: Howto address a named graph with a geosparql server in an existing persistent store

Posted by Erik Bijsterbosch <e....@gmail.com>.
Update feedback:

Derby home setting is not necessary when setting the SIS_DATA variable.
Hence this is the cleaned up startup sequence in the docker entrypoint.sh:

# SiS_DATA set in docker-compose.yaml
export SIS_HOME=${SIS_DATA}/..

export START=`echo ${JAVA_HOME}/bin/java $JAVA_OPTIONS  -classpath
${SIS_HOME}/lib/:"${FUSEKI_DIR}/${FUSEKI_JAR}":${SIS_HOME}/lib/derby-10.14.2.0.jar
org.apache.jena.fuseki.geosparql.Main "$@"`
echo ${START}
exec ${START}




Op vr 4 feb. 2022 om 09:54 schreef Erik Bijsterbosch <
e.bijsterbosch@gmail.com>:

>
> We successfully loaded two demo sets with CRS  wgs84 and CRS 27700.
> So the geodetic EPSG dataset is used well.
> The problem must be in our srs uri's then and we will investigate our
> datasets and etl/minting on the schema's used.
>
> Attaching to fuseki
> fuseki    | /fuseki/databases/SIS/apache-sis-1.1/data/
> fuseki    | /opt/java-minimal/bin/java -Xmx24g -Xms24g
> -Dderby.system.home=/fuseki/databases/SIS/apache-sis-1.1/data/Databases
> -classpath
> /fuseki/databases/SIS/apache-sis-1.1/data/sis-embedded-data-1.1.jar:/fuseki/jena-fuseki-geosparql-4.4.0.jar
> org.apache.jena.fuseki.geosparql.Main -t /fuseki/databases/DB2-5 --tdb2
> --rdf_file /fuseki/store/geosparql_test.rdf --dataset dst
> --default_geometry --inference
> fuseki    | WARNING: sun.reflect.Reflection.getCallerClass is not
> supported. This will impact performance.
> fuseki    | [2022-02-04 08:59:49] INFO  Main            :: Arguments
> Received: [-t, /fuseki/databases/DB2-5, --tdb2, --rdf_file,
> /fuseki/store/geosparql_test.rdf, --dataset, dst, --default_geometry,
> --inference]
> fuseki    | [2022-02-04 08:59:49] INFO  DatasetOperations :: Server
> Configuration: port=3030, datsetName=dst, loopbackOnly=true,
> updateAllowed=false, inference=true, applyDefaultGeometry=true,
> validateGeometryLiteral=false, convertGeoPredicates=false,
> removeGeoPredicates=false, queryRewrite=true,
> tdbFile=/fuseki/databases/DB2-5,
> fileGraphFormats=[FileGraphFormat{rdfFile=/fuseki/store/geosparql_test.rdf,
> graphName=, rdfFormat=Turtle/pretty}], fileGraphDelimiters=[],
> indexEnabled=true, indexSizes=[-1, -1, -1], indexExpiries=[5000, 5000,
> 5000], spatialIndexFile=null, tdb2=true, help=false
> fuseki    | [2022-02-04 08:59:49] INFO  DatasetOperations :: TDB Dataset:
> /fuseki/databases/DB2-5, TDB2: true
> fuseki    | [2022-02-04 08:59:50] INFO  DatasetOperations :: Reading RDF -
> Started - File: /fuseki/store/geosparql_test.rdf, Graph Name: , RDF Format:
> Turtle/pretty
> fuseki    | [2022-02-04 08:59:51] INFO  DatasetOperations :: Reading RDF -
> Completed - File: /fuseki/store/geosparql_test.rdf, Graph Name: , RDF
> Format: Turtle/pretty
> fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: Applying
> hasDefaultGeometry - Completed
> fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: Applying
> GeoSPARQL Schema - Started
> fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: GeoSPARQL
> schema applied to graph: default
> fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: Applying
> GeoSPARQL Schema - Completed
> fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: Find Mode
> SRS - Started
> fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: Find Mode
> SRS - Completed
> fuseki    | [2022-02-04 08:59:51] INFO  SpatialIndex    ::
> Feature-hasGeometry-Geometry statements found.
> fuseki    | [2022-02-04 08:59:51] INFO  SpatialIndex    :: Saving Spatial
> Index - Started: /fuseki/databases/DB2-5/spatial.index
> fuseki    | [2022-02-04 08:59:51] INFO  SpatialIndex    :: Saving Spatial
> Index - Completed: /fuseki/databases/DB2-5/spatial.index
> fuseki    | [2022-02-04 08:59:51] INFO  GeosparqlServer :: GeoSPARQL
> Server: Running - Port: 3030, Dataset: /dst, Loopback Only: true,  Allow
> Update: false
> fuseki    | [2022-02-04 08:59:51] INFO  Server          :: Start Fuseki
> (http=3030)
>
> Op do 3 feb. 2022 om 19:48 schreef Erik Bijsterbosch <
> e.bijsterbosch@gmail.com>:
>
>> The work around from https://sis.apache.org/javafx.html
>>
>> Op do 3 feb. 2022 om 19:46 schreef Erik Bijsterbosch <
>> e.bijsterbosch@gmail.com>:
>>
>>> Hi Andy,
>>>
>>> We advanced a few steps but now we're having trouble using the (full)
>>> geodetic EPSG dataset.
>>>
>>> $ docker-compose stop fuseki; docker-compose rm -f fuseki;
>>> docker-compose up fuseki
>>> Stopping fuseki ... done
>>> Going to remove fuseki
>>> Removing fuseki ... done
>>> Creating fuseki ... done
>>> Attaching to fuseki
>>> fuseki    | /opt/java-minimal/bin/java -Xmx24g -Xms24g
>>> -Dderby.system.home=/fuseki/databases/SIS/apache-sis-1.1/data/Databases
>>> -classpath
>>> /fuseki/databases/SIS/apache-sis-1.1/lib/sis-referencing-1.1.jar:/fuseki/jena-fuseki-geosparql-4.4.0.jar
>>> org.apache.jena.fuseki.geosparql.Main -t /fuseki/databases/DB2-4 --tdb2
>>> --rdf_file /fuseki/store/ligplaats.trig --dataset dst --inference --validate
>>> fuseki    | WARNING: sun.reflect.Reflection.getCallerClass is not
>>> supported. This will impact performance.
>>> fuseki    | [2022-02-03 19:15:18] INFO  Main            :: Arguments
>>> Received: [-t, /fuseki/databases/DB2-4, --tdb2, --rdf_file,
>>> /fuseki/store/ligplaats.trig, --dataset, dst, --inference, --validate]
>>> fuseki    | [2022-02-03 19:15:18] INFO  DatasetOperations :: Server
>>> Configuration: port=3030, datsetName=dst, loopbackOnly=true,
>>> updateAllowed=false, inference=true, applyDefaultGeometry=false,
>>> validateGeometryLiteral=true, convertGeoPredicates=false,
>>> removeGeoPredicates=false, queryRewrite=true,
>>> tdbFile=/fuseki/databases/DB2-4,
>>> fileGraphFormats=[FileGraphFormat{rdfFile=/fuseki/store/ligplaats.trig,
>>> graphName=, rdfFormat=Turtle/pretty}], fileGraphDelimiters=[],
>>> indexEnabled=true, indexSizes=[-1, -1, -1], indexExpiries=[5000, 5000,
>>> 5000], spatialIndexFile=null, tdb2=true, help=false
>>> fuseki    | [2022-02-03 19:15:18] INFO  DatasetOperations :: TDB
>>> Dataset: /fuseki/databases/DB2-4, TDB2: true
>>> fuseki    | [2022-02-03 19:15:19] WARN  system          :: The
>>> “SIS_DATA” environment variable is not set.
>>> fuseki    | [2022-02-03 19:15:19] INFO  DatasetOperations :: Reading RDF
>>> - Started - File: /fuseki/store/ligplaats.trig, Graph Name: , RDF Format:
>>> Turtle/pretty
>>> fuseki    | [2022-02-03 19:15:20] WARN  SRSRegistry     :: SRS URI not
>>> recognised so operation results may not be correct or accurate:
>>> http://www.opengis.net/def/crs/EPSG/0/28992 - Unrecognised SRS URI
>>> code: http://www.opengis.net/def/crs/EPSG/0/28992 - No
>>> ‘CoordinateReferenceSystem’ object found for code “28992”. However only a
>>> subset of the EPSG geodetic dataset has been queried. See
>>> http://sis.apache.org/epsg.html for instruction about how to install
>>> the full EPSG database.
>>> fuseki    | [2022-02-03 19:15:27] INFO  DatasetOperations :: Reading RDF
>>> - Completed - File: /fuseki/store/ligplaats.trig, Graph Name: , RDF Format:
>>> Turtle/pretty
>>> fuseki    | [2022-02-03 19:15:27] INFO  GeoSPARQLOperations :: Applying
>>> GeoSPARQL Schema - Started
>>> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: GeoSPARQL
>>> schema applied to graph: default
>>> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Applying
>>> GeoSPARQL Schema - Completed
>>> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Find Mode
>>> SRS - Started
>>> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Find Mode
>>> SRS - Completed
>>> fuseki    | [2022-02-03 19:15:32] ERROR Main            :: GeoSPARQL
>>> Server:  Exiting - No SRS found. Check '
>>> http://www.opengis.net/ont/geosparql#hasSerialization' or '
>>> http://www.w3.org/2003/01/geo/wgs84_pos#lat'/'http://www.w3.org/2003/01/geo/wgs84_pos#lon'
>>> predicates are present in the source data. Hint: Inferencing with GeoSPARQL
>>> schema may be required.: dst
>>>
>>> The was created manually with the CLI with the work around from :
>>>
>>>
>>>    - cd /fuseki/databases/SIS/apache-sis-1.1/data
>>>    - rm -rf Databases
>>>    - wget
>>>    https://repo1.maven.org/maven2/org/apache/sis/non-free/sis-embedded-data/1.1/sis-embedded-data-1.1.jar
>>>    - unzip sis-embedded-data-1.1.jar SIS_DATA/Databases/*
>>>    - mv SIS_DATA/Databases .
>>>    - rmdir SIS_DATA
>>>    - cd ..
>>>    - sis crs EPSG:28992
>>>
>>> output:
>>>
>>> ProjectedCRS["Amersfoort / RD New",
>>>   BaseGeodCRS["Amersfoort",
>>>     Datum["Amersfoort",
>>>       Ellipsoid["Bessel 1841", 6377397.155, 299.1528128]],
>>>     Unit["degree", 0.017453292519943295]],
>>>   Conversion["RD New",
>>>     Method["Oblique Stereographic"],
>>>     Parameter["Latitude of natural origin", 52.15616055555556],
>>>     Parameter["Longitude of natural origin", 5.387638888888891],
>>>     Parameter["Scale factor at natural origin", 0.9999079],
>>>     Parameter["False easting", 155000.0],
>>>     Parameter["False northing", 463000.0]],
>>>   CS[Cartesian, 2],
>>>     Axis["Easting (X)", east],
>>>     Axis["Northing (Y)", north],
>>>     Unit["metre", 1],
>>>   Scope["Large and medium scale topographic mapping and engineering
>>> survey."],
>>>   Area["Netherlands - onshore, including Waddenzee, Dutch Wadden Islands
>>> and 12-mile offshore coastal zone."],
>>>   BBox[50.75, 3.20, 53.70, 7.22],
>>>   Id["EPSG", 28992, "9.9.1", URI["urn:ogc:def:crs:EPSG:9.9.1:28992"]],
>>>   Remark["Replaces Amersfoort / RD Old (code 28991)."]]
>>>
>>>
>>>
>>>
>>> Op wo 2 feb. 2022 om 12:11 schreef Andy Seaborne <an...@apache.org>:
>>>
>>>>
>>>>
>>>> On 02/02/2022 10:17, Erik Bijsterbosch wrote:
>>>> > Hi Andy,
>>>> >
>>>> > Good to know that the code loops through all the (named) graphs.
>>>> > I noticed later in the logs that fuseki was still busy with the next
>>>> > (named) graph, apparently.
>>>> > It seems that that attempt failed on the type of geometry we have in
>>>> this
>>>> > graph:
>>>> >
>>>> > [2022-02-02 09:32:27] WARN  system          :: The “SIS_DATA”
>>>> environment
>>>> > variable is not set.
>>>> > [2022-02-02 09:32:28] WARN  system          :: The “SIS_DATA”
>>>> environment
>>>> > variable is not set.
>>>> > Exception in thread "main"
>>>> > org.apache.jena.dboe.transaction.txn.TransactionException: Write
>>>> > transaction with no commit() or abort() before end() - forced abort
>>>> >          at
>>>> >
>>>> org.apache.jena.dboe.transaction.txn.Transaction.end(Transaction.java:203)
>>>> >          at
>>>> >
>>>> org.apache.jena.dboe.transaction.txn.TransactionalBase._end(TransactionalBase.java:262)
>>>> >          at
>>>> >
>>>> org.apache.jena.dboe.transaction.txn.TransactionalBase.end(TransactionalBase.java:168)
>>>> >          at
>>>> >
>>>> org.apache.jena.dboe.storage.system.DatasetGraphStorage.end(DatasetGraphStorage.java:73)
>>>> >          at
>>>> >
>>>> org.apache.jena.sparql.core.DatasetGraphWrapper.end(DatasetGraphWrapper.java:284)
>>>> >          at
>>>> org.apache.jena.sparql.core.DatasetImpl.end(DatasetImpl.java:162)
>>>> >          at
>>>> >
>>>> org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:297)
>>>> >          at
>>>> >
>>>> org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:264)
>>>> >          at
>>>> >
>>>> org.apache.jena.fuseki.geosparql.DatasetOperations.setup(DatasetOperations.java:83)
>>>> >          at org.apache.jena.fuseki.geosparql.Main.main(Main.java:64)
>>>>
>>>> Should be a log line: "Inferencing Error: ..." as well or there is a
>>>> java Throwable/Error happening e.g. OutOfMemoryError.
>>>>
>>>> >
>>>> > For that we'll checkout the recommendations here first:
>>>> > https://sis.apache.org/epsg.html
>>>> >
>>>> >
>>>> > Op wo 2 feb. 2022 om 09:33 schreef Andy Seaborne <an...@apache.org>:
>>>> >
>>>> >>
>>>> >>
>>>> >> On 01/02/2022 17:13, Erik Bijsterbosch wrote:
>>>> >>> Hi all,
>>>> >>>
>>>> >>> I created a new jena tdb2 database and loaded it with 256 million
>>>> triples
>>>> >>> in a named graph, using a fuseki2/tdb2 4.3.2 docker setup.
>>>> >>> The data also consist of geometries so I built a new docker image
>>>> based
>>>> >> on
>>>> >>> jena-fuseki-geosparql 4.3.2
>>>> >>> When I bring up the new fuseki container it seems I can't address
>>>> the
>>>> >> named
>>>> >>> graph reusing the tdb2 database, it searches through the default
>>>> graph.
>>>> >>> According to the --help graph names can only be provided when
>>>> loading
>>>> >> from
>>>> >>> files or is there another way?
>>>> >>
>>>> >>
>>>> >> Hi Erik,
>>>> >>
>>>> >>> fuseki    | [2022-02-01 17:08:15] INFO  GeoSPARQLOperations ::
>>>> GeoSPARQL
>>>> >>> schema not applied to empty graph: default
>>>> >>
>>>> >> That message is for the attempt the default graph but it does not
>>>> mean
>>>> >> it is ignoring the named graphs. The code loops on the named graphs
>>>> as
>>>> >> well.
>>>> >>
>>>> >>
>>>> >>
>>>> https://github.com/apache/jena/blob/main/jena-geosparql/src/main/java/org/apache/jena/geosparql/configuration/GeoSPARQLOperations.java#L269
>>>> >>
>>>> >> Is that what you mean by "can't address the named graph"?
>>>> >>
>>>> >> Or from a SPARQL query you can't get expected results?
>>>> >>
>>>> >>       Andy
>>>> >>
>>>> >
>>>>
>>>

Re: Howto address a named graph with a geosparql server in an existing persistent store

Posted by Erik Bijsterbosch <e....@gmail.com>.
We successfully loaded two demo sets with CRS  wgs84 and CRS 27700.
So the geodetic EPSG dataset is used well.
The problem must be in our srs uri's then and we will investigate our
datasets and etl/minting on the schema's used.

Attaching to fuseki
fuseki    | /fuseki/databases/SIS/apache-sis-1.1/data/
fuseki    | /opt/java-minimal/bin/java -Xmx24g -Xms24g
-Dderby.system.home=/fuseki/databases/SIS/apache-sis-1.1/data/Databases
-classpath
/fuseki/databases/SIS/apache-sis-1.1/data/sis-embedded-data-1.1.jar:/fuseki/jena-fuseki-geosparql-4.4.0.jar
org.apache.jena.fuseki.geosparql.Main -t /fuseki/databases/DB2-5 --tdb2
--rdf_file /fuseki/store/geosparql_test.rdf --dataset dst
--default_geometry --inference
fuseki    | WARNING: sun.reflect.Reflection.getCallerClass is not
supported. This will impact performance.
fuseki    | [2022-02-04 08:59:49] INFO  Main            :: Arguments
Received: [-t, /fuseki/databases/DB2-5, --tdb2, --rdf_file,
/fuseki/store/geosparql_test.rdf, --dataset, dst, --default_geometry,
--inference]
fuseki    | [2022-02-04 08:59:49] INFO  DatasetOperations :: Server
Configuration: port=3030, datsetName=dst, loopbackOnly=true,
updateAllowed=false, inference=true, applyDefaultGeometry=true,
validateGeometryLiteral=false, convertGeoPredicates=false,
removeGeoPredicates=false, queryRewrite=true,
tdbFile=/fuseki/databases/DB2-5,
fileGraphFormats=[FileGraphFormat{rdfFile=/fuseki/store/geosparql_test.rdf,
graphName=, rdfFormat=Turtle/pretty}], fileGraphDelimiters=[],
indexEnabled=true, indexSizes=[-1, -1, -1], indexExpiries=[5000, 5000,
5000], spatialIndexFile=null, tdb2=true, help=false
fuseki    | [2022-02-04 08:59:49] INFO  DatasetOperations :: TDB Dataset:
/fuseki/databases/DB2-5, TDB2: true
fuseki    | [2022-02-04 08:59:50] INFO  DatasetOperations :: Reading RDF -
Started - File: /fuseki/store/geosparql_test.rdf, Graph Name: , RDF Format:
Turtle/pretty
fuseki    | [2022-02-04 08:59:51] INFO  DatasetOperations :: Reading RDF -
Completed - File: /fuseki/store/geosparql_test.rdf, Graph Name: , RDF
Format: Turtle/pretty
fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: Applying
hasDefaultGeometry - Completed
fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: Applying
GeoSPARQL Schema - Started
fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: GeoSPARQL
schema applied to graph: default
fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: Applying
GeoSPARQL Schema - Completed
fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: Find Mode
SRS - Started
fuseki    | [2022-02-04 08:59:51] INFO  GeoSPARQLOperations :: Find Mode
SRS - Completed
fuseki    | [2022-02-04 08:59:51] INFO  SpatialIndex    ::
Feature-hasGeometry-Geometry statements found.
fuseki    | [2022-02-04 08:59:51] INFO  SpatialIndex    :: Saving Spatial
Index - Started: /fuseki/databases/DB2-5/spatial.index
fuseki    | [2022-02-04 08:59:51] INFO  SpatialIndex    :: Saving Spatial
Index - Completed: /fuseki/databases/DB2-5/spatial.index
fuseki    | [2022-02-04 08:59:51] INFO  GeosparqlServer :: GeoSPARQL
Server: Running - Port: 3030, Dataset: /dst, Loopback Only: true,  Allow
Update: false
fuseki    | [2022-02-04 08:59:51] INFO  Server          :: Start Fuseki
(http=3030)

Op do 3 feb. 2022 om 19:48 schreef Erik Bijsterbosch <
e.bijsterbosch@gmail.com>:

> The work around from https://sis.apache.org/javafx.html
>
> Op do 3 feb. 2022 om 19:46 schreef Erik Bijsterbosch <
> e.bijsterbosch@gmail.com>:
>
>> Hi Andy,
>>
>> We advanced a few steps but now we're having trouble using the (full)
>> geodetic EPSG dataset.
>>
>> $ docker-compose stop fuseki; docker-compose rm -f fuseki; docker-compose
>> up fuseki
>> Stopping fuseki ... done
>> Going to remove fuseki
>> Removing fuseki ... done
>> Creating fuseki ... done
>> Attaching to fuseki
>> fuseki    | /opt/java-minimal/bin/java -Xmx24g -Xms24g
>> -Dderby.system.home=/fuseki/databases/SIS/apache-sis-1.1/data/Databases
>> -classpath
>> /fuseki/databases/SIS/apache-sis-1.1/lib/sis-referencing-1.1.jar:/fuseki/jena-fuseki-geosparql-4.4.0.jar
>> org.apache.jena.fuseki.geosparql.Main -t /fuseki/databases/DB2-4 --tdb2
>> --rdf_file /fuseki/store/ligplaats.trig --dataset dst --inference --validate
>> fuseki    | WARNING: sun.reflect.Reflection.getCallerClass is not
>> supported. This will impact performance.
>> fuseki    | [2022-02-03 19:15:18] INFO  Main            :: Arguments
>> Received: [-t, /fuseki/databases/DB2-4, --tdb2, --rdf_file,
>> /fuseki/store/ligplaats.trig, --dataset, dst, --inference, --validate]
>> fuseki    | [2022-02-03 19:15:18] INFO  DatasetOperations :: Server
>> Configuration: port=3030, datsetName=dst, loopbackOnly=true,
>> updateAllowed=false, inference=true, applyDefaultGeometry=false,
>> validateGeometryLiteral=true, convertGeoPredicates=false,
>> removeGeoPredicates=false, queryRewrite=true,
>> tdbFile=/fuseki/databases/DB2-4,
>> fileGraphFormats=[FileGraphFormat{rdfFile=/fuseki/store/ligplaats.trig,
>> graphName=, rdfFormat=Turtle/pretty}], fileGraphDelimiters=[],
>> indexEnabled=true, indexSizes=[-1, -1, -1], indexExpiries=[5000, 5000,
>> 5000], spatialIndexFile=null, tdb2=true, help=false
>> fuseki    | [2022-02-03 19:15:18] INFO  DatasetOperations :: TDB Dataset:
>> /fuseki/databases/DB2-4, TDB2: true
>> fuseki    | [2022-02-03 19:15:19] WARN  system          :: The “SIS_DATA”
>> environment variable is not set.
>> fuseki    | [2022-02-03 19:15:19] INFO  DatasetOperations :: Reading RDF
>> - Started - File: /fuseki/store/ligplaats.trig, Graph Name: , RDF Format:
>> Turtle/pretty
>> fuseki    | [2022-02-03 19:15:20] WARN  SRSRegistry     :: SRS URI not
>> recognised so operation results may not be correct or accurate:
>> http://www.opengis.net/def/crs/EPSG/0/28992 - Unrecognised SRS URI code:
>> http://www.opengis.net/def/crs/EPSG/0/28992 - No
>> ‘CoordinateReferenceSystem’ object found for code “28992”. However only a
>> subset of the EPSG geodetic dataset has been queried. See
>> http://sis.apache.org/epsg.html for instruction about how to install the
>> full EPSG database.
>> fuseki    | [2022-02-03 19:15:27] INFO  DatasetOperations :: Reading RDF
>> - Completed - File: /fuseki/store/ligplaats.trig, Graph Name: , RDF Format:
>> Turtle/pretty
>> fuseki    | [2022-02-03 19:15:27] INFO  GeoSPARQLOperations :: Applying
>> GeoSPARQL Schema - Started
>> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: GeoSPARQL
>> schema applied to graph: default
>> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Applying
>> GeoSPARQL Schema - Completed
>> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Find Mode
>> SRS - Started
>> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Find Mode
>> SRS - Completed
>> fuseki    | [2022-02-03 19:15:32] ERROR Main            :: GeoSPARQL
>> Server:  Exiting - No SRS found. Check '
>> http://www.opengis.net/ont/geosparql#hasSerialization' or '
>> http://www.w3.org/2003/01/geo/wgs84_pos#lat'/'http://www.w3.org/2003/01/geo/wgs84_pos#lon'
>> predicates are present in the source data. Hint: Inferencing with GeoSPARQL
>> schema may be required.: dst
>>
>> The was created manually with the CLI with the work around from :
>>
>>
>>    - cd /fuseki/databases/SIS/apache-sis-1.1/data
>>    - rm -rf Databases
>>    - wget
>>    https://repo1.maven.org/maven2/org/apache/sis/non-free/sis-embedded-data/1.1/sis-embedded-data-1.1.jar
>>    - unzip sis-embedded-data-1.1.jar SIS_DATA/Databases/*
>>    - mv SIS_DATA/Databases .
>>    - rmdir SIS_DATA
>>    - cd ..
>>    - sis crs EPSG:28992
>>
>> output:
>>
>> ProjectedCRS["Amersfoort / RD New",
>>   BaseGeodCRS["Amersfoort",
>>     Datum["Amersfoort",
>>       Ellipsoid["Bessel 1841", 6377397.155, 299.1528128]],
>>     Unit["degree", 0.017453292519943295]],
>>   Conversion["RD New",
>>     Method["Oblique Stereographic"],
>>     Parameter["Latitude of natural origin", 52.15616055555556],
>>     Parameter["Longitude of natural origin", 5.387638888888891],
>>     Parameter["Scale factor at natural origin", 0.9999079],
>>     Parameter["False easting", 155000.0],
>>     Parameter["False northing", 463000.0]],
>>   CS[Cartesian, 2],
>>     Axis["Easting (X)", east],
>>     Axis["Northing (Y)", north],
>>     Unit["metre", 1],
>>   Scope["Large and medium scale topographic mapping and engineering
>> survey."],
>>   Area["Netherlands - onshore, including Waddenzee, Dutch Wadden Islands
>> and 12-mile offshore coastal zone."],
>>   BBox[50.75, 3.20, 53.70, 7.22],
>>   Id["EPSG", 28992, "9.9.1", URI["urn:ogc:def:crs:EPSG:9.9.1:28992"]],
>>   Remark["Replaces Amersfoort / RD Old (code 28991)."]]
>>
>>
>>
>>
>> Op wo 2 feb. 2022 om 12:11 schreef Andy Seaborne <an...@apache.org>:
>>
>>>
>>>
>>> On 02/02/2022 10:17, Erik Bijsterbosch wrote:
>>> > Hi Andy,
>>> >
>>> > Good to know that the code loops through all the (named) graphs.
>>> > I noticed later in the logs that fuseki was still busy with the next
>>> > (named) graph, apparently.
>>> > It seems that that attempt failed on the type of geometry we have in
>>> this
>>> > graph:
>>> >
>>> > [2022-02-02 09:32:27] WARN  system          :: The “SIS_DATA”
>>> environment
>>> > variable is not set.
>>> > [2022-02-02 09:32:28] WARN  system          :: The “SIS_DATA”
>>> environment
>>> > variable is not set.
>>> > Exception in thread "main"
>>> > org.apache.jena.dboe.transaction.txn.TransactionException: Write
>>> > transaction with no commit() or abort() before end() - forced abort
>>> >          at
>>> >
>>> org.apache.jena.dboe.transaction.txn.Transaction.end(Transaction.java:203)
>>> >          at
>>> >
>>> org.apache.jena.dboe.transaction.txn.TransactionalBase._end(TransactionalBase.java:262)
>>> >          at
>>> >
>>> org.apache.jena.dboe.transaction.txn.TransactionalBase.end(TransactionalBase.java:168)
>>> >          at
>>> >
>>> org.apache.jena.dboe.storage.system.DatasetGraphStorage.end(DatasetGraphStorage.java:73)
>>> >          at
>>> >
>>> org.apache.jena.sparql.core.DatasetGraphWrapper.end(DatasetGraphWrapper.java:284)
>>> >          at
>>> org.apache.jena.sparql.core.DatasetImpl.end(DatasetImpl.java:162)
>>> >          at
>>> >
>>> org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:297)
>>> >          at
>>> >
>>> org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:264)
>>> >          at
>>> >
>>> org.apache.jena.fuseki.geosparql.DatasetOperations.setup(DatasetOperations.java:83)
>>> >          at org.apache.jena.fuseki.geosparql.Main.main(Main.java:64)
>>>
>>> Should be a log line: "Inferencing Error: ..." as well or there is a
>>> java Throwable/Error happening e.g. OutOfMemoryError.
>>>
>>> >
>>> > For that we'll checkout the recommendations here first:
>>> > https://sis.apache.org/epsg.html
>>> >
>>> >
>>> > Op wo 2 feb. 2022 om 09:33 schreef Andy Seaborne <an...@apache.org>:
>>> >
>>> >>
>>> >>
>>> >> On 01/02/2022 17:13, Erik Bijsterbosch wrote:
>>> >>> Hi all,
>>> >>>
>>> >>> I created a new jena tdb2 database and loaded it with 256 million
>>> triples
>>> >>> in a named graph, using a fuseki2/tdb2 4.3.2 docker setup.
>>> >>> The data also consist of geometries so I built a new docker image
>>> based
>>> >> on
>>> >>> jena-fuseki-geosparql 4.3.2
>>> >>> When I bring up the new fuseki container it seems I can't address the
>>> >> named
>>> >>> graph reusing the tdb2 database, it searches through the default
>>> graph.
>>> >>> According to the --help graph names can only be provided when loading
>>> >> from
>>> >>> files or is there another way?
>>> >>
>>> >>
>>> >> Hi Erik,
>>> >>
>>> >>> fuseki    | [2022-02-01 17:08:15] INFO  GeoSPARQLOperations ::
>>> GeoSPARQL
>>> >>> schema not applied to empty graph: default
>>> >>
>>> >> That message is for the attempt the default graph but it does not mean
>>> >> it is ignoring the named graphs. The code loops on the named graphs as
>>> >> well.
>>> >>
>>> >>
>>> >>
>>> https://github.com/apache/jena/blob/main/jena-geosparql/src/main/java/org/apache/jena/geosparql/configuration/GeoSPARQLOperations.java#L269
>>> >>
>>> >> Is that what you mean by "can't address the named graph"?
>>> >>
>>> >> Or from a SPARQL query you can't get expected results?
>>> >>
>>> >>       Andy
>>> >>
>>> >
>>>
>>

Re: Howto address a named graph with a geosparql server in an existing persistent store

Posted by Erik Bijsterbosch <e....@gmail.com>.
The work around from https://sis.apache.org/javafx.html

Op do 3 feb. 2022 om 19:46 schreef Erik Bijsterbosch <
e.bijsterbosch@gmail.com>:

> Hi Andy,
>
> We advanced a few steps but now we're having trouble using the (full)
> geodetic EPSG dataset.
>
> $ docker-compose stop fuseki; docker-compose rm -f fuseki; docker-compose
> up fuseki
> Stopping fuseki ... done
> Going to remove fuseki
> Removing fuseki ... done
> Creating fuseki ... done
> Attaching to fuseki
> fuseki    | /opt/java-minimal/bin/java -Xmx24g -Xms24g
> -Dderby.system.home=/fuseki/databases/SIS/apache-sis-1.1/data/Databases
> -classpath
> /fuseki/databases/SIS/apache-sis-1.1/lib/sis-referencing-1.1.jar:/fuseki/jena-fuseki-geosparql-4.4.0.jar
> org.apache.jena.fuseki.geosparql.Main -t /fuseki/databases/DB2-4 --tdb2
> --rdf_file /fuseki/store/ligplaats.trig --dataset dst --inference --validate
> fuseki    | WARNING: sun.reflect.Reflection.getCallerClass is not
> supported. This will impact performance.
> fuseki    | [2022-02-03 19:15:18] INFO  Main            :: Arguments
> Received: [-t, /fuseki/databases/DB2-4, --tdb2, --rdf_file,
> /fuseki/store/ligplaats.trig, --dataset, dst, --inference, --validate]
> fuseki    | [2022-02-03 19:15:18] INFO  DatasetOperations :: Server
> Configuration: port=3030, datsetName=dst, loopbackOnly=true,
> updateAllowed=false, inference=true, applyDefaultGeometry=false,
> validateGeometryLiteral=true, convertGeoPredicates=false,
> removeGeoPredicates=false, queryRewrite=true,
> tdbFile=/fuseki/databases/DB2-4,
> fileGraphFormats=[FileGraphFormat{rdfFile=/fuseki/store/ligplaats.trig,
> graphName=, rdfFormat=Turtle/pretty}], fileGraphDelimiters=[],
> indexEnabled=true, indexSizes=[-1, -1, -1], indexExpiries=[5000, 5000,
> 5000], spatialIndexFile=null, tdb2=true, help=false
> fuseki    | [2022-02-03 19:15:18] INFO  DatasetOperations :: TDB Dataset:
> /fuseki/databases/DB2-4, TDB2: true
> fuseki    | [2022-02-03 19:15:19] WARN  system          :: The “SIS_DATA”
> environment variable is not set.
> fuseki    | [2022-02-03 19:15:19] INFO  DatasetOperations :: Reading RDF -
> Started - File: /fuseki/store/ligplaats.trig, Graph Name: , RDF Format:
> Turtle/pretty
> fuseki    | [2022-02-03 19:15:20] WARN  SRSRegistry     :: SRS URI not
> recognised so operation results may not be correct or accurate:
> http://www.opengis.net/def/crs/EPSG/0/28992 - Unrecognised SRS URI code:
> http://www.opengis.net/def/crs/EPSG/0/28992 - No
> ‘CoordinateReferenceSystem’ object found for code “28992”. However only a
> subset of the EPSG geodetic dataset has been queried. See
> http://sis.apache.org/epsg.html for instruction about how to install the
> full EPSG database.
> fuseki    | [2022-02-03 19:15:27] INFO  DatasetOperations :: Reading RDF -
> Completed - File: /fuseki/store/ligplaats.trig, Graph Name: , RDF Format:
> Turtle/pretty
> fuseki    | [2022-02-03 19:15:27] INFO  GeoSPARQLOperations :: Applying
> GeoSPARQL Schema - Started
> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: GeoSPARQL
> schema applied to graph: default
> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Applying
> GeoSPARQL Schema - Completed
> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Find Mode
> SRS - Started
> fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Find Mode
> SRS - Completed
> fuseki    | [2022-02-03 19:15:32] ERROR Main            :: GeoSPARQL
> Server:  Exiting - No SRS found. Check '
> http://www.opengis.net/ont/geosparql#hasSerialization' or '
> http://www.w3.org/2003/01/geo/wgs84_pos#lat'/'http://www.w3.org/2003/01/geo/wgs84_pos#lon'
> predicates are present in the source data. Hint: Inferencing with GeoSPARQL
> schema may be required.: dst
>
> The was created manually with the CLI with the work around from :
>
>
>    - cd /fuseki/databases/SIS/apache-sis-1.1/data
>    - rm -rf Databases
>    - wget
>    https://repo1.maven.org/maven2/org/apache/sis/non-free/sis-embedded-data/1.1/sis-embedded-data-1.1.jar
>    - unzip sis-embedded-data-1.1.jar SIS_DATA/Databases/*
>    - mv SIS_DATA/Databases .
>    - rmdir SIS_DATA
>    - cd ..
>    - sis crs EPSG:28992
>
> output:
>
> ProjectedCRS["Amersfoort / RD New",
>   BaseGeodCRS["Amersfoort",
>     Datum["Amersfoort",
>       Ellipsoid["Bessel 1841", 6377397.155, 299.1528128]],
>     Unit["degree", 0.017453292519943295]],
>   Conversion["RD New",
>     Method["Oblique Stereographic"],
>     Parameter["Latitude of natural origin", 52.15616055555556],
>     Parameter["Longitude of natural origin", 5.387638888888891],
>     Parameter["Scale factor at natural origin", 0.9999079],
>     Parameter["False easting", 155000.0],
>     Parameter["False northing", 463000.0]],
>   CS[Cartesian, 2],
>     Axis["Easting (X)", east],
>     Axis["Northing (Y)", north],
>     Unit["metre", 1],
>   Scope["Large and medium scale topographic mapping and engineering
> survey."],
>   Area["Netherlands - onshore, including Waddenzee, Dutch Wadden Islands
> and 12-mile offshore coastal zone."],
>   BBox[50.75, 3.20, 53.70, 7.22],
>   Id["EPSG", 28992, "9.9.1", URI["urn:ogc:def:crs:EPSG:9.9.1:28992"]],
>   Remark["Replaces Amersfoort / RD Old (code 28991)."]]
>
>
>
>
> Op wo 2 feb. 2022 om 12:11 schreef Andy Seaborne <an...@apache.org>:
>
>>
>>
>> On 02/02/2022 10:17, Erik Bijsterbosch wrote:
>> > Hi Andy,
>> >
>> > Good to know that the code loops through all the (named) graphs.
>> > I noticed later in the logs that fuseki was still busy with the next
>> > (named) graph, apparently.
>> > It seems that that attempt failed on the type of geometry we have in
>> this
>> > graph:
>> >
>> > [2022-02-02 09:32:27] WARN  system          :: The “SIS_DATA”
>> environment
>> > variable is not set.
>> > [2022-02-02 09:32:28] WARN  system          :: The “SIS_DATA”
>> environment
>> > variable is not set.
>> > Exception in thread "main"
>> > org.apache.jena.dboe.transaction.txn.TransactionException: Write
>> > transaction with no commit() or abort() before end() - forced abort
>> >          at
>> >
>> org.apache.jena.dboe.transaction.txn.Transaction.end(Transaction.java:203)
>> >          at
>> >
>> org.apache.jena.dboe.transaction.txn.TransactionalBase._end(TransactionalBase.java:262)
>> >          at
>> >
>> org.apache.jena.dboe.transaction.txn.TransactionalBase.end(TransactionalBase.java:168)
>> >          at
>> >
>> org.apache.jena.dboe.storage.system.DatasetGraphStorage.end(DatasetGraphStorage.java:73)
>> >          at
>> >
>> org.apache.jena.sparql.core.DatasetGraphWrapper.end(DatasetGraphWrapper.java:284)
>> >          at
>> org.apache.jena.sparql.core.DatasetImpl.end(DatasetImpl.java:162)
>> >          at
>> >
>> org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:297)
>> >          at
>> >
>> org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:264)
>> >          at
>> >
>> org.apache.jena.fuseki.geosparql.DatasetOperations.setup(DatasetOperations.java:83)
>> >          at org.apache.jena.fuseki.geosparql.Main.main(Main.java:64)
>>
>> Should be a log line: "Inferencing Error: ..." as well or there is a
>> java Throwable/Error happening e.g. OutOfMemoryError.
>>
>> >
>> > For that we'll checkout the recommendations here first:
>> > https://sis.apache.org/epsg.html
>> >
>> >
>> > Op wo 2 feb. 2022 om 09:33 schreef Andy Seaborne <an...@apache.org>:
>> >
>> >>
>> >>
>> >> On 01/02/2022 17:13, Erik Bijsterbosch wrote:
>> >>> Hi all,
>> >>>
>> >>> I created a new jena tdb2 database and loaded it with 256 million
>> triples
>> >>> in a named graph, using a fuseki2/tdb2 4.3.2 docker setup.
>> >>> The data also consist of geometries so I built a new docker image
>> based
>> >> on
>> >>> jena-fuseki-geosparql 4.3.2
>> >>> When I bring up the new fuseki container it seems I can't address the
>> >> named
>> >>> graph reusing the tdb2 database, it searches through the default
>> graph.
>> >>> According to the --help graph names can only be provided when loading
>> >> from
>> >>> files or is there another way?
>> >>
>> >>
>> >> Hi Erik,
>> >>
>> >>> fuseki    | [2022-02-01 17:08:15] INFO  GeoSPARQLOperations ::
>> GeoSPARQL
>> >>> schema not applied to empty graph: default
>> >>
>> >> That message is for the attempt the default graph but it does not mean
>> >> it is ignoring the named graphs. The code loops on the named graphs as
>> >> well.
>> >>
>> >>
>> >>
>> https://github.com/apache/jena/blob/main/jena-geosparql/src/main/java/org/apache/jena/geosparql/configuration/GeoSPARQLOperations.java#L269
>> >>
>> >> Is that what you mean by "can't address the named graph"?
>> >>
>> >> Or from a SPARQL query you can't get expected results?
>> >>
>> >>       Andy
>> >>
>> >
>>
>

Re: Howto address a named graph with a geosparql server in an existing persistent store

Posted by Erik Bijsterbosch <e....@gmail.com>.
Hi Andy,

We advanced a few steps but now we're having trouble using the (full)
geodetic EPSG dataset.

$ docker-compose stop fuseki; docker-compose rm -f fuseki; docker-compose
up fuseki
Stopping fuseki ... done
Going to remove fuseki
Removing fuseki ... done
Creating fuseki ... done
Attaching to fuseki
fuseki    | /opt/java-minimal/bin/java -Xmx24g -Xms24g
-Dderby.system.home=/fuseki/databases/SIS/apache-sis-1.1/data/Databases
-classpath
/fuseki/databases/SIS/apache-sis-1.1/lib/sis-referencing-1.1.jar:/fuseki/jena-fuseki-geosparql-4.4.0.jar
org.apache.jena.fuseki.geosparql.Main -t /fuseki/databases/DB2-4 --tdb2
--rdf_file /fuseki/store/ligplaats.trig --dataset dst --inference --validate
fuseki    | WARNING: sun.reflect.Reflection.getCallerClass is not
supported. This will impact performance.
fuseki    | [2022-02-03 19:15:18] INFO  Main            :: Arguments
Received: [-t, /fuseki/databases/DB2-4, --tdb2, --rdf_file,
/fuseki/store/ligplaats.trig, --dataset, dst, --inference, --validate]
fuseki    | [2022-02-03 19:15:18] INFO  DatasetOperations :: Server
Configuration: port=3030, datsetName=dst, loopbackOnly=true,
updateAllowed=false, inference=true, applyDefaultGeometry=false,
validateGeometryLiteral=true, convertGeoPredicates=false,
removeGeoPredicates=false, queryRewrite=true,
tdbFile=/fuseki/databases/DB2-4,
fileGraphFormats=[FileGraphFormat{rdfFile=/fuseki/store/ligplaats.trig,
graphName=, rdfFormat=Turtle/pretty}], fileGraphDelimiters=[],
indexEnabled=true, indexSizes=[-1, -1, -1], indexExpiries=[5000, 5000,
5000], spatialIndexFile=null, tdb2=true, help=false
fuseki    | [2022-02-03 19:15:18] INFO  DatasetOperations :: TDB Dataset:
/fuseki/databases/DB2-4, TDB2: true
fuseki    | [2022-02-03 19:15:19] WARN  system          :: The “SIS_DATA”
environment variable is not set.
fuseki    | [2022-02-03 19:15:19] INFO  DatasetOperations :: Reading RDF -
Started - File: /fuseki/store/ligplaats.trig, Graph Name: , RDF Format:
Turtle/pretty
fuseki    | [2022-02-03 19:15:20] WARN  SRSRegistry     :: SRS URI not
recognised so operation results may not be correct or accurate:
http://www.opengis.net/def/crs/EPSG/0/28992 - Unrecognised SRS URI code:
http://www.opengis.net/def/crs/EPSG/0/28992 - No
‘CoordinateReferenceSystem’ object found for code “28992”. However only a
subset of the EPSG geodetic dataset has been queried. See
http://sis.apache.org/epsg.html for instruction about how to install the
full EPSG database.
fuseki    | [2022-02-03 19:15:27] INFO  DatasetOperations :: Reading RDF -
Completed - File: /fuseki/store/ligplaats.trig, Graph Name: , RDF Format:
Turtle/pretty
fuseki    | [2022-02-03 19:15:27] INFO  GeoSPARQLOperations :: Applying
GeoSPARQL Schema - Started
fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: GeoSPARQL
schema applied to graph: default
fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Applying
GeoSPARQL Schema - Completed
fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Find Mode
SRS - Started
fuseki    | [2022-02-03 19:15:32] INFO  GeoSPARQLOperations :: Find Mode
SRS - Completed
fuseki    | [2022-02-03 19:15:32] ERROR Main            :: GeoSPARQL
Server:  Exiting - No SRS found. Check '
http://www.opengis.net/ont/geosparql#hasSerialization' or '
http://www.w3.org/2003/01/geo/wgs84_pos#lat'/'http://www.w3.org/2003/01/geo/wgs84_pos#lon'
predicates are present in the source data. Hint: Inferencing with GeoSPARQL
schema may be required.: dst

The was created manually with the CLI with the work around from :


   - cd /fuseki/databases/SIS/apache-sis-1.1/data
   - rm -rf Databases
   - wget
   https://repo1.maven.org/maven2/org/apache/sis/non-free/sis-embedded-data/1.1/sis-embedded-data-1.1.jar
   - unzip sis-embedded-data-1.1.jar SIS_DATA/Databases/*
   - mv SIS_DATA/Databases .
   - rmdir SIS_DATA
   - cd ..
   - sis crs EPSG:28992

output:

ProjectedCRS["Amersfoort / RD New",
  BaseGeodCRS["Amersfoort",
    Datum["Amersfoort",
      Ellipsoid["Bessel 1841", 6377397.155, 299.1528128]],
    Unit["degree", 0.017453292519943295]],
  Conversion["RD New",
    Method["Oblique Stereographic"],
    Parameter["Latitude of natural origin", 52.15616055555556],
    Parameter["Longitude of natural origin", 5.387638888888891],
    Parameter["Scale factor at natural origin", 0.9999079],
    Parameter["False easting", 155000.0],
    Parameter["False northing", 463000.0]],
  CS[Cartesian, 2],
    Axis["Easting (X)", east],
    Axis["Northing (Y)", north],
    Unit["metre", 1],
  Scope["Large and medium scale topographic mapping and engineering
survey."],
  Area["Netherlands - onshore, including Waddenzee, Dutch Wadden Islands
and 12-mile offshore coastal zone."],
  BBox[50.75, 3.20, 53.70, 7.22],
  Id["EPSG", 28992, "9.9.1", URI["urn:ogc:def:crs:EPSG:9.9.1:28992"]],
  Remark["Replaces Amersfoort / RD Old (code 28991)."]]




Op wo 2 feb. 2022 om 12:11 schreef Andy Seaborne <an...@apache.org>:

>
>
> On 02/02/2022 10:17, Erik Bijsterbosch wrote:
> > Hi Andy,
> >
> > Good to know that the code loops through all the (named) graphs.
> > I noticed later in the logs that fuseki was still busy with the next
> > (named) graph, apparently.
> > It seems that that attempt failed on the type of geometry we have in this
> > graph:
> >
> > [2022-02-02 09:32:27] WARN  system          :: The “SIS_DATA” environment
> > variable is not set.
> > [2022-02-02 09:32:28] WARN  system          :: The “SIS_DATA” environment
> > variable is not set.
> > Exception in thread "main"
> > org.apache.jena.dboe.transaction.txn.TransactionException: Write
> > transaction with no commit() or abort() before end() - forced abort
> >          at
> >
> org.apache.jena.dboe.transaction.txn.Transaction.end(Transaction.java:203)
> >          at
> >
> org.apache.jena.dboe.transaction.txn.TransactionalBase._end(TransactionalBase.java:262)
> >          at
> >
> org.apache.jena.dboe.transaction.txn.TransactionalBase.end(TransactionalBase.java:168)
> >          at
> >
> org.apache.jena.dboe.storage.system.DatasetGraphStorage.end(DatasetGraphStorage.java:73)
> >          at
> >
> org.apache.jena.sparql.core.DatasetGraphWrapper.end(DatasetGraphWrapper.java:284)
> >          at
> org.apache.jena.sparql.core.DatasetImpl.end(DatasetImpl.java:162)
> >          at
> >
> org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:297)
> >          at
> >
> org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:264)
> >          at
> >
> org.apache.jena.fuseki.geosparql.DatasetOperations.setup(DatasetOperations.java:83)
> >          at org.apache.jena.fuseki.geosparql.Main.main(Main.java:64)
>
> Should be a log line: "Inferencing Error: ..." as well or there is a
> java Throwable/Error happening e.g. OutOfMemoryError.
>
> >
> > For that we'll checkout the recommendations here first:
> > https://sis.apache.org/epsg.html
> >
> >
> > Op wo 2 feb. 2022 om 09:33 schreef Andy Seaborne <an...@apache.org>:
> >
> >>
> >>
> >> On 01/02/2022 17:13, Erik Bijsterbosch wrote:
> >>> Hi all,
> >>>
> >>> I created a new jena tdb2 database and loaded it with 256 million
> triples
> >>> in a named graph, using a fuseki2/tdb2 4.3.2 docker setup.
> >>> The data also consist of geometries so I built a new docker image based
> >> on
> >>> jena-fuseki-geosparql 4.3.2
> >>> When I bring up the new fuseki container it seems I can't address the
> >> named
> >>> graph reusing the tdb2 database, it searches through the default graph.
> >>> According to the --help graph names can only be provided when loading
> >> from
> >>> files or is there another way?
> >>
> >>
> >> Hi Erik,
> >>
> >>> fuseki    | [2022-02-01 17:08:15] INFO  GeoSPARQLOperations ::
> GeoSPARQL
> >>> schema not applied to empty graph: default
> >>
> >> That message is for the attempt the default graph but it does not mean
> >> it is ignoring the named graphs. The code loops on the named graphs as
> >> well.
> >>
> >>
> >>
> https://github.com/apache/jena/blob/main/jena-geosparql/src/main/java/org/apache/jena/geosparql/configuration/GeoSPARQLOperations.java#L269
> >>
> >> Is that what you mean by "can't address the named graph"?
> >>
> >> Or from a SPARQL query you can't get expected results?
> >>
> >>       Andy
> >>
> >
>

Re: Howto address a named graph with a geosparql server in an existing persistent store

Posted by Andy Seaborne <an...@apache.org>.

On 02/02/2022 10:17, Erik Bijsterbosch wrote:
> Hi Andy,
> 
> Good to know that the code loops through all the (named) graphs.
> I noticed later in the logs that fuseki was still busy with the next
> (named) graph, apparently.
> It seems that that attempt failed on the type of geometry we have in this
> graph:
> 
> [2022-02-02 09:32:27] WARN  system          :: The “SIS_DATA” environment
> variable is not set.
> [2022-02-02 09:32:28] WARN  system          :: The “SIS_DATA” environment
> variable is not set.
> Exception in thread "main"
> org.apache.jena.dboe.transaction.txn.TransactionException: Write
> transaction with no commit() or abort() before end() - forced abort
>          at
> org.apache.jena.dboe.transaction.txn.Transaction.end(Transaction.java:203)
>          at
> org.apache.jena.dboe.transaction.txn.TransactionalBase._end(TransactionalBase.java:262)
>          at
> org.apache.jena.dboe.transaction.txn.TransactionalBase.end(TransactionalBase.java:168)
>          at
> org.apache.jena.dboe.storage.system.DatasetGraphStorage.end(DatasetGraphStorage.java:73)
>          at
> org.apache.jena.sparql.core.DatasetGraphWrapper.end(DatasetGraphWrapper.java:284)
>          at org.apache.jena.sparql.core.DatasetImpl.end(DatasetImpl.java:162)
>          at
> org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:297)
>          at
> org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:264)
>          at
> org.apache.jena.fuseki.geosparql.DatasetOperations.setup(DatasetOperations.java:83)
>          at org.apache.jena.fuseki.geosparql.Main.main(Main.java:64)

Should be a log line: "Inferencing Error: ..." as well or there is a 
java Throwable/Error happening e.g. OutOfMemoryError.

> 
> For that we'll checkout the recommendations here first:
> https://sis.apache.org/epsg.html
> 
> 
> Op wo 2 feb. 2022 om 09:33 schreef Andy Seaborne <an...@apache.org>:
> 
>>
>>
>> On 01/02/2022 17:13, Erik Bijsterbosch wrote:
>>> Hi all,
>>>
>>> I created a new jena tdb2 database and loaded it with 256 million triples
>>> in a named graph, using a fuseki2/tdb2 4.3.2 docker setup.
>>> The data also consist of geometries so I built a new docker image based
>> on
>>> jena-fuseki-geosparql 4.3.2
>>> When I bring up the new fuseki container it seems I can't address the
>> named
>>> graph reusing the tdb2 database, it searches through the default graph.
>>> According to the --help graph names can only be provided when loading
>> from
>>> files or is there another way?
>>
>>
>> Hi Erik,
>>
>>> fuseki    | [2022-02-01 17:08:15] INFO  GeoSPARQLOperations :: GeoSPARQL
>>> schema not applied to empty graph: default
>>
>> That message is for the attempt the default graph but it does not mean
>> it is ignoring the named graphs. The code loops on the named graphs as
>> well.
>>
>>
>> https://github.com/apache/jena/blob/main/jena-geosparql/src/main/java/org/apache/jena/geosparql/configuration/GeoSPARQLOperations.java#L269
>>
>> Is that what you mean by "can't address the named graph"?
>>
>> Or from a SPARQL query you can't get expected results?
>>
>>       Andy
>>
> 

Re: Howto address a named graph with a geosparql server in an existing persistent store

Posted by Erik Bijsterbosch <e....@gmail.com>.
Hi Andy,

Good to know that the code loops through all the (named) graphs.
I noticed later in the logs that fuseki was still busy with the next
(named) graph, apparently.
It seems that that attempt failed on the type of geometry we have in this
graph:

[2022-02-02 09:32:27] WARN  system          :: The “SIS_DATA” environment
variable is not set.
[2022-02-02 09:32:28] WARN  system          :: The “SIS_DATA” environment
variable is not set.
Exception in thread "main"
org.apache.jena.dboe.transaction.txn.TransactionException: Write
transaction with no commit() or abort() before end() - forced abort
        at
org.apache.jena.dboe.transaction.txn.Transaction.end(Transaction.java:203)
        at
org.apache.jena.dboe.transaction.txn.TransactionalBase._end(TransactionalBase.java:262)
        at
org.apache.jena.dboe.transaction.txn.TransactionalBase.end(TransactionalBase.java:168)
        at
org.apache.jena.dboe.storage.system.DatasetGraphStorage.end(DatasetGraphStorage.java:73)
        at
org.apache.jena.sparql.core.DatasetGraphWrapper.end(DatasetGraphWrapper.java:284)
        at org.apache.jena.sparql.core.DatasetImpl.end(DatasetImpl.java:162)
        at
org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:297)
        at
org.apache.jena.geosparql.configuration.GeoSPARQLOperations.applyInferencing(GeoSPARQLOperations.java:264)
        at
org.apache.jena.fuseki.geosparql.DatasetOperations.setup(DatasetOperations.java:83)
        at org.apache.jena.fuseki.geosparql.Main.main(Main.java:64)

For that we'll checkout the recommendations here first:
https://sis.apache.org/epsg.html


Op wo 2 feb. 2022 om 09:33 schreef Andy Seaborne <an...@apache.org>:

>
>
> On 01/02/2022 17:13, Erik Bijsterbosch wrote:
> > Hi all,
> >
> > I created a new jena tdb2 database and loaded it with 256 million triples
> > in a named graph, using a fuseki2/tdb2 4.3.2 docker setup.
> > The data also consist of geometries so I built a new docker image based
> on
> > jena-fuseki-geosparql 4.3.2
> > When I bring up the new fuseki container it seems I can't address the
> named
> > graph reusing the tdb2 database, it searches through the default graph.
> > According to the --help graph names can only be provided when loading
> from
> > files or is there another way?
>
>
> Hi Erik,
>
> > fuseki    | [2022-02-01 17:08:15] INFO  GeoSPARQLOperations :: GeoSPARQL
> > schema not applied to empty graph: default
>
> That message is for the attempt the default graph but it does not mean
> it is ignoring the named graphs. The code loops on the named graphs as
> well.
>
>
> https://github.com/apache/jena/blob/main/jena-geosparql/src/main/java/org/apache/jena/geosparql/configuration/GeoSPARQLOperations.java#L269
>
> Is that what you mean by "can't address the named graph"?
>
> Or from a SPARQL query you can't get expected results?
>
>      Andy
>

Re: Howto address a named graph with a geosparql server in an existing persistent store

Posted by Andy Seaborne <an...@apache.org>.

On 01/02/2022 17:13, Erik Bijsterbosch wrote:
> Hi all,
> 
> I created a new jena tdb2 database and loaded it with 256 million triples
> in a named graph, using a fuseki2/tdb2 4.3.2 docker setup.
> The data also consist of geometries so I built a new docker image based on
> jena-fuseki-geosparql 4.3.2
> When I bring up the new fuseki container it seems I can't address the named
> graph reusing the tdb2 database, it searches through the default graph.
> According to the --help graph names can only be provided when loading from
> files or is there another way?


Hi Erik,

> fuseki    | [2022-02-01 17:08:15] INFO  GeoSPARQLOperations :: GeoSPARQL
> schema not applied to empty graph: default

That message is for the attempt the default graph but it does not mean 
it is ignoring the named graphs. The code loops on the named graphs as well.

https://github.com/apache/jena/blob/main/jena-geosparql/src/main/java/org/apache/jena/geosparql/configuration/GeoSPARQLOperations.java#L269

Is that what you mean by "can't address the named graph"?

Or from a SPARQL query you can't get expected results?

     Andy