parse_blank_node_name (fluree-graph-turtle/src/lex/lexer.rs:477-490) greedily consumes a trailing . into the label, then hard-errors, rejecting valid Turtle (_:o6.) that every other store ingests (per Turtle spec, PN_LOCAL must not end with a dot; the dot is the statement terminator). Blocks the four W3C json-res tests and any user data of this shape.
Fix constraint from adversarial review: use greedy-scan + trailing-dot rewind, not a lookahead loop — spec-valid _:a..b currently lexes and must remain byte-identical. Import-hot path: insert_formats + import_bulk benches gate the change. Roadmap PR-L1.
Found and verified by the W3C SPARQL burn-down audit (PR #1437; docs/audit/burn-down/ROADMAP.md §5 on branch test/sparql-testsuite-full-coverage).
parse_blank_node_name(fluree-graph-turtle/src/lex/lexer.rs:477-490) greedily consumes a trailing.into the label, then hard-errors, rejecting valid Turtle (_:o6.) that every other store ingests (per Turtle spec, PN_LOCAL must not end with a dot; the dot is the statement terminator). Blocks the four W3C json-res tests and any user data of this shape.Fix constraint from adversarial review: use greedy-scan + trailing-dot rewind, not a lookahead loop — spec-valid
_:a..bcurrently lexes and must remain byte-identical. Import-hot path:insert_formats+import_bulkbenches gate the change. Roadmap PR-L1.Found and verified by the W3C SPARQL burn-down audit (PR #1437;
docs/audit/burn-down/ROADMAP.md§5 on branchtest/sparql-testsuite-full-coverage).