Skip to main content

LDP CRUD Operations

JSS implements the Linked Data Platform (LDP) specification for resource management.

GET - Read resources

curl http://localhost:3000/alice/public/data.json

PUT - Create or update

curl -X PUT http://localhost:3000/alice/public/data.json \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/ld+json" \
-d '{"@id": "#item", "http://schema.org/name": "Example"}'

POST - Create in container

curl -X POST http://localhost:3000/alice/public/ \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/ld+json" \
-H "Slug: new-resource" \
-d '{"@id": "#item", "http://schema.org/name": "New"}'

DELETE - Remove resources

curl -X DELETE http://localhost:3000/alice/public/data.json \
-H "Authorization: Bearer TOKEN"

Conditional Requests

Use ETags for safe concurrent updates:

# Get current ETag
ETAG=$(curl -sI http://localhost:3000/alice/public/data.json | grep -i etag | awk '{print $2}')

# Update only if unchanged
curl -X PUT http://localhost:3000/alice/public/data.json \
-H "Authorization: Bearer TOKEN" \
-H "If-Match: $ETAG" \
-H "Content-Type: application/ld+json" \
-d '{"@id": "#item", "http://schema.org/name": "Updated"}'