Hi, 1) If you’re using a default config, it does not have a working jena-text configuration. The config will need to include skos:prefLabel in the entity map.
2) when you change the jena-text in significant ways, such as changing what analyzer is used for a given property and so on, then you’ll need to rebuild the Lucene index via reloading the dataset or using the textIndexer <https://jena.apache.org/documentation/query/text-query.html#building-a-text-index>. I don’t recall this being mentioned as part of your testing 3) Please indicate exactly which item you’re using jena-fuseki-war-3.9.0.war or jena-fuseki-webapp-3.9.0.jar etc, and the config file itself. The error you’ve mentioned previously: > Jan 17 17:00:28 semantic-dev java[16800]: [2019-01-17 17:00:28] Config > INFO Load configuration: > file:///home/text/tools/apache-jena-fuseki-3.9.0/run/configuration/text_index.ttl > > <file:///home/text/tools/apache-jena-fuseki-3.9.0/run/configuration/text_index.ttl> > Jan 17 17:00:28 semantic-dev java[16800]: [2019-01-17 17:00:28] WebAppContext > WARN Failed startup of context o.e.j.w.WebAppContext@4159e81b{Apache Jena > Fuseki > Server,/,file:///home/text/tools/apache-jena-fuseki-3.9.0/webapp/,UNAVAILABLE > <file:///home/text/tools/apache-jena-fuseki-3.9.0/webapp/,UNAVAILABLE>} > Jan 17 17:00:28 semantic-dev java[16800]: at > org.apache.jena.fuseki.build.FusekiConfig.readAssemblerFile(FusekiConfig.java:148) suggests to me that something in the config file is confusing the readAssemblerFile. It doesn’t look like it’s failing in the reading the jena-text portion of the config. If http://api.finto.fi/download/mesh/mesh-skos.ttl <http://api.finto.fi/download/mesh/mesh-skos.ttl> the dataset, then can you cut it down to just a small test case with some concepts with “medi” and a few without? That along with the other information should help move this further along.. 4) Your query: > PREFIX skos: <http://www.w3.org/2004/02/skos/core# > <http://www.w3.org/2004/02/skos/core#>> > PREFIX text: <http://jena.apache.org/text# <http://jena.apache.org/text#>> > SELECT * > WHERE > { > GRAPH <http://www.yso.fi/onto/mesh/ <http://www.yso.fi/onto/mesh/>> > { > ?concept text:query (skos:prefLabel "medi") . > ?concept skos:prefLabel ?prefLabel . > > # FILTER ( REGEX(?prefLabel, "\\bmedi", "i")) > } > } > limit 10 might effectively just be executing: > ?concept skos:prefLabel ?prefLabel . if there is actually no jena-text config - I haven’t checked what happens when there is no TextIndex configured and the text:query is invoked, but may be a noop Thanks, Chris > On Jan 18, 2019, at 8:08 AM, Mikael Pesonen <mikael.peso...@lingsoft.fi> > wrote: > > > > On 18/01/2019 13:40, Andy Seaborne wrote: >> >> >> On 17/01/2019 15:45, Mikael Pesonen wrote: >>> >>> >>> On 17/01/2019 17:38, Andy Seaborne wrote: >>>> >>>> >>>> On 17/01/2019 12:51, Mikael Pesonen wrote: >>>>> >>>>> >>>>> On 17/01/2019 13:58, Andy Seaborne wrote: >>>>>> >>>>>> >>>>>> On 16/01/2019 12:50, Mikael Pesonen wrote: >>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I'm trying to get text search work. Sparql REGEX takes few seconds to >>>>>>> finish so hoping this would be faster. Application is term search using >>>>>>> SKOS ontology. >>>>>>> >>>>>>> First tested if it's enabled by default >>>>>>> >>>>>>> ?concept text:query (skos:prefLabel "medi") . >>>>>>> ?concept skos:prefLabel ?prefLabel >>>>>>> >>>>>>> That returns all concepts so I guess it's not enabled. >>>>>> >>>>>> If it returns all concepts, the first line matched (otherwise you get >>>>>> none). If so, there is a text index and "medi" (case insensitive) >>>>>> matches Lucene rules, everything. >>>>> What does this mean then, why is it matching everything? >>>> >>>> If zero matches, you don't get to ?concept skos:prefLabel ?prefLabel (if >>>> the text index is correct) >>>> >>>> The query above, if the index is setup correctly, gets all concepts where >>>> any skos:prefLabel matches "medi" (not just at the start), then gets all >>>> skos:prefLabel for those concepts. That does not mean ?prefLabel only >>>> matches "medi" >>>> >>>> :c skos:prefLabel "medi" ; >>>> skos:prefLabel "Other" . >>>> >>>> will return 2 matches including ?prefLabel="Other" >>> Yes that is how I understood it. But ?concept text:query (skos:prefLabel >>> "medi") returns all concepts, also those that don't have any label having >>> "medi". >> >> Then I don't understand what is going on. >> >> Do you have a complete, minimal example that someone can use to recreate the >> situation? >> > This is the query: > > PREFIX skos: <http://www.w3.org/2004/02/skos/core#> > PREFIX text: <http://jena.apache.org/text#> > SELECT * > WHERE > { > GRAPH <http://www.yso.fi/onto/mesh/> > { > ?concept text:query (skos:prefLabel "medi") . > ?concept skos:prefLabel ?prefLabel . > > # FILTER ( REGEX(?prefLabel, "\\bmedi", "i")) > } > } > limit 10 > > and graph is dump copied from here: https://finto.fi/mesh/en/ > end of page "Download this vocabulary" > > So to make clear, we have made zero configuration on jena/fuseki, all is > default from 3.9.0 package. >> Andy > > -- > Lingsoft - 30 years of Leading Language Management > > www.lingsoft.fi > > Speech Applications - Language Management - Translation - Reader's and > Writer's Tools - Text Tools - E-books and M-books > > Mikael Pesonen > System Engineer > > e-mail: mikael.peso...@lingsoft.fi > Tel. +358 2 279 3300 > > Time zone: GMT+2 > > Helsinki Office > Eteläranta 10 > FI-00130 Helsinki > FINLAND > > Turku Office > Kauppiaskatu 5 A > FI-20100 Turku > FINLAND >