Table of Contents |
---|
Some Definitions
jcr - java content repository http://www.day.com/day/en/products/jcr.html; used by fcrepo4 for storing object structure and content
node - a jcr object; it may be a fedora datastream or object.
mixin - a jcr concept we're leaking downstream. for all downstream consumers need to care, this is a simple 'tag' with a couple possible values: fedora:object, fedora:datastream.
path - a (potentially) hierarchical path to a jcr node (either an object or datastream)
namespace - JCR nodes MAY have a namespace component to their identifier. Unlike fcrepo 3.x, a namespace prefix must be explicitly registered before it can be used. (I assume we can create nodes with the fully-qualified namespace without registering it?)
External-ish services
/rest/fcr:sitemap
- GET retrieve a sitemap of all the "fedora:object" in the repository (wrapped as a sitemap index, pointing to other sitemaps..)
/rest/fcr:search
- GET a basic field search (similar to fcrepo 3.x) that exposes the Modeshape index (somehow.)
/rest/fcr:namespaces
- GET list the registered namespaces
/rest/fcr:namespaces/{prefix} (with a request body for the URI the namespace prefix should resolve to)
- POST create the namespace prefix
/rest/fcr:nextPID
- POST mints an ID
...
The Fedora 4 REST API is generally a RESTful API. HTTP methods like GET, PUT, POST and DELETE are implemented on most resource paths. The REST API also relies heavily on content negotiation to deliver context-appropriate responses, and a HATEOAS-driven text/html response (providing a decent admin GUI experience on top of the repository).
The Fedora 4 RDF-based responses may be serialized as:
- application/n3 (or text/rdf+n3 or text/n3)
- text/turtle
- application/n-triples
- text/trig
- application/xml+rdf
- application/json+rdf
- application/n-quads
Objects
Retrieve or manipulate a node in the Fedora 4 repository.
/rest/{path}
- GET describe object
- POST create a new node of QueryParam "mixin" at {path}
- POST (with an application/sparql-update payload)
...
ModeShape REST API: https://docs.jboss.org/author/display/MODE/REST+Service+3.x#RESTService3.x-5.Updateanodeoraproperty
External-ish services
/rest/fcr:sitemap
- GET retrieve a sitemap of all the "fedora:object" in the repository (wrapped as a sitemap index, pointing to other sitemaps..)
/rest/fcr:search
- GET a basic field search (similar to fcrepo 3.x) that exposes the Modeshape index (somehow.)
/rest/fcr:namespaces
- GET list the registered namespaces
/rest/fcr:namespaces/{prefix} (with a request body for the URI the namespace prefix should resolve to)
- POST create the namespace prefix
/rest/fcr:nextPID
- POST mints an ID