...
/rest/fcr:nextPID
- POST mints an ID
Nodes
/rest/{path}
- GET lists children, with optional filter by mixindescribe object
- POST create a new node of QueryParam "mixin" at {path}
- POST (with an application/sparql-update payload)
- PUT mutate the object at {path}
- DELETE remove the object at {path}
Code Block |
---|
GET /rest/ list the top-level objects in the repository GET /rest/objects/sufia:123456789 list the children under /objects/sufia:123456789, which may include properties(?), datastreams or additional fedora objects/collectionsof this node GET /rest/some-other-object-living-at-jcr-root there's nothing special about /objects, it's just another part of the path to an object. List the children under /some-other-object-living-at-jcr-root, which may include properties(?), datastreams or additional fedora objects/collections GET /rest/objects/sufia:123456789?mixin=fedora:datastream only list the `fedora:datastreams` that are children of /objects/sufia:123456789 POST /rest/objects/islandora:xyzasdf with request body (I seem to remember something about a JSON/XML serialization of "profile" properties...) POST /rest/objects/islandora:xyzasdf with an application/sparql-update request body @prefix dc: <http://purl/somewhere/something/1.1> INSERT { <info:fedora:/objects/islandora:xyzasdf> <dc:title> "My title" } WHERE {} POST /rest/objects/islandora:xyzasdf?mixin=fedora:object create a new fedora object at /objects/islandora:xyzasdf POST /rest/objects/islandora:xyzasdf/an/arbitrary/hierarchy/to/an/islandora:datastream?mixin=fedora:datastream create a new datastream at /objects/islandora:xyzasdf/an/arbitrary/hierarchy/to/an/islandora:datastream in the JCR tree. (Will this create all the intermediate nodes? do I need to do this manually?) PUT /rest/objects/sufia:123456789 (not sure what this implies.. manipulating properties of the node?) DELETE /rest/objects/sufia:123456789 Delete the node at /objects/sufia:123456789 |
...
Code Block |
---|
POST /rest/objects/sufia:123456789/fcr:new/fcr:content create a new child datastream (with an automatically generated unique identifier) with the content provided by the request body |
...
Children
/rest/{path}/fcr:describechildren
- GET profile or description [repo describe at root, profiles by type]object children, optionally filtered by mixin
- POST unsupported?
- PUT unsupported?
- DELETE unsupported?
Code Block |
---|
GET /rest/fcr:describe describe the fcrepo4 repository GET /rest/objects/sufia:123456789/fcr:describechildren List describeall the object /objects/sufia:123456789child nodes (equivalentobjects toand thedatastreams) fcrepo 3.x "object profile") for sufia:12345689 GET /rest/objects/sufia:123456789/content/fcr:describe describechildren?mixin=fedora:datastream only list the datastream /objects/sufia:123456789/content (equivalent to the fcrepo 3.x "datastream profile") GET /rest/some/arbitrary/jcr:path/to/sufia:123456789/the/tree/continues/fcr:describe describe the node at /some/arbitrary/jcr:path/to/sufia:123456789/the/tree/continues (equivalent to the fcrepo3.x "datastream profile"). If the node resolves to a JCR "nt:file", we treat it as a datastream. Else, an object (or collection)`fedora:datastreams` that are children of /objects/sufia:123456789 o the fcrepo 3.x "object profile") |
Versioning
/rest/{path}/fcr:versions
- GET the version history of the nt:file or the nt:folder (as appropriate) at {path}
...