You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Osma Suominen (JIRA)" <ji...@apache.org> on 2016/11/01 13:47:58 UTC
[jira] [Created] (JENA-1257) Bad performance with VALUES blocks
Osma Suominen created JENA-1257:
-----------------------------------
Summary: Bad performance with VALUES blocks
Key: JENA-1257
URL: https://issues.apache.org/jira/browse/JENA-1257
Project: Apache Jena
Issue Type: Bug
Components: ARQ
Affects Versions: Jena 3.1.1
Environment: Ubuntu 12.04 LTS amd64
java version "1.8.0_91" (Oracle)
Reporter: Osma Suominen
Attachments: explain.zip
I'm having performance issues with a query involving VALUES blocks. It seems to me that the values are bound to variables too late, which causes long execution times.
Also discussed on users list: http://mail-archives.apache.org/mod_mbox/jena-users/201611.mbox/%3c58185A49.7060100@helsinki.fi%3e
Steps to repeat:
1. Create a TDB with YSO:
{noformat}
wget http://api.finto.fi/download/yso/yso-skos.ttl
tdbloader --loc YSO yso-skos.ttl
{noformat}
2. Run the below query against the TDB:
{noformat}
tdbquery --loc YSO --query ysoslowunion.rq
{noformat}
Contents of ysoslowunion.rq:
{noformat}
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT *
WHERE {
VALUES ?uri { <http://www.yso.fi/onto/yso/p864> }
{ ?s ?p ?uri }
UNION
{ ?uri ?p ?o
OPTIONAL {
?x skos:member ?o .
FILTER NOT EXISTS {
?x skos:member ?other .
FILTER NOT EXISTS {
?other skos:broader ?uri
}
}
}
}
}
{noformat}
With Jena 3.1.0 this takes <1 second.
With current 3.1.1 snapshot it takes 12 seconds.
Possibly related to changes made in JENA-1167.
I will attach --explain output for both versions as a zip. The 3.1.1 output is 473 MB uncompressed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)