concepts · Linked Data CRUD
CRUD is not the exciting part. Owning the URI is.
Linked Data CRUD can sound too ordinary for a new architecture. That is mostly the point. A pod resource should be addressable on the web, readable as data, and writable through well-understood HTTP semantics.
sempods exposes resources at their own pod URLs. A client can dereference a URI and receive JSON-LD. With the right grant, it can replace, patch or delete the resource's outgoing statements in a specific context.
resource URI
|
+--> GET as JSON-LD
|
+--> write with ?context=
PUT / PATCH / DELETE
one target named graphWhy this matters
If resources are only accessible through one SDK, the SDK becomes the real platform. HTTP keeps the lower layer inspectable. A browser, app, crawler, script or agent can speak to the same resource shape.
The SDK is still valuable. It should make the normal path easier, especially for app builders. It should not be the only way to understand or move the data.
Reads can merge contexts
Reads can return the union of contexts the caller may see. Anonymous callers get public Linked Open Data. Authenticated callers get the contexts their token and grants allow, optionally downscoped by request.
For provenance-sensitive clients, graph-aware representations can keep statements grouped by context. For ordinary app views, the merged JSON-LD resource is the ergonomic default.
Writes are explicit
Writes target exactly one context. That rule is less convenient than implicit magic, but it keeps authorship and authorization clear. The resource URI and the target context are separate dimensions: the resource says what the thing is, the context says where this statement lives.
The web layer stays honest
The reserved /_system area is not part of ordinary resource CRUD. Control-plane state such as contexts, grants and MCP lives behind dedicated routes.
Writing triples about a control-plane URI is data. It does not become authorization.
Not the marketing headline
Linked Data CRUD is probably not the first thing to tell a nontechnical visitor. It is still one of the reasons sempods can stay open. The data layer remains web-shaped even when SDKs, apps and agents become more comfortable.