Can't reproduce this. With the config file I shared with you, it works
for me as expected with Fuseki 3.10.0

Which config file do you use now?

>
> On 22/01/2019 16:17, vincent ventresque wrote:
>> Hello
>>
>> If the configuration folder is empty, the run/config.ttl (default
>> file) should be the one that Fuseki uses : you should try to replace
>> the content of run/config.ttl with the one Chris has sent in previous
>> msg
>>
> That worked!
>
> So now with the example Lorenz posted I get
>
>  java -cp ./fuseki-server.jar jena.textindexer --desc=run/config.ttl
> org.apache.jena.sparql.ARQException: No such type:
> <http://jena.apache.org/text#TextDataset>
>         at
> org.apache.jena.sparql.core.assembler.AssemblerUtils.build(AssemblerUtils.java:122)
>         at
> org.apache.jena.query.text.TextDatasetFactory.create(TextDatasetFactory.java:38)
>         at jena.textindexer.processModulesAndArgs(textindexer.java:90)
>         at jena.cmd.CmdArgModule.process(CmdArgModule.java:52)
>         at jena.cmd.CmdMain.mainMethod(CmdMain.java:92)
>         at jena.cmd.CmdMain.mainRun(CmdMain.java:58)
>         at jena.cmd.CmdMain.mainRun(CmdMain.java:45)
>         at jena.textindexer.main(textindexer.java:52)
>
>
> @prefix :<http://localhost/jena_example/#>  .
> @prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>  .
> @prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#>  .
> @prefix tdb:<http://jena.hpl.hp.com/2008/tdb#>  .
> @prefix ja:<http://jena.hpl.hp.com/2005/11/Assembler#>  .
> @prefix text:<http://jena.apache.org/text#>  .
> @prefix skos:<http://www.w3.org/2004/02/skos/core#>
> @prefix fuseki:<http://jena.apache.org/fuseki#>  .
>
> ## Example of a TDB dataset and text index
> ## Initialize TDB
> [] ja:loadClass "org.apache.jena.tdb.TDB" .
> tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
> tdb:GraphTDB    rdfs:subClassOf  ja:Model .
>
> ## Initialize text query
> [] ja:loadClass       "org.apache.jena.query.text.TextQuery" .
> # A TextDataset is a regular dataset with a text index.
> text:TextDataset      rdfs:subClassOf   ja:RDFDataset .
> # Lucene index
> text:TextIndexLucene  rdfs:subClassOf   text:TextIndex .
>
>
> ## ---------------------------------------------------------------
>
>
> :text_dataset rdf:type     text:TextDataset ;
>     text:dataset   :my_dataset ;
>     text:index     <#indexLucene> ;
>     .
>
> # A TDB dataset used for RDF storage
> :my_dataset rdf:type      tdb:DatasetTDB ;
>     tdb:location "/tmp/tdb-dataset/" ;
> #    tdb:unionDefaultGraph true ; # Optional
>     .
>
> # Text index description
> <#indexLucene> a text:TextIndexLucene ;
>     text:directory<file:/tmp/tdb-lucene-index>  ;
>     text:entityMap <#entMap> ;
>     text:storeValues true ;
>     text:analyzer [ a text:StandardAnalyzer ] ;
>     text:queryAnalyzer [ a text:KeywordAnalyzer ] ;
>     text:queryParser text:AnalyzingQueryParser ;
>     text:multilingualSupport true ;
>  .
>
> <#entMap> a text:EntityMap ;
>     text:defaultField     "label" ;
>     text:entityField      "uri" ;
>     text:uidField         "uid" ;
>     text:langField        "lang" ;
>     text:graphField       "graph" ;
>     text:map (
>          [ text:field "label" ;
>            text:predicate skos:prefLabel ]
>          ) .
>
> <#service> rdf:type fuseki:Service ;
>     fuseki:name                     "/ds" ;   # http://host:port/ds-ro
>     fuseki:serviceQuery             "query" ;    # SPARQL query service
>     fuseki:serviceReadGraphStore    "data" ;     # SPARQL Graph store
> protocol (read only)
>     fuseki:dataset           :text_dataset ;
>     .
>
>> Le 22/01/2019 à 14:58, Mikael Pesonen a écrit :
>>>
>>> Hi,
>>>
>>> we haven't made any configuration files, so configuration folder is
>>> empty. Everything is working fine except text search so are there
>>> some advances for doing custom config? I understand now that for
>>> text search we need the config and about that I asked for help.
>>>
>>> On 21/01/2019 19:24, Chris Tomlinson wrote:
>>>> Hi,
>>>>
>>>> You’ve presented your system service configuration. We need to see
>>>> the configuration file
>>>> <http://jena.apache.org/documentation/fuseki2/fuseki-configuration.html>
>>>> in:
>>>>
>>>>      $FUSEKI_BASE/configuration/text_svc.ttl
>>>>
>>>> It is a ttl file that is interpreted by the assembler system to
>>>> build the endpoints and dataset components. This is where the
>>>> jena-text configuration info will go. Here is a sample
>>>> configuration based on info in your service defn:
>>>>
>>>>> # Fuseki configuration for BDRC, configures two endpoints:
>>>>> #   - /bdrc is read-only
>>>>> #   - /bdrcrw is read-write
>>>>> #
>>>>> # This was painful to come up with but the web interface basically
>>>>> allows no option
>>>>> # and there is no subclass inference by default so such a
>>>>> configuration file is necessary.
>>>>> #
>>>>> # The main doc sources are:
>>>>> #  -
>>>>> https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html
>>>>>
>>>>> #  -
>>>>> https://jena.apache.org/documentation/assembler/assembler-howto.html
>>>>> #  - https://jena.apache.org/documentation/assembler/assembler.ttl
>>>>> #
>>>>> # See
>>>>> https://jena.apache.org/documentation/fuseki2/fuseki-layout.html
>>>>> for the destination of this file.
>>>>>
>>>>> @prefix fuseki:  <http://jena.apache.org/fuseki#> .
>>>>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>>>>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
>>>>> @prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
>>>>> @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
>>>>> @prefix text:    <http://jena.apache.org/text#> .
>>>>> @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
>>>>> @prefix :        <http://base/#> .
>>>>>
>>>>> [] rdf:type fuseki:Server ;
>>>>>     fuseki:services (
>>>>>       :text_svc
>>>>>     ) .
>>>>>
>>>>> :text_svc rdf:type fuseki:Service ;
>>>>>      fuseki:name                       "text_svc" ;     # name of
>>>>> the dataset in the url
>>>>>      fuseki:serviceQuery               "query" ;    # SPARQL query
>>>>> service
>>>>>      fuseki:serviceUpdate              "update" ;   # SPARQL
>>>>> update service
>>>>>      fuseki:serviceUpload              "upload" ;   # Non-SPARQL
>>>>> upload service
>>>>>      fuseki:serviceReadWriteGraphStore "data" ;     # SPARQL Graph
>>>>> store protocol (read and write)
>>>>>      fuseki:dataset                    :text_dataset ;
>>>>>      .
>>>>>
>>>>> :text_dataset rdf:type     text:TextDataset ;
>>>>>      text:dataset   :tdb_dataset ;
>>>>>      text:index     :lucene_index ;
>>>>>      .
>>>>>
>>>>> # using TDB
>>>>> :tdb_dataset rdf:type tdb:DatasetTDB ;
>>>>>       tdb:location
>>>>> "/home/text/tools/apache-jena-fuseki-3.9.0/run/tdb_dataset" ;
>>>>>       tdb:unionDefaultGraph true ;
>>>>>       .
>>>>>
>>>>> # Text index description
>>>>> :lucene_index a text:TextIndexLucene ;
>>>>>      text:directory
>>>>> <file:/home/text/tools/apache-jena-fuseki-3.9.0/run/lucene_index> ;
>>>>>      text:storeValues true ;
>>>>>      text:entityMap :entitymap ;
>>>>>      .
>>>>>
>>>>> # Index mappings
>>>>> :entitymap a text:EntityMap ;
>>>>>      text:entityField      "uri" ;
>>>>>      text:uidField         "uid" ;
>>>>>      text:defaultField     "label" ;
>>>>>      text:langField        "lang" ;
>>>>>      text:graphField       "graph" ; ## enable graph-specific
>>>>> indexing
>>>>>      text:map (
>>>>>           [ text:field "label" ;
>>>>>             text:predicate skos:prefLabel ]
>>>>>           ) ;
>>>>>      .
>>>> hth,
>>>> Chris
>>>>
>>>>
>>>>
>>>>
>>>>> On Jan 21, 2019, at 5:21 AM, Mikael Pesonen
>>>>> <mikael.peso...@lingsoft.fi> wrote:
>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>>
>>>>> On 18/01/2019 18:13, Chris Tomlinson wrote:
>>>>>> 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:
>>>>> We are running Fuseki as service
>>>>>
>>>>> -----
>>>>> [Unit]
>>>>> Description=Apache Jena Fuseki
>>>>>
>>>>> [Service]
>>>>> Type=simple
>>>>> User=fuseki
>>>>> #Environment=JAVA_HOME=/usr/lib/jvm/java-8-oracle/
>>>>> Environment=FUSEKI_HOME=/home/text/tools/apache-jena-fuseki-3.9.0
>>>>> Environment=FUSEKI_BASE=/home/text/tools/apache-jena-fuseki-3.9.0/run
>>>>> ExecStart=/usr/bin/java
>>>>> -Dlog4j.configuration=file:/home/text/tools/apache-jena-fuseki-3.9.0/log4j.properties
>>>>> -Xmx5600M -jar
>>>>> /home/text/tools/apache-jena-fuseki-3.9.0/fuseki-server.jar
>>>>> --update --port 3030  --loc=/home/text/tools/jena_data_test/ /ds
>>>>>
>>>>> [Install]
>>>>> WantedBy=multi-user.target
>>>>> -----
>>>>>
>>>>> All settings are default otherwise, we haven't changed any config
>>>>> file.
>>>>>
>>>>> Are there some minimal settings to this example config so that I
>>>>> could get skos:prefLabel working?
>>>>>
>>>>> https://jena.apache.org/documentation/query/text-query.html#configuration
>>>>>
>>>>>
>>>>> So when we have a working configuration/assembler file, all is
>>>>> needed is to build the index
>>>>>
>>>>> java  -cp  $FUSEKI_HOME/fuseki-server.jar  jena.textindexer
>>>>> --desc=assembler_file ?
>>>>>
>>>>>
>>>>> Thank everyone for the help
>>>>>>> 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
>>>>>>>
>>>>> -- 
>>>>> 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
>>>>>
>>>>
>>>
>
-- 
Lorenz Bühmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center

Reply via email to