> On 18 Oct 2022, at 11:01 am, Andy Seaborne <a...@apache.org> wrote:
>
>
>
> On 18/10/2022 09:07, Holger Knublauch wrote:
>> We also observe some slowness.
>
> Could you expand on that, please? e.g. figures, and references to previous
> releases.
I am still profiling this and haven't been able to fully narrow it down. I also
don't want to make statements that later turn out to be due to our own changes
as it could well be a false alarm.
But this query responded immediately before we updated and now takes 21 seconds
SELECT *
WHERE {
?ps dash:propertyRole dash:IconRole .
?ps sh:path ?predicate .
FILTER EXISTS {
?instance ?predicate ?anyAssertedIcon .
?instance a ?type .
}
}
Above, the variable ?predicate has 12 distinct values, but judging by the
debugger, the FILTER first iterates over all ?instance rdf:type ?type bindings
and only then narrows down by the ?predicate. The graph has 500k of ?instance
values, so I assume there is a combinatorial explosion.
Or so it seems at the moment. I will post again when I have found out more. I
walked through the debugger and it does indeed behave differently within
E_Exists, with 4.3 returning much quicker.
Meanwhile, does any of that ring a bell given the changes between 4.3 and 4.6?
I went through the release notes but nothing related to SPARQL execution order
caught my attention.
Holger
>
> Andy
>
>