Skip to content

fix(next/query): support SPARQL 1.1 update terms, construct where, and projection scoping - #574

Merged
remiceres merged 1 commit into
feature/corese-nextfrom
feature/572-w3c-sparql-11-quick-wins
Sep 7, 2026
Merged

fix(next/query): support SPARQL 1.1 update terms, construct where, and projection scoping#574
remiceres merged 1 commit into
feature/corese-nextfrom
feature/572-w3c-sparql-11-quick-wins

Conversation

@remiceres

Copy link
Copy Markdown
Contributor

Summary

Implements SPARQL 1.1 Quick Wins identified in #572 to improve W3C test suite conformance:
• Resolve prologue prefixes, datatypes, and blank nodes in INSERT DATA / DELETE DATA (CoreseUpdate)
• Fix inverted record pattern parameters in LiteralAst(lexical, lang, datatype) and support multiline and single-quoted literals in SparqlAstToExpression.unquoteLexical
• Support short-form CONSTRUCT WHERE { ... } in ConstructQueryAstListener (SPARQL 1.1 §10.2.2)
• Align SelectProjectionScopeValidationRule with W3C SPARQL 1.1 (§18.2.1) by allowing unbound variables in SELECT projections/expressions and rejecting in-scope alias reuse
• Factorize unit and validation test suites into parameterized tests with @MethodSource
• Ensure 0 SonarLint warnings (cognitive complexity < 15, single invocation in assertThrows, clean imports)

Conformance Impact

• W3C SPARQL 1.1 Test Suite: +35 newly passing tests (from 149 to 184 passing tests)
• W3C SPARQL 1.0 Test Suite: +4 newly passing tests (from 253 to 257 passing tests)
• Zero regressions across the entire corese-core test suite (100% BUILD SUCCESSFUL)

Fixes #572

…d projection scoping

- Resolve prologue prefixes, datatypes, and blank nodes in INSERT/DELETE DATA (CoreseUpdate)
- Fix LiteralAst record pattern ordering (lexical, lang, datatype) and support multiline/single quotes
- Support short-form CONSTRUCT WHERE { ... } in ConstructQueryAstListener
- Align SelectProjectionScopeValidationRule with W3C SPARQL 1.1 (§18.2.1) by allowing unbound variables and rejecting in-scope alias reuse
- Factorize unit and validation tests into clean parameterized tests
- Fix SonarLint cognitive complexity, unused imports, and lambda exceptions

Refs #572
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Overall Project 52.48% -0.01% 🍏
Files changed 85.19% 🍏

File Coverage
SelectProjectionScopeValidationRule.java 100% 🍏
ConstructQueryAstListener.java 98.56% 🍏
CoreseUpdate.java 77.06% -5.74% 🍏
SparqlAstToExpression.java 43.99% -2.1% 🍏

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

Test Results

  439 files    439 suites   21s ⏱️
2 663 tests 2 663 ✅ 0 💤 0 ❌
2 677 runs  2 677 ✅ 0 💤 0 ❌

Results for commit 43a9276.

@remiceres remiceres self-assigned this Sep 4, 2026
@remiceres
remiceres merged commit 9492342 into feature/corese-next Sep 7, 2026
2 checks passed
@remiceres
remiceres deleted the feature/572-w3c-sparql-11-quick-wins branch September 7, 2026 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[W3C] Conformance triage, failure classification, and implementation roadmap for SPARQL 1.1 test suite

1 participant