I'm still clueless about how to configure Jena for textual AND spatial indexes. I tried yet another assembler file: https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext3.assembler.ttl but even less good as https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext2.assembler.ttl reported just before.
It seems that nobody uses both indexes by program; otherwise I'd like to know how you do; you can send me privately your assembler files. Fuseki claims to "incorporate Jena text query <https://jena.apache.org/documentation/query/text-query.html> and Jena spatial query <https://jena.apache.org/documentation/query/spatial-query.html>" in this documentation: https://jena.apache.org/documentation/fuseki2/ So there is a way to configure Jena for textual AND spatial indexes! In absence of other help, I'll have to look into Fuseki code. NOTE: the error message "*tried context and as a text-enabled dataset*" maybe hints at a solution, but the word "context" is not clear. Le lun. 17 déc. 2018 à 14:51, Jean-Marc Vanel <[email protected]> a écrit : > > > Le lun. 17 déc. 2018 à 13:24, Andy Seaborne <[email protected]> a écrit : > >> ... >> :spatial_dataset rdf:type spatial:SpatialDataset ; >> rdf:type text:TextDataset ; >> ... >> >> Not sure but I think the system will create this twice. >> >> It would be better to have two declarations, one for spatial, one for >> text. I'm not sure what happen if they share the same :directory - it >> might work, it might not. >> > > So, if one want to make queries that are both textual and spatial, > having two declarations, one for spatial, one for text, sharing the same > directory, appears as the only solution . > I tested and report here. > The current assembler file: > > https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext2.assembler.ttl > Results: > > - spatial query works, textual query has empty result, but no message > in log, when *calling with spatial Dataset* in call > to DatasetFactory.assemble() > - spatial query works, textual query has result independant of the > string searched, and messages in log "Failed to find the text index" , "No > text index - no text search performed : tried context and as a text-enabled > dataset", when *calling with textual Dataset *in call to > DatasetFactory.assemble() > > The query tested for text: > PREFIX text: <http://jena.apache.org/text#> > PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> > SELECT * > WHERE { > ?s a <http://dbpedia.org/ontology/Garden> ; > text:query (rdfs:label 'Gardens' ) ; > } LIMIT 11 > > The spatial query tested: > > PREFIX spatial: <http://jena.apache.org/spatial#> > PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> > SELECT DISTINCT ?placeName ?place > WHERE { > ?place spatial:nearby ( > 45.750000 4.85 # Lyon > 1000 'km') . > ?place rdfs:label ?placeName > FILTER( LANG( ?placeName) = 'en' ) > } LIMIT 111 > > Data: the 2600 dboGarden in dbPedia endpoint. > > > >> Andy >> >> On 16/12/2018 16:41, Jean-Marc Vanel wrote: >> > Sorry , I sent a bad link on the list, my assembler file is really this: >> > >> https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext.assembler.ttl >> > >> > >> > >> > >> > Le dim. 16 déc. 2018 à 13:40, Marco Neumann <[email protected]> a >> > écrit : >> > >> >> you are missing the text index in the assembler. >> >> >> >> On Sun, Dec 16, 2018 at 12:08 PM Jean-Marc Vanel < >> [email protected] >> >>> >> >> wrote: >> >> >> >>> Yes indeed, >> >>> exactly with this assembler file: >> >>> >> >>> >> >> >> https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial.assembler.ttl >> >>> >> >>> And, when the Jena based application is started with this same >> assembler >> >>> file, the spatial queries work , as said above in this thread. >> >>> >> >>> >> >>> Le dim. 16 déc. 2018 à 12:18, Marco Neumann <[email protected]> >> a >> >>> écrit : >> >>> >> >>>> did you create the text index with jena.textindexer >> >>>> --desc=/<path>/config.ttl? >> >>>> >> >>>> >> >>>> On Sun, Dec 16, 2018 at 8:48 AM Jean-Marc Vanel < >> >>> [email protected]> >> >>>> wrote: >> >>>> >> >>>>> I fixed a stupid error in text index URI, resulting from pasting, in >> >>> new >> >>>>> file jena.spatial+text.assembler.ttl: >> >>>>> >> >>>>> >> >>>> >> >>> >> >> >> https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext.assembler.ttl >> >>>>> >> >>>>> Now, it reads: >> >>>>> :spatial_dataset rdf:type spatial:SpatialDataset ; >> >>>>> rdf:type text:TextDataset ; >> >>>>> spatial:dataset <#dataset> ; >> >>>>> spatial:index <#indexLucene> ; >> >>>>> text:dataset <#dataset> ; >> >>>>> text:index * <#indexLuceneText>* ; >> >>>>> . >> >>>>> >> >>>>> But still it says "Failed to find the text index" . >> >>>>> >> >>>>> >> >>>>> Le dim. 16 déc. 2018 à 09:34, Jean-Marc Vanel < >> >>> [email protected]> >> >>>> a >> >>>>> écrit : >> >>>>> >> >>>>>> So I tried a new file jena.spatial+text.assembler.ttl with >> >> separate >> >>>>>> Lucene indices for spatial and text: >> >>>>>> >> >>>>>> >> >>>>> >> >>>> >> >>> >> >> >> https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext.assembler.ttl >> >>>>>> >> >>>>>> It defines a Dataset with both Dataset types and both Lucene >> >> indices: >> >>>>>> >> >>>>>> :spatial_dataset rdf:type spatial:SpatialDataset ; >> >>>>>> rdf:type text:TextDataset ; >> >>>>>> spatial:dataset <#dataset> ; >> >>>>>> spatial:index <#indexLucene> ; >> >>>>>> text:dataset <#dataset> ; >> >>>>>> text:index <#indexLucene> ; >> >>>>>> . >> >>>>>> >> >>>>>> Alas , when querying , it says "Failed to find the text index" : >> >>>>>> >> >>>>>> WARN org.apache.jena.query.text.TextQueryPF - Failed to find the >> >>> text >> >>>>>> index : tried context and as a text-enabled dataset >> >>>>>> WARN org.apache.jena.query.text.TextQueryPF - No text index - no >> >>> text >> >>>>>> search performed >> >>>>>> >> >>>>>> Is it because rdf:type spatial:SpatialDataset is asserted first in >> >>>>>> assembler file? >> >>>>>> So, defining a hybrid Dataset does not work anymore by TTL >> >>>> specification >> >>>>>> than by JVM code specification. >> >>>>>> I definitely need more experts' advice . >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> Le sam. 15 déc. 2018 à 21:10, ajs6f <[email protected]> a écrit : >> >>>>>> >> >>>>>>>> On Dec 15, 2018, at 9:59 AM, Marco Neumann < >> >>> [email protected] >> >>>>> >> >>>>>>> wrote: >> >>>>>>>> >> >>>>>>>>> *Question*: does that make sense to have a unique Lucene index >> >>> for >> >>>>>>> text and >> >>>>>>>>> space ? >> >>>>>>>>> It is possible at all? If yes, is it good in terms of disk >> >> space >> >>>> and >> >>>>>>>>> performance? >> >>>>>>>>> Like this: >> >>>>>>>>> <#indexLucene> a text:TextIndexLucene ; >> >>>>>>>>> a spatial:SpatialIndexLucene ; >> >>>>>>>>> # etc ... >> >>>>>>> >> >>>>>>> I'm sure that would be ideal for many cases, but I'm not at all >> >> sure >> >>>>> that >> >>>>>>> the same index can answer queries of both kinds. Perhaps we can >> >>>> combine >> >>>>>>> fields from both, but are the relationships between tuple and >> >> index >> >>>>> record >> >>>>>>> the same in both cases? >> >>>>>>> >> >>>>>>> Otherwise, I know we had a conversation at some point in the past >> >> on >> >>>> one >> >>>>>>> of the lists about trying to factor out commonalities between >> >>>>> jena-spatial >> >>>>>>> and jena-text, but it didn't go very far at that time and I don't >> >>> know >> >>>>> what >> >>>>>>> the intervening years have done to make it more or less feasible. >> >>>> There >> >>>>>>> have been many changes to jena-text in that time and the new >> >> spatial >> >>>>> module >> >>>>>>> is a whole new story. I'd put a link here but searching >> >>>>> lists.apache.org >> >>>>>>> hasn't brought it up for me. >> >>>>>>> >> >>>>>>> ajs6f >> >>>>>>> >> >>>>>>> >> >>>>>> >> >>>>>> -- >> >>>>>> Jean-Marc Vanel >> >>>>>> >> >>>>>> >> >>>>> >> >>>> >> >>> >> >> >> http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject >> >>>>>> < >> >>>>> >> >>>> >> >>> >> >> >> http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me >> >>>>>> >> >>>>>> Rule-based programming, Semantic Web >> >>>>>> +33 (0)6 89 16 29 52 >> >>>>>> Twitter: @jmvanel , @jmvanel_fr ; chat: irc:// >> >>>> irc.freenode.net#eulergui >> >>>>>> Chroniques jardin >> >>>>>> < >> >>>>> >> >>>> >> >>> >> >> >> http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle >> >>>>>> >> >>>>>> >> >>>>> >> >>>>> >> >>>>> -- >> >>>>> Jean-Marc Vanel >> >>>>> >> >>>>> >> >>>> >> >>> >> >> >> http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject >> >>>>> < >> >>>>> >> >>>> >> >>> >> >> >> http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me >> >>>>>> >> >>>>> Rule-based programming, Semantic Web >> >>>>> +33 (0)6 89 16 29 52 >> >>>>> Twitter: @jmvanel , @jmvanel_fr ; chat: irc:// >> >>> irc.freenode.net#eulergui >> >>>>> Chroniques jardin >> >>>>> < >> >>>>> >> >>>> >> >>> >> >> >> http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle >> >>>>>> >> >>>>> >> >>>> >> >>>> >> >>>> -- >> >>>> >> >>>> >> >>>> --- >> >>>> Marco Neumann >> >>>> KONA >> >>>> >> >>> >> >>> >> >>> -- >> >>> Jean-Marc Vanel >> >>> >> >>> >> >> >> http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject >> >>> < >> >>> >> >> >> http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me >> >>>> >> >>> Rule-based programming, Semantic Web >> >>> +33 (0)6 89 16 29 52 >> >>> Twitter: @jmvanel , @jmvanel_fr ; chat: irc:// >> irc.freenode.net#eulergui >> >>> Chroniques jardin >> >>> < >> >>> >> >> >> http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle >> >>>> >> >>> >> >> >> >> >> >> -- >> >> >> >> >> >> --- >> >> Marco Neumann >> >> KONA >> >> >> > >> > >> > > > -- > Jean-Marc Vanel > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject > <http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me> > Rule-based programming, Semantic Web > +33 (0)6 89 16 29 52 > Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui > Chroniques jardin > <http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle> > -- Jean-Marc Vanel http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject <http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me> Rule-based programming, Semantic Web +33 (0)6 89 16 29 52 Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui Chroniques jardin <http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle>
