-
Notifications
You must be signed in to change notification settings - Fork 3
Description
The algebraic expressions produced by the translation in Section 18.2 Translation to the SPARQL Algebra may contain, as a sub-expression, a multiset of solution mappings or a sequence of solution mappings. In particular,
- a multiset of solution mappings becomes a sub-expression if the WHERE clause of the given query contains a VALUES clause: see the point "If the form is InlineData" in Section 18.2.2.6 Translate Graph Patterns,
- a sequence of solution mappings becomes a sub-expression if the given query contains a trailing VALUES clause: see Section 18.2.4.3 VALUES.
A question is whether we really need both. Probably not, because in the case of trailing VALUES clause (i.e., Section 18.2.4.3 VALUES), the sequence is directly passed into a 'ToMultiSet' operator! Yet, related to this question is also issue #215 which highlights that we may actually want to keep the sequence case.
Also, perhaps a matter of taste, but I don't find it particularly elegant to have sequences and/or multisets of solution mappings directly as a possible sub-expression within the algebraic syntax. It would feel more natural to me to have a dedicated operator as a wrapper for such a sequence or multiset; such an operator may, for instance, be called 'InlineSolutions' or just 'Solutions' or 'Table'.