...
- Define a generic method (or set of methods) for applying partial changes to datastreams.
- Implement it for RELS-EXT and RELS-INT (RDF-based) so that additions and deletions to those datastreams can be made via SPARQL update.
Example:
- HTTP Verb: PUT POST
- URL: /objects/{pid}$pid/fedora-system:SomeBuiltInSDef/updateDatastream?dsID={dsID}$dsID&type=sparql-update
- Body: A SPARQL/Update document (UTF-8?) to apply to the datastream
- Successful response:
- Code: 201
- Location header: URL to datastream version
- Content-type header: text/plain; charset=utf-8
- Body: URL to datastream version
- Failed response :** If datastream doesn't exist: TBD (bad request):
- Code: 400
- Content-type header: text/plain; charset=utf-8
- Body: (one-line message)
- Unrecognized update type: $type
- No such object: $pid
- No such datastream in $pid: $dsID
- If input document is malformed: TBD
Notes:
- Modifying the entire content of a datastream would still be possible via a POST to the datastream URL as it is today.
- The syntax for invoking disseminations has not yet been decided for the REST API; the URL above with fedora-system:SomeBuiltInSDef assumes an obvious possible syntax.
...