ad-freiburg / qlever

Very fast SPARQL Engine, which can handle very large knowledge graphs like the complete Wikidata, offers context-sensitive autocompletion for SPARQL queries, and allows combination with text search. It's faster than engines like Blazegraph or Virtuoso, especially for queries involving large result sets.
Apache License 2.0
397 stars 50 forks source link

Cache warmup doesn't work for transitive path patterns #1197

Closed aindlq closed 10 months ago

aindlq commented 10 months ago

Query is relatively simple but takes really really long time to compute (~7 seconds):

PREFIX crm: <http://www.cidoc-crm.org/cidoc-crm/>
SELECT * WHERE {
  <http://artresearch.net/resource/E13/203420c0f7333112943e97f8c59ce712cc8d28e7dd6d709655e888f65d27ac7a> crm:P134_continued* ?att2 .
}

Warmup output:

Pin: crm:P134_continued* ordered by subject only
SELECT ?x ?y WHERE { ?x crm:P134_continued* ?y } INTERNAL SORT BY ?x
Result size: 16,101,577

Here is a query plan: image

Maybe I'm missing something, or is that a known bug?

joka921 commented 10 months ago

Hi Artem, In the combination of warmup queries + transitive paths and for the query planning of the transitive paths in general there are various known bugs (but only known since a few days). We'll keep you posted (for some of them the solution is known and only has to be written and merged, and the other things bother us as well so we'll also analyze them).

aindlq commented 10 months ago

Thank you Johannes!

aindlq commented 10 months ago

Tried with the latest master, still get the same behavior. Cache warmup for transitive path query has no effect on the query execution and query plan.