On 10/12/15 11:57, Osma Suominen wrote:

I'll try to investigate further and isolate a more minimal example. I
just wanted to raise this ASAP.

The query execution order seems to have changed for this kind of query:

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX text: <http://jena.apache.org/text#>

SELECT *
WHERE {
  (?s ?score ?literal) text:query 'musiikkikasv*' .
  GRAPH <http://www.yso.fi/onto/yso/> {
    OPTIONAL {
      ?s skos:prefLabel ?label .
      FILTER (lang(?label) = lang(?literal))
    }
  }
}


(The YSO data that I have in the named graph is available at http://finto.fi/rest/v1/yso/data if you need it)

With Fuseki 1.3.0, I get a single result row with ?label bound to "musiikkikasvatus"@fi and it takes about 40 ms.

With Fuseki 1.3.1-SNAPSHOT I get a result with ?label unbound and it takes about 600 ms.

My guess is that the new version is evaluating the GRAPH block first, when ?literal is still unbound. The old version performed the text:query part first, which is what I'd expect.

-Osma


--
Osma Suominen
D.Sc. (Tech), Information Systems Specialist
National Library of Finland
P.O. Box 26 (Kaikukatu 4)
00014 HELSINGIN YLIOPISTO
Tel. +358 50 3199529
[email protected]
http://www.nationallibrary.fi

Reply via email to