Skip to content

The HTTP API and CLI references state the write semantics - #81

Open
namedgraph wants to merge 1 commit into
developfrom
docs/write-semantics
Open

namedgraph wants to merge 1 commit into
developfrom
docs/write-semantics

Conversation

@namedgraph

Copy link
Copy Markdown
Member

Summary

Documentation only. The HTTP API and CLI references state what the platform actually does on writes:

  • Documents — a PATCH is a single DELETE/INSERT … WHERE or DELETE WHERE; GRAPH, WITH, USING and USING NAMED are refused. PUT answers 204 No Content on replace and 201 Created on create, with no ETag; POST and PATCH answer with the document's new ETag. If-Match: * does not count as a precondition, and an If-Match PUT to a missing document is refused 412. A multipart/form-data body uploads files and falls under the upload limit. The examples quote If-None-Match: * and If-Match.
  • System endpoints — a settings PATCH takes the same forms and conditional-write terms as a document PATCH.
  • Configuration — MAX_CONTENT_LENGTH is in bytes and refuses with 413; new MAX_UPLOAD_LENGTH caps multipart uploads, and nginx follows it.
  • CLI — redirects are not followed and count as failures; a 308 on a slash-less PUT writes nothing. add file appends by default and replaces with --replace.
  • Migrating from 5.x, Upload a file — If-Match: * is answered 428; the drop-zone refusal links the upload limit.

Test plan

  • riot --validate on every changed .ttl
  • ./check-xmlliterals.sh
  • ./check-links.sh

🤖 Generated with Claude Code

…s, PUT responses, upload limits and redirects

- documents: a PATCH is a single DELETE/INSERT … WHERE or DELETE WHERE, with GRAPH, WITH, USING and USING NAMED refused; PUT answers 204 on replace and 201 on create, with no ETag, while POST and PATCH answer with the document's new ETag; If-Match: * does not count as a precondition and an If-Match PUT to a missing document is refused 412; multipart bodies upload files and fall under the upload limit; the examples quote If-None-Match: * and If-Match
- system endpoints: a settings PATCH takes the same forms and conditional-write terms as a document PATCH
- configuration: MAX_CONTENT_LENGTH is in bytes and refuses with 413; MAX_UPLOAD_LENGTH caps multipart uploads and nginx follows it
- CLI: redirects are not followed and count as failures, a 308 on a slash-less PUT writes nothing; add file appends by default and replaces with --replace
- migrating, upload-file: If-Match: * is answered 428; the drop-zone refusal links the upload limit

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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