You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 2
Next »
Table of Contents
|
In order to consider Fedora's REST API functionally complete, we need to have built-in support for adding, modifying, and removing RDF relationships.
Notes from 11/3 Committer Meeting
HTTP PUT/POST to RELS-EXT/INT.
SPARQL Update
URL Parameter, "kind of update" (possibly could be trigger)
....could be alternative to mime type (some clients can't control headers well)
Validation would happen.
Have it use fedora-system:sdef...accept a POST.
Doesn't require that we do it in the general case.
PUT should be idempotent (to replace the entire datastream)
POST has no such requirement (so to add/delete specific relationships)
Important: Make sense of it for users
Strawman Proposal
Define a generic method (or set of methods) for applying partial changes to datastreams.
Implement it for RELS-EXT and RELS-INT so that additions and deletions can be made via SPARQL update.
Example:
- HTTP Verb: PUT
- URL: /objects/
Unknown macro: {pid}
/fedora-system:/updateDatastream?dsID=
Unknown macro: {dsID}
&type=sparql-update
- Body: A SPARQL/Update document (UTF-8?) to apply to the datastream
- Successful response:
- Code: 201
- Location: URL to datastream
- Failed response:
- If datastream doesn't exist: TBD
- If input document is malformed: TBD
-
|
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))