Skip to content

GRAPH ?g binds graph names as xsd:string literals and enumerates the default graph (W3C-breaking) #1442

Description

@aaj3f

Two defects in GraphOperator:

  1. graph.rs:314-323 builds Binding::Lit{String} where an IRI term is required — ?g comes back as a plain literal containing the IRI text ({"type":"literal"} instead of {"type":"uri"}).
  2. graph.rs:686-711 appends the ledger alias to the unbound-?g fan-out, exposing the default graph as a named graph. This is the deliberate SPARQL GRAPH <iri> { ... } returns no results unless preceded by FROM NAMED <iri> — every named graph must be explicitly enumerated in the dataset clause #1279 extension, but it is W3C-breaking (GRAPH ?g must range over named graphs only).

Decision D-2 (approved): W3C-by-default — drop the implicit default-graph enumeration, keep explicit GRAPH <alias> addressing, no toggle. Three tests pin the current behavior and get updated: it_query_dataset.rs:1591, :1752, it_upsert_duplicate_ids_repro.rs:228. This is the tracking issue for that behavior change (roadmap PR-G1; options considered and rationale are in ROADMAP §4 D-2).

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions