Aklakan commented on issue #1615:
URL: https://github.com/apache/jena/issues/1615#issuecomment-1312732122
> Possible addition: LATERAL ( ?var1 ?var2 ...)
For interoperability, it would be good if there was agreement for whether
variable lists are unsupported, optional or mandatory.
They are not strictly necessary, but someone may find this useful e.g. for
extra control when copy/pasting a long graph pattern into the rhs of a lateral
join - or maybe even just for clarity. Conversely, optional variable lists
would give more brevity especially when dealing with simple graph patterns.
Also, proper lateral join support would solve an issue with the service
enhancer which @LorenzBuehmann found out:
* `OPTIONAL { SERVICE <loop:> { X } }` becomes `OpConditional` which results
in an exception during algebra-to-syntax reversal in OpAsQuery. So the service
enhancer attempts to combine `OPTIONAL { LATERAL {} }` into one construct but
that cannot be handled properly with the current machinery.
* The mitigation so far is ` SERVICE <loop:> { OPTIONAL { X } }` but this
has an undesired side effect when e.g. combining this with `SERVICE <cache:>`:
The cache indexes results based on the parameters (algebra, joining input
binding, row number). The graph pattern `X` is of course considered different
from `OPTIONAL { X } ` possibly resulting in cache misses.
So proper lateral is very welcome!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]