Skip to content

Keep both sequences and multisets of solution mappings as algebraic expressions? #231

@hartig

Description

@hartig

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'.

Metadata

Metadata

Assignees

No one assigned

    Labels

    spec:enhancementChange to enhance the spec without affecting conformance (class 2) –see also spec:editorial

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions