Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow DESCRIBE #1680

Open
ktk opened this issue Dec 15, 2024 · 1 comment
Open

Slow DESCRIBE #1680

ktk opened this issue Dec 15, 2024 · 1 comment

Comments

@ktk
Copy link

ktk commented Dec 15, 2024

We use DESCRIBES on SHACL shapes so one can potentially get a lot of results back. For that particular query, the first run takes quite some time: https://qlever.cs.uni-freiburg.de/lindas/rer85n

@joka921
Copy link
Member

joka921 commented Dec 16, 2024

I just had a brief look at this.

  1. This entitity is connected to rather long rdf collections (<el1> <el2> <el3>) which expand to triples with blank nodes according to the RDF standards. QLever's implementation of the SHACL DESCRIBE currently follows all blank nodes recursively, and the maximal depth of these blank nodes is the limiting factor here ( a single large chain of blank nodes gives the worst ratio of computation time to output result as in your example).

  2. The first easy fix would be to not follow rdf collections or to limit the number of hops.

  3. The more involved fix would be to make the DESCRIBE implementation more efficient by making it cheaper per hop. This can be done by e.g. some kind of caching, especially for datasets that are rather small, but have rather long reification chains.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants