Regarding the last one: If ?tr is not joined between the last two clauses then the final clause has to do a range scan for all :transaction/datetime
entities.
Any ideas on the hairy or-join query I am trying to do above? @whilo cc @konrad.kuehne
This is the or-join issue: https://github.com/lambdaforge/datalog-parser/issues/7
I have stumbled on this before as well, but didn't have time to dive into it.
So or-join
is corresponding to left or right joins in SQL, depending how you use it, while an inner join happens when you use ?tr
and an outer join (cartesian product) happens when you replace it by _
or some other disjoint variables.
But your or-join
only has one branch, right?