Marco-- I think I didn't express myself well. I'm not asking you to do any code updates of any kind-- I'm asking you to take a look at the updates _I've_ made available in that PR, try them out, and see if they fix your problem. Again, if that seems like a bit too tall an order, that's okay-- we'll find some other way to confirm this fix. I can set up a duplication of your problem, but it will take a few days for me to get around to it.
ajs6f > On Sep 18, 2018, at 12:37 PM, Marco Neumann <marco.neum...@gmail.com> wrote: > > I will take a look at it over the weekend, haven't done code updates to the > new jena repo. not sure if I can submit changes in my current setup, but > am happy to learn about it. > > On Tue, Sep 18, 2018 at 4:47 PM ajs6f <aj...@apache.org> wrote: > >> Marco-- >> >> I've got a PR at https://github.com/apache/jena/pull/471. Until we hear >> from Andy, could you perhaps try cloning that PR/branch and trying the new >> code out? If that is not a reasonable piece of work for you, no problem, >> but it would help greatly in validating that we've found and fixed the >> problem. >> >> ajs6f >> >>> On Sep 18, 2018, at 4:51 AM, Marco Neumann <marco.neum...@gmail.com> >> wrote: >>> >>> well spotted Adam, I think that nails it. I guess I was lucky with my >> setup >>> to avoid this glitch so far. Don't want to anticipates Andy's call here >> but >>> what's your plan? wrap the call into a transaction to fix it? If so I'd >>> like to see it as an option in the code to work with tdb2 access methods >> if >>> required in addition the current tdb support. >>> >>> >>> On Mon, Sep 17, 2018 at 3:26 PM ajs6f <aj...@apache.org> wrote: >>> >>>> Okay, I think we've got it. Nice debugging, Markus! >>>> >>>> If you look at the line of the spatial indexer code that is throwing an >>>> exception: >>>> >>>> >>>> >> https://github.com/apache/jena/blob/master/jena-spatial/src/main/java/jena/spatialindexer.java#L110 >>>> >>>> indeed, it does not start a transaction against the dataset before >>>> starting to read quads to index them. Now, in TDB1 this isn't >> inherently a >>>> problem-- it's possible to work against a dataset without transactions. >>>> (Although it's generally not a good idea at all.) But IIRC, TDB2 >> requires >>>> transactions. If that's true (and Andy can verify that for us) then >> this is >>>> a bug and we can fix it in a straightforward way. >>>> >>>> Andy, can you confirm that diagnosis? If so, I'll open a ticket and >> write >>>> a PR to use a Txn method to fix this. >>>> >>>> ajs6f >>>> >>>>> On Sep 17, 2018, at 10:14 AM, Markus Neumann <mneum...@meteomatics.com >>> >>>> wrote: >>>>> >>>>> It seems I made a mess with absolute and relative paths all together. >> So >>>> I created a minimal setup for testing: >>>>> (I include the file-contents at the bottom) >>>>> >>>>> $ export JENA_HOME=/srv/linked_data_store/apache-jena-3.8.0 >>>>> $ export PATH=$PATH:$JENA_HOME/bin >>>>> $ tdb2.tdbloader >>>> --desc=/srv/linked_data_store/fuseki-server/run/configuration/mm.ttl >>>> /srv/linked_data_store/rdf_python_connector/turtle_files/mm-loc-mini.ttl >>>> /srv/linked_data_store/rdf_python_connector/turtle_files/mm-rdf.ttl >>>>> 13:50:54 INFO loader :: Loader = LoaderPhased >>>>> 13:50:54 INFO loader :: Data: >>>> >> /srv/linked_data_store/rdf_python_connector/turtle_files/mm-loc-mini.ttl: >>>> 13 mm-loc-mini.ttl 0.06s (Avg: 232) >>>>> 13:50:54 INFO loader :: Data: >>>> /srv/linked_data_store/rdf_python_connector/turtle_files/mm-rdf.ttl: 50 >>>> mm-rdf.ttl 0.01s (Avg: 6,250) >>>>> 13:50:55 INFO loader :: Finish - index SPO >>>>> 13:50:55 INFO loader :: Start replay index SPO >>>>> 13:50:55 INFO loader :: Index set: SPO => SPO->POS, >>>> SPO->OSP >>>>> 13:50:55 INFO loader :: Index set: SPO => SPO->POS, >>>> SPO->OSP [63 items, 0.0 seconds] >>>>> 13:50:55 INFO loader :: Finish - index POS >>>>> 13:50:55 INFO loader :: Finish - index OSP >>>>> $ java -cp >>>> >> /srv/linked_data_store/fuseki-server/fuseki-server.jar:/srv/linked_data_store/apache-jena-3.8.0/lib/* >>>> jena.spatialindexer >>>> --desc=/srv/linked_data_store/fuseki-server/run/configuration/mm.ttl >>>>> SLF4J: Class path contains multiple SLF4J bindings. >>>>> SLF4J: Found binding in >>>> >> [jar:file:/srv/linked_data_store/fuseki-server/fuseki-server.jar!/org/slf4j/impl/StaticLoggerBinder.class] >>>>> SLF4J: Found binding in >>>> >> [jar:file:/srv/linked_data_store/apache-jena-3.8.0/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class] >>>>> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an >>>> explanation. >>>>> SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] >>>>> org.apache.jena.dboe.transaction.txn.TransactionException: Not in a >>>> transaction >>>>> at >>>> >> org.apache.jena.dboe.transaction.txn.TransactionalComponentLifecycle.checkTxn(TransactionalComponentLifecycle.java:417) >>>>> at >>>> >> org.apache.jena.dboe.trans.bplustree.BPlusTree.getRootRead(BPlusTree.java:159) >>>>> at >>>> >> org.apache.jena.dboe.trans.bplustree.BPlusTree.iterator(BPlusTree.java:348) >>>>> at >>>> >> org.apache.jena.tdb2.store.tupletable.TupleIndexRecord.all(TupleIndexRecord.java:251) >>>>> at >>>> >> org.apache.jena.tdb2.store.tupletable.TupleTable.find(TupleTable.java:148) >>>>> at >>>> >> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:161) >>>>> at >>>> >> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:150) >>>>> at >>>> >> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.findAsNodeIds(NodeTupleTableConcrete.java:141) >>>>> at >> org.apache.jena.tdb2.store.TripleTable.find(TripleTable.java:64) >>>>> at >>>> >> org.apache.jena.tdb2.store.DatasetGraphTDB.findInDftGraph(DatasetGraphTDB.java:104) >>>>> at >>>> >> org.apache.jena.sparql.core.DatasetGraphBaseFind.findAny(DatasetGraphBaseFind.java:72) >>>>> at >>>> >> org.apache.jena.sparql.core.DatasetGraphBaseFind.find(DatasetGraphBaseFind.java:50) >>>>> at >>>> >> org.apache.jena.sparql.core.DatasetGraphWrapper.find(DatasetGraphWrapper.java:152) >>>>> at >>>> >> org.apache.jena.sparql.core.DatasetGraphWrapper.find(DatasetGraphWrapper.java:152) >>>>> at jena.spatialindexer.exec(spatialindexer.java:110) >>>>> at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) >>>>> at jena.cmd.CmdMain.mainRun(CmdMain.java:58) >>>>> at jena.cmd.CmdMain.mainRun(CmdMain.java:45) >>>>> at jena.spatialindexer.main(spatialindexer.java:53) >>>>> >>>>> I can get rid of the SLF4J warnings: >>>>> $ java -cp /srv/linked_data_store/fuseki-server/fuseki-server.jar >>>> jena.spatialindexer >>>> --desc=/srv/linked_data_store/fuseki-server/run/configuration/mm.ttl >>>>> org.apache.jena.dboe.transaction.txn.TransactionException: Not in a >>>> transaction >>>>> at >>>> >> org.apache.jena.dboe.transaction.txn.TransactionalComponentLifecycle.checkTxn(TransactionalComponentLifecycle.java:417) >>>>> at >>>> >> org.apache.jena.dboe.trans.bplustree.BPlusTree.getRootRead(BPlusTree.java:159) >>>>> at >>>> >> org.apache.jena.dboe.trans.bplustree.BPlusTree.iterator(BPlusTree.java:348) >>>>> at >>>> >> org.apache.jena.tdb2.store.tupletable.TupleIndexRecord.all(TupleIndexRecord.java:251) >>>>> at >>>> >> org.apache.jena.tdb2.store.tupletable.TupleTable.find(TupleTable.java:148) >>>>> at >>>> >> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:161) >>>>> at >>>> >> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:150) >>>>> at >>>> >> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.findAsNodeIds(NodeTupleTableConcrete.java:141) >>>>> at >> org.apache.jena.tdb2.store.TripleTable.find(TripleTable.java:64) >>>>> at >>>> >> org.apache.jena.tdb2.store.DatasetGraphTDB.findInDftGraph(DatasetGraphTDB.java:104) >>>>> at >>>> >> org.apache.jena.sparql.core.DatasetGraphBaseFind.findAny(DatasetGraphBaseFind.java:72) >>>>> at >>>> >> org.apache.jena.sparql.core.DatasetGraphBaseFind.find(DatasetGraphBaseFind.java:50) >>>>> at >>>> >> org.apache.jena.sparql.core.DatasetGraphWrapper.find(DatasetGraphWrapper.java:152) >>>>> at >>>> >> org.apache.jena.sparql.core.DatasetGraphWrapper.find(DatasetGraphWrapper.java:152) >>>>> at jena.spatialindexer.exec(spatialindexer.java:110) >>>>> at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) >>>>> at jena.cmd.CmdMain.mainRun(CmdMain.java:58) >>>>> at jena.cmd.CmdMain.mainRun(CmdMain.java:45) >>>>> at jena.spatialindexer.main(spatialindexer.java:53) >>>>> >>>>> There is no other java instance running at the time when I run those >>>> commands. >>>>> All paths are fully qualified and double checked. The destination >>>> directory and the Lucene directory were cleared just before. >>>>> >>>>> The server does start and serve the data without errors or warnings in >>>> the log, but spatial queries do not work. >>>>> >>>>> Does anyone see a reason for the TransactionException? >>>>> Thanks and best regards >>>>> Markus >>>>> >>>>> Attachments: >>>>> /srv/linked_data_store/rdf_python_connector/turtle_files/mm-rdf.ttl: >>>>> @prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . >>>>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . >>>>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . >>>>> @prefix owl: <http://www.w3.org/2002/07/owl#> . >>>>> @prefix dc: <http://purl.org/dc/elements/1.1/> . >>>>> @prefix dcterms: <http://purl.org/dc/terms/> . >>>>> @prefix xsd: <http://www.w3.org/2001/XMLSchema#> >>>>> @prefix mm: <http://rdf.meteomatics.com/mm/> . >>>>> >>>>> <http://rdf.meteomatics.com/mm/> >>>>> dcterms:publisher <http://api.meteomatics.com/Imprint.html> ; >>>>> dcterms:title "Meteomatics RDF Vocabulary"@en . >>>>> >>>>> mm:location a rdf:Property ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "location" ; >>>>> dcterms:description "Location of a measurement"@en . >>>>> >>>>> mm:elevation a rdf:Property ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "elevation" ; >>>>> dcterms:description "Elevation of a location"@en . >>>>> >>>>> mm:validdate a rdf:Property ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "validdate" ; >>>>> dcterms:description "Temporal information describing when a >>>> Measurement is/was valid"@en . >>>>> >>>>> mm:value a rdf:Property ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "value" ; >>>>> dcterms:description "The (observed or predicted) value of a >>>> Measurement"@en . >>>>> >>>>> mm:parameter a rdf:Property ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "parameter" ; >>>>> dcterms:description "what was measured"@en . >>>>> >>>>> mm:station_name a rdf:Property ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "station_name" ; >>>>> dcterms:description "Name of a station"@en . >>>>> >>>>> mm:abbreviation a rdf:Property ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "abbreviation" ; >>>>> dcterms:description "Abbreviation of a station name"@en . >>>>> >>>>> mm:didok_id a rdf:Property ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "didok_id" ; >>>>> dcterms:description "didok id of a station"@en . >>>>> >>>>> mm:unit_symbol a rdf:Property ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "unit symbol" ; >>>>> dcterms:description "unit symbol of a parameter"@en . >>>>> >>>>> mm:Measurement a rdf:Class ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "Measurement" ; >>>>> dcterms:description "Measurement of a specific weather parameter at >>>> specific location at a specific date (both future or past)" . >>>>> >>>>> mm:Location a rdf:Class ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "Location" ; >>>>> dcterms:description "A Point on the globe where we observe >>>> weather"@en . >>>>> >>>>> mm:Parameter a rdf:Class ; >>>>> rdfs:isDefinedBy <http://rdf.meteomatics.com/mm/> ; >>>>> rdfs:label "Parameter" ; >>>>> dcterms:description "A parameter describing an observable aspect of >>>> the weather"@en . >>>>> >>>>> >> /srv/linked_data_store/rdf_python_connector/turtle_files/mm-loc-mini.ttl >>>>> @prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . >>>>> @prefix geosparql: <http://www.opengis.net/ont/geosparql#> . >>>>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . >>>>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . >>>>> @prefix owl: <http://www.w3.org/2002/07/owl#> . >>>>> @prefix dc: <http://purl.org/dc/elements/1.1/> . >>>>> @prefix dcterms: <http://purl.org/dc/terms/> . >>>>> @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . >>>>> @prefix mm: <http://rdf.meteomatics.com/mm/> . >>>>> @prefix mm-measurements: <http://rdf.meteomatics.com/mm/measurements/> >> . >>>>> @prefix mm-locations: <http://rdf.meteomatics.com/mm/locations/> . >>>>> >>>>> >>>>> mm-locations:8500015 a mm:Location ; >>>>> a geosparql:Geometry ; >>>>> mm:didok_id 8500015 ; >>>>> geo:lat 47.54259 ; >>>>> geo:long 7.61574 ; >>>>> mm:elevation 273 . >>>>> >>>>> >>>>> mm-locations:8504238 a mm:Location ; >>>>> a geosparql:Geometry ; >>>>> geosparql:asWKT "POINT(6.86466645231 >>>> 47.0840196485)"^^geosparql:wktLiteral ; >>>>> mm:didok_id 8504238 ; >>>>> geo:lat 47.08402 ; >>>>> geo:long 6.86467 ; >>>>> mm:elevation 1086 . >>>>> >>>>> /srv/linked_data_store/fuseki-server/run/configuration/mm.ttl >>>>> @prefix : <http://base/#> . >>>>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . >>>>> @prefix tdb2: <http://jena.apache.org/2016/tdb#> . >>>>> @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> . >>>>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . >>>>> @prefix fuseki: <http://jena.apache.org/fuseki#> . >>>>> @prefix spatial: <http://jena.apache.org/spatial#> . >>>>> @prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . >>>>> @prefix geosparql: <http://www.opengis.net/ont/geosparql#> . >>>>> # Spatial >>>>> #[] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" . >>>>> #spatial:SpatialtDataset rdfs:subClassOf ja:RDFDataset . >>>>> #spatial:SpatialIndexLucene rdfs:subClassOf spatial:SpatialIndex . >>>>> >>>>> :service_tdb_all a fuseki:Service ; >>>>> rdfs:label "TDB2 mm" ; >>>>> fuseki:dataset :spatial_dataset ; >>>>> fuseki:name "mm" ; >>>>> fuseki:serviceQuery "query" , "sparql" ; >>>>> fuseki:serviceReadGraphStore "get" ; >>>>> fuseki:serviceReadWriteGraphStore >>>>> "data" ; >>>>> fuseki:serviceUpdate "update" ; >>>>> fuseki:serviceUpload "upload" . >>>>> >>>>> :spatial_dataset a spatial:SpatialDataset ; >>>>> spatial:dataset :tdb_dataset_readwrite ; >>>>> spatial:index <#indexLucene> ; >>>>> . >>>>> >>>>> <#indexLucene> a spatial:SpatialIndexLucene ; >>>>> spatial:directory <file:Lucene> ; >>>>> #spatial:directory "mem" ; >>>>> spatial:definition <#definition> ; >>>>> . >>>>> >>>>> <#definition> a spatial:EntityDefinition ; >>>>> spatial:entityField "uri" ; >>>>> spatial:geoField "geo" ; >>>>> # custom geo predicates for 1) Latitude/Longitude Format >>>>> spatial:hasSpatialPredicatePairs ( >>>>> [ spatial:latitude geo:lat ; spatial:longitude geo:long ] >>>>> ) ; >>>>> # custom geo predicates for 2) Well Known Text (WKT) Literal >>>>> spatial:hasWKTPredicates (geosparql:asWKT) ; >>>>> #spatial:spatialContextFactory >>>>> # "com.spatial4j.core.context.jts.JtsSpatialContextFactory" >>>>> # "org.locationtech.spatial4j.context.jts.JtsSpatialContextFactory" >>>>> . >>>>> >>>>> :tdb_dataset_readwrite >>>>> a tdb2:DatasetTDB2 ; >>>>> tdb2:location >>>> "/srv/linked_data_store/fuseki-server/run/databases/mm" . >>>>> >>>>> >>>>>> Am 17.09.2018 um 15:15 schrieb ajs6f <aj...@apache.org>: >>>>>> >>>>>> I think you might have misunderstood the use of $JENA_HOME, or perhaps >>>> the Java classpath. $JENA_HOME, which should generally be an absolute >>>> filepath, allows the Jena scripts to find their libraries at runtime. >>>> Internally, the scripts use $JENA_HOME to set up the classpaths with >> which >>>> to start running Java code. But in this case, you're not using the >> scripts. >>>> You're calling a Java class directly, which means you have to give it >> all >>>> the libraries directly, using the classpath flag directly. For example, >>>> your second attempt: >>>>>> >>>>>> $ java -cp apache-jena-3.8.0/lib/* jena.spatialindexer >>>> --desc=fuseki-server/run/configuration/mm.ttl >>>>>> Error: Could not find or load main class >>>> apache-jena-3.8.0.lib.commons-cli-1.4.jar >>>>>> >>>>>> may have failed because whatever directory you are in probably doesn't >>>> happen to have a Jena distribution in it called "apache-jena-3.8.0". >>>> Perhaps try: >>>>>> >>>>>> java -cp $JENA_HOME/lib/* jena.spatialindexer >>>> --desc=fuseki-server/run/configuration/mm.ttl >>>>>> >>>>>> Your first example looks like it might be misusing the -cp flag [1]. >>>> You probably don't want the *.jar, just *, like >>>>>> >>>>>> java -cp lib/* jena.spatialindexer >>>> --desc=../fuseki-server/run/configuration/mm.ttl >>>>>> >>>>>> especially if you happen to be using Windows. [2] That might not be >> the >>>> entire story, but you can at least try those invocations and see if you >> get >>>> anything different/better. >>>>>> >>>>>> ajs6f >>>>>> >>>>>> [1] >>>> >> https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html#A1100762 >>>> < >>>> >> https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html#A1100762 >>>>> >>>>>> [2] >>>> >> https://stackoverflow.com/questions/219585/including-all-the-jars-in-a-directory-within-the-java-classpath >>>> < >>>> >> https://stackoverflow.com/questions/219585/including-all-the-jars-in-a-directory-within-the-java-classpath >>>>> >>>>>> >>>>>> >>>>>>> On Sep 17, 2018, at 7:07 AM, Markus Neumann < >> mneum...@meteomatics.com >>>> <mailto:mneum...@meteomatics.com>> wrote: >>>>>>> >>>>>>> Ok, that's exactly what I did here: >>>>>>> $ java -cp lib/*.jar jena.spatialindexer >>>> --desc=../fuseki-server/run/configuration/mm.ttl >>>>>>> Error: Could not find or load main class lib.commons-cli-1.4.jar >>>>>>> >>>>>>> Or from outside JENA_HOME: >>>>>>> $ java -cp apache-jena-3.8.0/lib/* jena.spatialindexer >>>> --desc=fuseki-server/run/configuration/mm.ttl >>>>>>> Error: Could not find or load main class >>>> apache-jena-3.8.0.lib.commons-cli-1.4.jar >>>>>>> >>>>>>> Or did I missunderstand something? >>>>>>> >>>>>>>> Am 17.09.2018 um 12:02 schrieb Marco Neumann < >> marco.neum...@gmail.com >>>>> : >>>>>>>> >>>>>>>> don't worry it's a common problem and frequent source of confusion >>>> not only >>>>>>>> with jena but java projects. try to simply inlcude all the jars. >>>>>>>> >>>>>>>> I presume you run this on a linux box with OpenJDK 8. correct? >>>>>>>> >>>>>>>> now once you have set up jena just add the following >>>>>>>> {replace_with_your_path}/apache-jena-3.8.0/lib/* >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Sep 17, 2018 at 10:56 AM Markus Neumann < >>>> mneum...@meteomatics.com <mailto:mneum...@meteomatics.com> <mailto: >>>> mneum...@meteomatics.com <mailto:mneum...@meteomatics.com>>> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> This is embarrassing but I don't get it. >>>>>>>>> >>>>>>>>> I've configured $JENA_HOME and adjusted the PATH. >>>>>>>>> >>>>>>>>> Now what classpath should I include when invoking the indexer? >>>>>>>>> What I've tried so far: >>>>>>>>> >>>>>>>>> $ cd $JENA_HOME >>>>>>>>> $ java -cp jena-spatial-3.8.0.jar jena.spatialindexer >>>>>>>>> --desc=../fuseki-server/run/configuration/mm.ttl >>>>>>>>> Error: Could not find or load main class jena.spatialindexer >>>>>>>>> $ java -cp lib/*.jar jena.spatialindexer >>>>>>>>> --desc=../fuseki-server/run/configuration/mm.ttl >>>>>>>>> Error: Could not find or load main class lib.commons-cli-1.4.jar >>>>>>>>> >>>>>>>>> Thanks for your patience >>>>>>>>> >>>>>>>>>> Am 17.09.2018 um 11:38 schrieb Marco Neumann < >>>> marco.neum...@gmail.com <mailto:marco.neum...@gmail.com>>: >>>>>>>>>> >>>>>>>>>> yes correct, this looks good. now include the classpath during >>>> invocation >>>>>>>>>> of the spatialindexer >>>>>>>>>> >>>>>>>>>> in addition it's always a good idea to properly configure jena >>>> along your >>>>>>>>>> java runtime environment settings to avoid jdk / lib conflicts >>>> during >>>>>>>>>> execution. >>>>>>>>>> >>>>>>>>>> https://jena.apache.org/documentation/tools/index.html < >>>> https://jena.apache.org/documentation/tools/index.html> < >>>>>>>>> https://jena.apache.org/documentation/tools/index.html < >>>> https://jena.apache.org/documentation/tools/index.html> < >>>> https://jena.apache.org/documentation/tools/index.html < >>>> https://jena.apache.org/documentation/tools/index.html>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Sep 17, 2018 at 10:28 AM Markus Neumann < >>>>>>>>> mneum...@meteomatics.com <mailto:mneum...@meteomatics.com> >> <mailto: >>>> mneum...@meteomatics.com <mailto:mneum...@meteomatics.com>> <mailto: >>>> mneum...@meteomatics.com <mailto:mneum...@meteomatics.com> <mailto: >>>> mneum...@meteomatics.com <mailto:mneum...@meteomatics.com>>>> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> 1.: what do you mean by indexer? >>>>>>>>>>> Probably my biggest problem is, that I have no clue how to find >>>> out, >>>>>>>>> where >>>>>>>>>>> the jena.spatialindexer could be located except for asking here. >>>>>>>>>>> >>>>>>>>>>> Here is the content of the apache jena I downloaded: >>>>>>>>>>> $ ls -lh ../apache-jena-3.8.0/lib >>>>>>>>>>> total 17M >>>>>>>>>>> -rw-r--r-- 1 process process 162K Oct 26 2017 collection-0.7.jar >>>>>>>>>>> -rw-r--r-- 1 process process 53K Oct 26 2017 >> commons-cli-1.4.jar >>>>>>>>>>> -rw-r--r-- 1 process process 328K Mar 5 2018 >>>> commons-codec-1.11.jar >>>>>>>>>>> -rw-r--r-- 1 process process 576K Jun 25 09:59 >>>> commons-compress-1.17.jar >>>>>>>>>>> -rw-r--r-- 1 process process 41K Mar 5 2018 >> commons-csv-1.5.jar >>>>>>>>>>> -rw-r--r-- 1 process process 210K Mar 5 2018 commons-io-2.6.jar >>>>>>>>>>> -rw-r--r-- 1 process process 425K Oct 26 2017 >>>> commons-lang3-3.4.jar >>>>>>>>>>> -rw-r--r-- 1 process process 749K Jun 25 10:01 >> httpclient-4.5.5.jar >>>>>>>>>>> -rw-r--r-- 1 process process 158K Jun 25 10:01 >>>>>>>>> httpclient-cache-4.5.5.jar >>>>>>>>>>> -rw-r--r-- 1 process process 318K Jun 25 10:01 httpcore-4.4.9.jar >>>>>>>>>>> -rw-r--r-- 1 process process 65K Oct 26 2017 >>>>>>>>>>> jackson-annotations-2.9.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 315K Jun 25 10:01 >>>> jackson-core-2.9.5.jar >>>>>>>>>>> -rw-r--r-- 1 process process 1.3M Jun 25 10:01 >>>>>>>>> jackson-databind-2.9.5.jar >>>>>>>>>>> -rw-r--r-- 1 process process 17K Oct 26 2017 >>>> jcl-over-slf4j-1.7.25.jar >>>>>>>>>>> -rw-r--r-- 1 process process 2.9M Jun 25 11:03 jena-arq-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 211K Jun 25 11:01 >> jena-base-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 259K Jun 25 11:07 >> jena-cmds-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 1.7M Jun 25 11:02 >> jena-core-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 135K Jun 25 11:05 >>>> jena-dboe-base-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 21K Jun 25 11:05 >>>> jena-dboe-index-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 74K Jun 25 11:05 >>>>>>>>>>> jena-dboe-transaction-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 95K Jun 25 11:06 >>>>>>>>>>> jena-dboe-trans-data-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 135K Jun 25 11:01 jena-iri-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 49K Jun 25 11:04 >>>>>>>>> jena-rdfconnection-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 2.8M Jun 25 11:01 >>>>>>>>> jena-shaded-guava-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 264K Jun 25 11:06 >> jena-tdb2-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 512K Jun 25 11:04 jena-tdb-3.8.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 1.6M Jun 25 10:01 >>>> jsonld-java-0.12.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 232K Mar 5 2018 >> libthrift-0.10.0.jar >>>>>>>>>>> -rw-r--r-- 1 process process 479K Oct 26 2017 log4j-1.2.17.jar >>>>>>>>>>> -rw-r--r-- 1 process process 41K Oct 26 2017 >> slf4j-api-1.7.25.jar >>>>>>>>>>> -rw-r--r-- 1 process process 12K Oct 26 2017 >>>> slf4j-log4j12-1.7.25.jar >>>>>>>>>>> >>>>>>>>>>> 2.: Turns out, I don't need the jts. after commenting out the >>>> affected >>>>>>>>>>> lines, the server still runs fine. (But still without spatial >>>> index) >>>>>>>>>>> >>>>>>>>>>> Best Markus >>>>>>>>>>> >>>>>>>>>>>> Am 17.09.2018 um 11:14 schrieb Marco Neumann < >>>> marco.neum...@gmail.com <mailto:marco.neum...@gmail.com> <mailto: >>>> marco.neum...@gmail.com <mailto:marco.neum...@gmail.com>> >>>>>>>>>> : >>>>>>>>>>>> >>>>>>>>>>>> Ok let's take a look at this. >>>>>>>>>>>> >>>>>>>>>>>> 1. please include in the indexer in the classpath. It's part of >>>> the >>>>>>>>>>> current >>>>>>>>>>>> jena distribution. >>>>>>>>>>>> >>>>>>>>>>>> 2. do you need jts? it's a package that allows you to index >> multi >>>> point >>>>>>>>>>>> geometries. here a sample query would be helpful. If single >> point >>>>>>>>>>>> geometries are indexed and used in conjunction with MBR range >>>> queries. >>>>>>>>>>>> there is no need for jts. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Sep 17, 2018 at 9:14 AM Markus Neumann < >>>>>>>>> mneum...@meteomatics.com <mailto:mneum...@meteomatics.com> >> <mailto: >>>> mneum...@meteomatics.com <mailto:mneum...@meteomatics.com>> >>>>>>>>>>> <mailto:mneum...@meteomatics.com <mailto: >> mneum...@meteomatics.com> >>>> <mailto:mneum...@meteomatics.com <mailto:mneum...@meteomatics.com>> >>>> <mailto:mneum...@meteomatics.com <mailto:mneum...@meteomatics.com> >>>> <mailto:mneum...@meteomatics.com <mailto:mneum...@meteomatics.com>>>>> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi, >>>>>>>>>>>>> (sorry for the long post) >>>>>>>>>>>>> >>>>>>>>>>>>> I've been struggling with the spatial index for a while now. >>>>>>>>>>>>> I've read >>>>>>>>>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html> < >>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html>> < >>>>>>>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html> < >>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html>>> < >>>>>>>>>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html> < >>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html>> < >>>>>>>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html> < >>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html>>>> < >>>>>>>>>>>>> https://jena.apache.org/documentation/query/spatial-query.html >> < >>>> https://jena.apache.org/documentation/query/spatial-query.html> < >>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html>> < >>>>>>>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html> < >>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html>>> < >>>>>>>>>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html> < >>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html>> < >>>>>>>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html> < >>>> https://jena.apache.org/documentation/query/spatial-query.html < >>>> https://jena.apache.org/documentation/query/spatial-query.html>>>>> and >>>>>>>>>>>>> skipped through about every spatial related thread here on the >>>> list. >>>>>>>>>>>>> I managed to get an in-memory version up and running at some >>>> point >>>>>>>>>>>>> following this >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>>> >>>>>>>>> < >>>>>>>>> >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>>> >>>>>>>>>> >>>>>>>>>>> < >>>>>>>>>>> >>>>>>>>> >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>>> >>>>>>>>> < >>>>>>>>> >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>>> >>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> < >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>>> >>>>>>>>> < >>>>>>>>> >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>>> >>>>>>>>>> >>>>>>>>>>> < >>>>>>>>>>> >>>>>>>>> >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>>> >>>>>>>>> < >>>>>>>>> >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>> < >>>> >> https://stackoverflow.com/questions/45814956/building-geospatial-index-when-working-with-jena-fuseki/52099066#52099066 >>>>>> >>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> and this >>>>>>>>>>>>> >>>> https://ceyxstudios.com/2017/11/25/rdf-datenbank-mit-geo-funktionen/ < >>>> https://ceyxstudios.com/2017/11/25/rdf-datenbank-mit-geo-funktionen/> < >>>> https://ceyxstudios.com/2017/11/25/rdf-datenbank-mit-geo-funktionen/ < >>>> https://ceyxstudios.com/2017/11/25/rdf-datenbank-mit-geo-funktionen/>> >>>>>>>>> < >>>> https://ceyxstudios.com/2017/11/25/rdf-datenbank-mit-geo-funktionen/> < >>>>>>>>>>> >>>> https://ceyxstudios.com/2017/11/25/rdf-datenbank-mit-geo-funktionen/> < >>>>>>>>>>>>> >>>> https://ceyxstudios.com/2017/11/25/rdf-datenbank-mit-geo-funktionen/> >>>>>>>>>>>>> >>>>>>>>>>>>> But that was on a small dataset that I uploaded via the >>>> web-interface >>>>>>>>> of >>>>>>>>>>>>> Fuseki. >>>>>>>>>>>>> >>>>>>>>>>>>> Now the story is a bit different. I'm building the database >> using >>>>>>>>>>>>> tdbloader2 and would like to create the spatial index upfront. >>>>>>>>>>>>> >>>>>>>>>>>>> java -cp jena-spatial.jar jena.spatialindexer >>>> --desc=assembler_file >>>>>>>>>>>>> I could not figure out, how to get this line to work. I have >> the >>>>>>>>>>> following >>>>>>>>>>>>> possible scenarios: >>>>>>>>>>>>> >>>>>>>>>>>>> 1. I download the jena-spatial-3.8.0.jar and specify that in >> the >>>>>>>>>>> classpath: >>>>>>>>>>>>> $ java -cp jena-spatial-3.8.0.jar jena.spatialindexer >>>>>>>>>>>>> --desc=../fuseki-server/run/configuration/mm.ttl >>>>>>>>>>>>> Error: Could not find or load main class jena.spatialindexer >>>>>>>>>>>>> >>>>>>>>>>>>> 2. I use the fuseki-server jar: >>>>>>>>>>>>> $ java -cp fuseki-server.jar jena.spatialindexer >>>>>>>>>>>>> --desc=./run/configuration/mm.ttl >>>>>>>>>>>>> WARN Custom SpatialContextFactory lib is not ready in >>>>>>>>>>>>> classpath:com/vividsolutions/jts/geom/CoordinateSequenceFactory >>>>>>>>>>>>> org.apache.jena.dboe.transaction.txn.TransactionException: Not >>>> in a >>>>>>>>>>>>> transaction >>>>>>>>>>>>> >>>>>>>>>>>>> I managed to eliminate the warning about jts by including that >>>> in the >>>>>>>>>>>>> classpath, but the error remains the same (with full trace): >>>>>>>>>>>>> java -cp fuseki-server.jar:jts-1.13.jar jena.spatialindexer >>>>>>>>>>>>> --desc=./run/configuration/mm.ttl >>>>>>>>>>>>> org.apache.jena.dboe.transaction.txn.TransactionException: Not >>>> in a >>>>>>>>>>>>> transaction >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.dboe.transaction.txn.TransactionalComponentLifecycle.checkTxn(TransactionalComponentLifecycle.java:417) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.dboe.trans.bplustree.BPlusTree.getRootRead(BPlusTree.java:159) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.dboe.trans.bplustree.BPlusTree.iterator(BPlusTree.java:348) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.tdb2.store.tupletable.TupleIndexRecord.all(TupleIndexRecord.java:251) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.tdb2.store.tupletable.TupleTable.find(TupleTable.java:148) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:161) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:150) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.findAsNodeIds(NodeTupleTableConcrete.java:141) >>>>>>>>>>>>> at >>>>>>>>>>> org.apache.jena.tdb2.store.TripleTable.find(TripleTable.java:64) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.tdb2.store.DatasetGraphTDB.findInDftGraph(DatasetGraphTDB.java:104) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.sparql.core.DatasetGraphBaseFind.findAny(DatasetGraphBaseFind.java:72) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.sparql.core.DatasetGraphBaseFind.find(DatasetGraphBaseFind.java:50) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.sparql.core.DatasetGraphWrapper.find(DatasetGraphWrapper.java:152) >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>> >> org.apache.jena.sparql.core.DatasetGraphWrapper.find(DatasetGraphWrapper.java:152) >>>>>>>>>>>>> at jena.spatialindexer.exec(spatialindexer.java:110) >>>>>>>>>>>>> at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) >>>>>>>>>>>>> at jena.cmd.CmdMain.mainRun(CmdMain.java:58) >>>>>>>>>>>>> at jena.cmd.CmdMain.mainRun(CmdMain.java:45) >>>>>>>>>>>>> at jena.spatialindexer.main(spatialindexer.java:53) >>>>>>>>>>>>> >>>>>>>>>>>>> My configuration is the following: >>>>>>>>>>>>> @prefix : <http://base/#> . >>>>>>>>>>>>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . >>>>>>>>>>>>> @prefix tdb2: <http://jena.apache.org/2016/tdb#> . >>>>>>>>>>>>> @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> . >>>>>>>>>>>>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . >>>>>>>>>>>>> @prefix fuseki: <http://jena.apache.org/fuseki#> . >>>>>>>>>>>>> @prefix spatial: <http://jena.apache.org/spatial#> . >>>>>>>>>>>>> @prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . >>>>>>>>>>>>> @prefix geosparql: <http://www.opengis.net/ont/geosparql#> . >>>>>>>>>>>>> # Spatial >>>>>>>>>>>>> [] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" . >>>>>>>>>>>>> spatial:SpatialtDataset rdfs:subClassOf ja:RDFDataset . >>>>>>>>>>>>> spatial:SpatialIndexLucene rdfs:subClassOf >> spatial:SpatialIndex . >>>>>>>>>>>>> >>>>>>>>>>>>> :service_tdb_all a fuseki:Service ; >>>>>>>>>>>>> rdfs:label "TDB2 mm" ; >>>>>>>>>>>>> fuseki:dataset :spatial_dataset ; >>>>>>>>>>>>> fuseki:name "mm" ; >>>>>>>>>>>>> fuseki:serviceQuery "query" , "sparql" ; >>>>>>>>>>>>> fuseki:serviceReadGraphStore "get" ; >>>>>>>>>>>>> fuseki:serviceReadWriteGraphStore >>>>>>>>>>>>> "data" ; >>>>>>>>>>>>> fuseki:serviceUpdate "update" ; >>>>>>>>>>>>> fuseki:serviceUpload "upload" . >>>>>>>>>>>>> >>>>>>>>>>>>> :spatial_dataset a spatial:SpatialDataset ; >>>>>>>>>>>>> spatial:dataset :tdb_dataset_readwrite ; >>>>>>>>>>>>> spatial:index <#indexLucene> ; >>>>>>>>>>>>> . >>>>>>>>>>>>> >>>>>>>>>>>>> <#indexLucene> a spatial:SpatialIndexLucene ; >>>>>>>>>>>>> spatial:directory <file:Lucene> ; >>>>>>>>>>>>> #spatial:directory "mem" ; >>>>>>>>>>>>> spatial:definition <#definition> ; >>>>>>>>>>>>> . >>>>>>>>>>>>> >>>>>>>>>>>>> <#definition> a spatial:EntityDefinition ; >>>>>>>>>>>>> spatial:entityField "uri" ; >>>>>>>>>>>>> spatial:geoField "geo" ; >>>>>>>>>>>>> # custom geo predicates for 1) Latitude/Longitude Format >>>>>>>>>>>>> spatial:hasSpatialPredicatePairs ( >>>>>>>>>>>>> [ spatial:latitude geo:lat ; spatial:longitude geo:long ] >>>>>>>>>>>>> ) ; >>>>>>>>>>>>> # custom geo predicates for 2) Well Known Text (WKT) Literal >>>>>>>>>>>>> spatial:hasWKTPredicates (geosparql:asWKT) ; >>>>>>>>>>>>> # custom SpatialContextFactory for 2) Well Known Text (WKT) >>>> Literal >>>>>>>>>>>>> spatial:spatialContextFactory >>>>>>>>>>>>> # >>>> "com.spatial4j.core.context.jts.JtsSpatialContextFactory" >>>>>>>>>>>>> >>>>>>>>> "org.locationtech.spatial4j.context.jts.JtsSpatialContextFactory" >>>>>>>>>>>>> . >>>>>>>>>>>>> >>>>>>>>>>>>> :tdb_dataset_readwrite >>>>>>>>>>>>> a tdb2:DatasetTDB2 ; >>>>>>>>>>>>> tdb2:location >>>>>>>>>>>>> "/srv/linked_data_store/fuseki-server/run/databases/mm" . >>>>>>>>>>>>> >>>>>>>>>>>>> And I've changed the fuseki script to include the jts jar: >>>>>>>>>>>>> FUSEKI_CLASSES=$FUSEKI_HOME/jts-1.13.jar >>>>>>>>>>>>> >>>>>>>>>>>>> I see no errors or warnings in the server log, when starting >>>> with that >>>>>>>>>>>>> configuration, the Lucene folder is created and populated with >>>>>>>>>>> something: >>>>>>>>>>>>> $ ll run/configuration/Lucene/ >>>>>>>>>>>>> total 4 >>>>>>>>>>>>> -rw-rw-r-- 1 process process 71 Sep 14 09:28 segments_1 >>>>>>>>>>>>> -rw-rw-r-- 1 process process 0 Sep 14 09:28 write.lock >>>>>>>>>>>>> >>>>>>>>>>>>> But any spatial query does not return any results. >>>>>>>>>>>>> Any help on how to tackle this would be highly appreciated. >>>>>>>>>>>>> >>>>>>>>>>>>> Best >>>>>>>>>>>>> Markus Neumann >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> --- >>>>>>>>>>>> Marco Neumann >>>>>>>>>>>> KONA >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> --- >>>>>>>>>> Marco Neumann >>>>>>>>>> KONA >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> >>>>>>>> --- >>>>>>>> Marco Neumann >>>>>>>> KONA >>>>> >>>> >>>> >>>> >>> >>> -- >>> >>> >>> --- >>> Marco Neumann >>> KONA >> >> >> > > -- > > > --- > Marco Neumann > KONA