Skip to content

Fix conformance to SPARQL Update / Query's prefix declaration #1788

Description

@csarven

Snippet of an example request:

PATCH https://example.org/test.ttl  HTTP/1.1
Content-Type: application/sparql-update

PREFIX acl: <http://www.w3.org/ns/auth/acl#>

Snippet of an example response:

HTTP/1.1 400 Bad Request
X-Powered-By: solid-server/5.7.11
Accept-Patch: application/sparql-update
Content-Type: text/plain; charset=utf-8
Content-Length: 206

Patch document syntax error: Line 1 of <https://example.org/test.ttl>: Bad syntax:
   Unknown syntax at start of statememt: 'PREFIX acl: <http://'/
   at: "PREFIX acl: <http://www.w3.org/"

AFAICT, linkeddata/rdflib.js#651 captures the issue in that NSS rejects SPARQL Update requests with valid payload using PREFIX (and accepts invalid payload containing @prefix).

Activity

  1. TallTed commented on Jun 11, 2024

    @TallTed
    Member

    note: lines beginning @prefix are also valid; they are just required to end with ., while lines beginning PREFIX (case-insensitive!) must not end with ..

  2. csarven commented on Jun 11, 2024

    @csarven
    MemberAuthor

    Just so I understand you correctly, are you saying that @prefix is valid in SPARQL Update/Query (application/sparql-update)? My reading of https://www.w3.org/TR/sparql11-query/#rPrefixDecl is that it is invalid. Is there another reference somewhere that I'm overlooking? Or did you mean in the case of N3 / Turtle?

  3. TallTed commented on Jun 11, 2024

    @TallTed
    Member

    Oh, ugh. I'm sorry, I keep thinking that SPARQL and Turtle [@]prefix statements were fully aligned, but it was only done in one direction (so copy-paste works from one to the other, but not from the other to the one).

    I feel like this partial alignment should be considered an erratum for SPARQL 1.2/RDF 1.2, no matter how clear the independent grammars may be in-and-of themselves, because I'm not the only one who gets them flipped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions