> This is what was discovered before - the cost of scanning and filtering > isn't that high and why outlier cases may be measurable faster, the bulk > of queries will be marginally faster. There is always a lot of things > that can be done; it comes down to contributions and priorities. > > And the cost of the join? and of the CONSTRUCT? And if Fuseki, the HTTP > costs which vary from trivial to a lot depending on result sizes. > connection caching. The point is "it is complicated" and that means > however good the point improvement is, it may not have a significant > overall benefit. > > Investigation needed before jumping into implementation.
Well... I don't disagree that it is complicated. I now have a relatively straightforward query that takes 1.7s even after a few attempts: select (count (distinct ?e) as ?count) where { { ?le adm:logDate ?sdate . FILTER(?sdate > "2020-08-20T00:00:00"^^xsd:dateTime) ?le a adm:Synced . ?va adm:logEntry ?le ; adm:adminAbout ?v . ?v bdo:volumeOf ?e . } } I'm reading the 1.7s in the Fuseki logs. Interestingly if I take a value in the future for the date and get 0 result, the query still takes 1.7s, for instance: select ?le where { { ?le adm:logDate ?sdate . FILTER(?sdate > "2020-10-20T00:00:00"^^xsd:dateTime) } } So it's a bit hard for me to think the bottleneck could be elsewhere... what other possible bottleneck should I look at? Note that this contradicts previous findings where a similar query was faster (around 300ms) if the indexes were not cold... but oddly I can't reproduce it anymore, the 1.7s result has been consistent over many queries in a short period of time, so the indexes were not cold... I understand it's a lot of code to write and that it's a big project, sorry. > ARQ does not use the Model API. It's an extension to the ARQ algebra, > OpExecutor, and subclasses, and one or more optimization Transforms to > detect the case in a query. > > Overall, this isn't an API issue - it's the cost of implementing that > API vs not doing something elsewhere. Ok yes Best, -- Elie