Skip to content

feat(query): enforce SPARQL 3-valued logic and type errors for value comparisons (#594) - #595

Merged
remiceres merged 1 commit into
feature/corese-nextfrom
feature/594-sparql-3-valued-logic
Sep 18, 2026
Merged

remiceres merged 1 commit into
feature/corese-nextfrom
feature/594-sparql-3-valued-logic

Conversation

@remiceres

Copy link
Copy Markdown
Contributor

Closes #594

Summary

Enforces W3C SPARQL 1.1 3-valued logic and type errors on value equality and inequality comparisons when operands have incompatible or unknown custom datatypes.

Changes

  • : implement with term equality shortcut (), typed comparisons, and explicit on incomparable/unknown literal datatypes.
  • : use for , , and without swallowing type errors prematurely.
  • : permit runtime evaluation of non-boolean literals in logical expressions to allow absorption ().
  • : comprehensive parameterized test suites covering truth tables, preserved errors, and filter behavior.

W3C Conformance

  • Fixes 9 tests in SPARQL 1.0 test suite (, , , , , , , and both boolean effective value tests).
  • Total W3C failures drop from 50 to 41.

@remiceres
remiceres merged commit 458a8f8 into feature/corese-next Sep 18, 2026
1 check passed
@remiceres
remiceres deleted the feature/594-sparql-3-valued-logic branch September 18, 2026 11:57
@github-actions

Copy link
Copy Markdown
Overall Project 55.5% 🍏
Files changed 98.48% 🍏

File Coverage
NativeValueComparison.java 90.2% -0.78% 🍏
SemanticValidationUtils.java 86.94% 🍏
NativeBooleanExpressionEvaluator.java 82.83% 🍏

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.

1 participant