Skip to content

feat(sparql): support construct collections, fresh blank nodes, IRI escapes and numeric normalization (#609, #600) - #612

Merged
remiceres merged 4 commits into
feature/corese-nextfrom
feature/609-fixharness-extend-numeric-normalization-to-minmax-aggregates
Sep 29, 2026
Merged

remiceres merged 4 commits into
feature/corese-nextfrom
feature/609-fixharness-extend-numeric-normalization-to-minmax-aggregates

Conversation

@abdessamad-abdoun

@abdessamad-abdoun abdessamad-abdoun commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Combines the work of @abdessamad-abdoun on numeric normalization and date comparisons with review refinements covering:

  • CONSTRUCT collections & property lists: recursive expansion of (...) and [...] in object position and templates.
  • Blank node freshness & anti-collision: solution-scoped fresh blank node generation without label collisions.
  • Unicode escapes: strict scalar validation and decoding in IRIs and prologue (SparqlIriEscapes).
  • Literal escapes: preservation of escaped backslashes before surrogate-like sequences.

Conformance Impact

W3C test suite failures reduced from 10 to only 2:

  • Basic - List 1 ✅
  • dawg-construct-reification-1 ✅
  • dawg-construct-reification-2 ✅
  • CONSTRUCT list ✅
  • date-2 ✅
  • syntax-esc-04.rq & syntax-esc-05.rq ✅
  • Calculate which sets are subsets of others ✅
  • unicode codepoint escaping partial surrogate pair ✅

Resolves #609
Resolves #600

@github-actions

Copy link
Copy Markdown
Overall Project 55.63% -0.02% 🍏
Files changed 81.13% 🍏

File Coverage
WhereCompiler.java 97.41% 🍏
ConstructQueryCompiler.java 96.53% 🍏
NextFilterFromAst.java 93.22% 🍏
NativeValueComparison.java 91.17% 🍏
NextSparqlPipelineExecutor.java 89.87% 🍏
SparqlTermBuilder.java 87.87% -0.19% 🍏
ConstructQueryAstListener.java 84.31% -15.36% 🍏
SparqlTermResolver.java 76.97% -4.89% ❌
AstBackedExpr.java 72.18% -0.12% 🍏

@github-actions

Copy link
Copy Markdown

Test Results

  448 files    448 suites   34s ⏱️
3 157 tests 3 157 ✅ 0 💤 0 ❌
3 176 runs  3 176 ✅ 0 💤 0 ❌

Results for commit d2493c5.

@remiceres remiceres changed the title Feature/609 fixharness extend numeric normalization to minmax aggregates feat(sparql): support construct collections, fresh blank nodes, IRI escapes and numeric normalization (#609, #600) Sep 29, 2026

@remiceres remiceres left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Outstanding work, resolves #609 and #600 with 99.97% executed pass rate on W3C conformance suite.

@remiceres
remiceres merged commit fd334c2 into feature/corese-next Sep 29, 2026
1 check passed
@remiceres
remiceres deleted the feature/609-fixharness-extend-numeric-normalization-to-minmax-aggregates branch September 29, 2026 09:17
@github-actions

Copy link
Copy Markdown
Overall Project 55.66% -0.01% 🍏
Files changed 93.53% 🍏

File Coverage
PrologueAstListener.java 100% 🍏
WhereCompiler.java 97.41% 🍏
ConstructQueryCompiler.java 96.53% 🍏
SparqlIriEscapes.java 93.7% -6.3% 🍏
SparqlTermResolver.java 93.41% -0.39% 🍏
NextFilterFromAst.java 93.22% 🍏
NativeValueComparison.java 91.17% 🍏
NextSparqlPipelineExecutor.java 90.6% 🍏
ConstructQueryAstListener.java 90.4% -9.29% 🍏
SparqlTermBuilder.java 83.36% -0.18% 🍏
AstBackedExpr.java 72.18% -0.12% 🍏

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.

fix(harness): extend numeric normalization to MIN/MAX aggregates and guard missing manifest entries

2 participants