[ 
https://issues.apache.org/jira/browse/JENA-953?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy Seaborne closed JENA-953.
------------------------------
       Resolution: Invalid
    Fix Version/s: Fuseki 2.3.0

See JENA-956.

> Text search does not work in Fuseki with In-memory datasets
> -----------------------------------------------------------
>
>                 Key: JENA-953
>                 URL: https://issues.apache.org/jira/browse/JENA-953
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: Fuseki, Text
>    Affects Versions: Fuseki 1.1.2, Fuseki 2.0.0, Fuseki 2.0.1
>         Environment: Ubuntu 14.04 in VM
>            Reporter: Yang Yuanzhe
>             Fix For: Fuseki 2.3.0
>
>
> First of all I apologize for possible duplicate posts. I sent it to the 
> mailing list, it disappeared from the "draft box" but didn't show up again in 
> the "sent box" either. So I try to publish it here before I lost it from my 
> clipboard. :D
> Here is the copy of the mail:
> Hi Andy,
> I am sorry for such a late response. We were busy on another project during 
> this period. Now I try to explain how I reproduce the error step by step.
> So the problem is there is something wrong in the search indexing for 
> in-memory datasets.
> Here is the configuration file I used, it should be basic enough: a server 
> description, a service description and an index engine associating to the 
> dataset to index "rdfs:label".
> @prefix :        <#> .
> @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 spatial:    <http://jena.apache.org/spatial#> .
> [] a fuseki:Server ;
>    fuseki:services (
>      <#memory>
>    ) .
> <#memory> a fuseki:Service ;
>     fuseki:name                     "memory" ; 
>     fuseki:serviceQuery             "sparql" ;
>     fuseki:serviceQuery             "query" ;
>     fuseki:serviceUpdate            "update" ;   # SPARQL query service -- 
> /memory/update
>     fuseki:serviceUpload            "upload" ;   # Non-SPARQL upload service
>     fuseki:serviceReadWriteGraphStore      "data" ;     
>     fuseki:serviceReadGraphStore       "get" ;   # Graph store protocol (read 
> only) -- /memory/get
>     fuseki:dataset           :text_dataset ;
>     .
> <#dataset> rdf:type ja:RDFDataset ;
>     ja:defaultGraph
>           [ 
>             a ja:MemoryModel ;
>           ] .
> # Text
> [] ja:loadClass "org.apache.jena.query.text.TextQuery" .
> text:TextDataset      rdfs:subClassOf   ja:RDFDataset .
> text:TextIndexLucene  rdfs:subClassOf   text:TextIndex .
> :text_dataset a text:TextDataset ;
>     text:dataset   <#dataset> ;
>     text:index     <#textIndexLucene> ;
>     .
> # Text index description
> <#textIndexLucene> a text:TextIndexLucene ;
>     text:directory <file:Lucene> ;
>     ##text:directory "mem" ;
>     text:entityMap <#entMap> ;
>     .
> <#entMap> a text:EntityMap ;
>     text:entityField      "uri" ;
>     text:defaultField     "text" ;
>     text:map (
>          [ text:field "text" ; text:predicate rdfs:label ]
>          ) .
> The server is started with
> "./fuseki-server --config=config-memory-text.ttl"
> and console says it starts properly:
> [2015-06-03 12:13:09] Server     INFO  Fuseki 2.0.1-SNAPSHOT 
> 2015-05-05T12:48:09+0000
> [2015-06-03 12:13:09] Config     INFO  
> FUSEKI_HOME=/home/yyz/Downloads/apache-jena-fuseki-2.0.1-SNAPSHOT
> [2015-06-03 12:13:09] Config     INFO  
> FUSEKI_BASE=/home/yyz/Downloads/apache-jena-fuseki-2.0.1-SNAPSHOT/run
> [2015-06-03 12:13:09] Servlet    INFO  Initializing Shiro environment
> [2015-06-03 12:13:09] Config     INFO  Shiro file: 
> file:///home/yyz/Downloads/apache-jena-fuseki-2.0.1-SNAPSHOT/run/shiro.ini
> [2015-06-03 12:13:09] Config     INFO  Configuration file: 
> config-memory-text.ttl
> [2015-06-03 12:13:10] Builder    INFO  Service: :memory
> [2015-06-03 12:13:11] Config     INFO  Register: /memory
> [2015-06-03 12:13:11] Server     INFO  Started 2015/06/03 12:13:11 CEST on 
> port 3030
> I tested it in two versions: the official release 2.0.0 and the latest 
> snapshot 2.0.1-SNAPSHOT 2015-05-05T12:48:09+0000. The phenomenons are as 
> follows:
> In 2.0.0:
> If I load some triples not containing "rdfs:label", everything works 
> properly. However in this case the index engine is not working; then as long 
> as I add one triple for "rdfs:label" into the file I am loading to Fuseki, 
> error emerges:
> [2015-06-03 12:10:47] Fuseki     INFO  [7] Filename: licenties.ttl, 
> Content-Type=application/octet-stream, Charset=null => Turtle : Count=40 
> Triples=40 Quads=0
> [2015-06-03 12:10:47] HttpAction WARN  Exception during abort (operation 
> attempts to continue): Can't abort a write lock-transaction
> [2015-06-03 12:10:47] Fuseki     INFO  [7] 500 Server Error (523 ms) 
> I remember that a few months ago when 2.0.0 was released for the first time, 
> I discovered this issue and reported to you. But at that time I didn't 
> realize that the root reason was because of indexing. In a later snapshot you 
> fix it, but my test wasn't proper so I thought the problem is solved and gave 
> you a wrong feedback. My sincere apologizes.
> In 2.0.1 SNAPSHOT:
> The latest snapshot contains the patch I mentioned above so they can be 
> successfully loaded. However they are not indexed at all. Queries with 
> keyword search do not return any result.
> Following your advice, I tested loading and query from both Web UI and 
> s-post/s-query tools, unfortunately (or fortunately?) the consequences are 
> the same.
> TDB:
> Meanwhile, a similar experiment on Fuseki with TDB in 2.0.0 and 2.0.1 
> SNAPSHOT is also performed, they both works properly. Loadings are successful 
> and queries returns search results. The only difference is in the 
> configuration file the in-memory dataset is replaced with TDB.
> @prefix :        <#> .
> @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#> .
> [] rdf:type fuseki:Server ;
>    fuseki:services (
>      <#service_text_tdb>
>    ) .
> # TDB
> [] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
> tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
> tdb:GraphTDB    rdfs:subClassOf  ja:Model .
> # Text
> [] ja:loadClass "org.apache.jena.query.text.TextQuery" .
> text:TextDataset      rdfs:subClassOf   ja:RDFDataset .
> text:TextIndexLucene  rdfs:subClassOf   text:TextIndex .
> <#service_text_tdb> a fuseki:Service ;
>     rdfs:label                      "TDB/text service" ;
>     fuseki:name                     "tdb" ;
>     fuseki:serviceQuery             "query" ;
>     fuseki:serviceQuery             "sparql" ;
>     fuseki:serviceUpdate            "update" ;
>     fuseki:serviceUpload            "upload" ;
>     fuseki:serviceReadGraphStore    "get" ;
>     fuseki:serviceReadWriteGraphStore    "data" ;
>     fuseki:dataset                  <#text_dataset> ;
>     .
> <#text_dataset> a text:TextDataset ;
>     text:dataset   <#dataset> ;
>     text:index     <#indexLucene> ;
>     .
> <#dataset> a tdb:DatasetTDB ;
>     tdb:location "DB" ;
>     ##tdb:unionDefaultGraph true ;
>     .
> <#indexLucene> a text:TextIndexLucene ;
>     text:directory <file:Lucene> ;
>     ##text:directory "mem" ;
>     text:entityMap <#entMap> ;
>     .
> <#entMap> a text:EntityMap ;
>     text:entityField      "uri" ;
>     text:defaultField     "text" ;      
>     text:map (          
>          [ text:field "text" ; text:predicate rdfs:label ]
>          ) .
> Any advice for it now? Thank you very much for your efforts in advance.
> Regards,
> Yang
> PS: I discovered that there is a SNAPSHOT for 2.3.0. I planned to test on it 
> as well. However I wasn't able to run it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to