You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
WHERE and query constants refuse a stored ill-typed literal that a DELETE can name #2059
A literal such as "abc"^^xsd:integer or "2024-02-30"^^xsd:date names a built-in datatype but is not one of its values. Turtle transactions and bulk import store it as written (and, with #2008, Turtle upsert, graph sync and the Graph Store routes do too).
With #2008, a delete names such a literal as stored: DELETE DATA or a JSON-LD delete with the same text and datatype removes it. A constant in a WHERE clause or a query is still refused at lowering, so these cannot match a stored one by value:
DELETE WHERE { ex:s ex:p "abc"^^xsd:integer } and DELETE { … } WHERE { … "abc"^^xsd:integer … }
a JSON-LD where constant
a SELECT constant
Today they reach it only through a variable (FILTER(STR(?o) = "abc")). Matching WHERE and query constants by term, as DELETE templates now do, would make the surfaces agree. INSERT should keep refusing such literals.
Found while reviewing #2008 (docs/concepts/datatypes.md describes the current split).
Activity