Summary
Implement SPARQL 1.1 inline data evaluation (VALUES / Table) and variable assignment (BIND / Extend) in core.next.query.
Objectives and Technical Scope
1. VALUES Clause (Inline Data / Table)
- Support inline data forms: single-variable (
VALUES ?x { :a :b }) and multi-variable (VALUES (?x ?y) { (:a 1) (:b UNDEF) }).
- Handle the
UNDEF keyword correctly to represent unbound variable states in solution multisets.
- Support
VALUES both inside graph pattern blocks (GroupGraphPattern) and at the query root level.
2. BIND Clause (Extend Expression)
- Implement
Extend(mu, var, expr) evaluation to assign computed expression values to new variables.
- Enforce SPARQL 1.1 variable scoping rules: prevent
BIND from overwriting variables already bound in the current scope.
- Correctly propagate type errors resulting from expression evaluation as unbound variables.
3. Validation and Conformance
- Validate against official W3C SPARQL 1.1 test suites (
bindings, bind) in corese-w3c.
- Ensure 0 SonarLint issues and 0 compiler warnings.
Dependencies
• Blocked by:
• #568
• #578
• Blocks:
• #564
Summary
Implement SPARQL 1.1 inline data evaluation (
VALUES/Table) and variable assignment (BIND/Extend) incore.next.query.Objectives and Technical Scope
1. VALUES Clause (Inline Data / Table)
VALUES ?x { :a :b }) and multi-variable (VALUES (?x ?y) { (:a 1) (:b UNDEF) }).UNDEFkeyword correctly to represent unbound variable states in solution multisets.VALUESboth inside graph pattern blocks (GroupGraphPattern) and at the query root level.2. BIND Clause (Extend Expression)
Extend(mu, var, expr)evaluation to assign computed expression values to new variables.BINDfrom overwriting variables already bound in the current scope.3. Validation and Conformance
bindings,bind) incorese-w3c.Dependencies
• Blocked by:
• #568
• #578
• Blocks:
• #564