Request URI: /path/to/some/resource
Methods: GET, POST, PUT, PATCH, DELETE, MOVE, COPY
Retrieve all triples for the resource
Query Parameters:
Pagination control for member resources
Pagination control for member resources
Request Headers:
text/turtle, text/rdf+n3, text/n3, application/rdf+xml, application/n-triples, text/html
return=minimal
return=representation
return=representation; include="URIs"
return=representation; omit="URIs"
where minimal indicates that only triples directly related to a resource should be returned, and representation indicates that links to other resources and their properties should also be included. URIs is a space-separate list of:
URI | Description |
---|---|
http://www.w3.org/ns/ldp#PreferMembership | links to other resources (including child nodes) and LDP container properties (included in representation by default) |
http://www.w3.org/ns/ldp#PreferContainment | triples describing the child nodes (included in representation by default) |
http://fedora.info/definitions/v4/repository#InboundReferences | links from other Fedora resources to this node (excluded from representation by default) |
Example (1): Turtle
curl -H "Accept: text/turtle" "http://localhost:8080/rest/path/to/resource" |
Response:
Status: 200 OK Headers: ETag: "0ed38fe211c2663ace5322e970e7b7d606196e00" Last-Modified: Mon, 19 May 2014 19:44:59 GMT Preference-Applied: return=representation; include="http://www.w3.org/ns/ldp#PreferMembership http://www.w3.org/ns/ldp#PreferContainment" Vary: Prefer Accept-Patch: application/sparql-update Allow: MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Accept-Post: text/turtle,text/rdf+n3,application/n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update Link: <http://www.w3.org/ns/ldp#Resource>;rel="type" Link: <http://www.w3.org/ns/ldp#DirectContainer>;rel="type" Content-Type: text/turtle Body: <http://localhost:8080/rest/path/to/resource> <http://fedora.info/definitions/v4/rest-api#hasAccessRoles> <http://localhost:8080/rest/path/to/resource/fcr:accessroles> ; <http://fedora.info/definitions/v4/rest-api#exportsAs> <http://localhost:8080/rest/path/to/resource/fcr:export?format=jcr/xml> ; <http://fedora.info/definitions/v4/repository#hasParent> <http://localhost:8080/rest/path/to> ; a <http://www.w3.org/ns/ldp#Container> , <http://www.w3.org/ns/ldp#DirectContainer> ; <http://www.w3.org/ns/ldp#membershipResource> <http://localhost:8080/rest/path/to/resource> ; <http://www.w3.org/ns/ldp#hasMemberRelation> <http://fedora.info/definitions/v4/repository#hasChild> ; a <http://www.jcp.org/jcr/nt/1.0folder> , <http://www.jcp.org/jcr/nt/1.0hierarchyNode> , <http://www.jcp.org/jcr/nt/1.0base> , <http://www.jcp.org/jcr/mix/1.0created> , <http://fedora.info/definitions/v4/rest-api#resource> , <http://fedora.info/definitions/v4/rest-api#object> , <http://fedora.info/definitions/v4/rest-api#relations> , <http://www.jcp.org/jcr/mix/1.0created> , <http://www.jcp.org/jcr/mix/1.0lastModified> , <http://www.jcp.org/jcr/mix/1.0lockable> , <http://www.jcp.org/jcr/mix/1.0referenceable> , <http://purl.org/dc/elements/1.1/describable> , <http://fedora.info/definitions/v4/rest-api#resource> ; <http://fedora.info/definitions/v4/repository#primaryType> "nt:folder"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#created> "2014-05-19T19:44:59.647Z"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#lastModified> "2014-05-19T19:44:59.645Z"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#mixinTypes> "fedora:resource"^^<http://www.w3.org/2001/XMLSchema#string> , "fedora:object"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#lastModifiedBy> "bypassAdmin"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#uuid> "2b655d37-e88a-44c5-86c1-3b3935cdea49"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#createdBy> "bypassAdmin"^^<http://www.w3.org/2001/XMLSchema#string> ; a <http://www.jcp.org/jcr/nt/1.0folder> , <http://www.jcp.org/jcr/nt/1.0hierarchyNode> , <http://www.jcp.org/jcr/nt/1.0base> , <http://www.jcp.org/jcr/mix/1.0created> , <http://fedora.info/definitions/v4/rest-api#resource> , <http://fedora.info/definitions/v4/rest-api#object> , <http://fedora.info/definitions/v4/rest-api#relations> , <http://www.jcp.org/jcr/mix/1.0created> , <http://www.jcp.org/jcr/mix/1.0lastModified> , <http://www.jcp.org/jcr/mix/1.0lockable> , <http://www.jcp.org/jcr/mix/1.0referenceable> , <http://purl.org/dc/elements/1.1/describable> , <http://fedora.info/definitions/v4/rest-api#resource> . |
Example (2): RDF/XML
curl -H "Accept: application/rdf+xml" "http://localhost:8080/rest/path/to/resource" |
Response:
Status: 200 OK Headers: ETag: "0ed38fe211c2663ace5322e970e7b7d606196e00" Last-Modified: Mon, 19 May 2014 19:44:59 GMT Preference-Applied: return=representation; include="http://www.w3.org/ns/ldp#PreferMembership http://www.w3.org/ns/ldp#PreferContainment" Vary: Prefer Accept-Patch: application/sparql-update Allow: MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Accept-Post: text/turtle,text/rdf+n3,application/n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update Link: <http://www.w3.org/ns/ldp#Resource>;rel="type" Link: <http://www.w3.org/ns/ldp#DirectContainer>;rel="type" Content-Type: application/rdf+xml Body: <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="http://localhost:8080/rest/path/to/resource"> <hasAccessRoles xmlns="http://fedora.info/definitions/v4/rest-api#" rdf:resource="http://localhost:8080/rest/path/to/resource/fcr:accessroles"/> <exportsAs xmlns="http://fedora.info/definitions/v4/rest-api#" rdf:resource="http://localhost:8080/rest/path/to/resource/fcr:export?format=jcr/xml"/> <hasParent xmlns="http://fedora.info/definitions/v4/repository#" rdf:resource="http://localhost:8080/rest/path/to"/> <rdf:type rdf:resource="http://www.w3.org/ns/ldp#Container"/> <rdf:type rdf:resource="http://www.w3.org/ns/ldp#DirectContainer"/> <membershipResource xmlns="http://www.w3.org/ns/ldp#" rdf:resource="http://localhost:8080/rest/path/to/resource"/> <hasMemberRelation xmlns="http://www.w3.org/ns/ldp#" rdf:resource="http://fedora.info/definitions/v4/repository#hasChild"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/nt/1.0folder"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/nt/1.0hierarchyNode"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/nt/1.0base"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/mix/1.0created"/> <rdf:type rdf:resource="http://fedora.info/definitions/v4/rest-api#resource"/> <rdf:type rdf:resource="http://fedora.info/definitions/v4/rest-api#object"/> <rdf:type rdf:resource="http://fedora.info/definitions/v4/rest-api#relations"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/mix/1.0created"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/mix/1.0lastModified"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/mix/1.0lockable"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/mix/1.0referenceable"/> <rdf:type rdf:resource="http://purl.org/dc/elements/1.1/describable"/> <rdf:type rdf:resource="http://fedora.info/definitions/v4/rest-api#resource"/> <primaryType xmlns="http://fedora.info/definitions/v4/repository#" rdf:datatype="http://www.w3.org/2001/XMLSchema#string">nt:folder</primaryType> <created xmlns="http://fedora.info/definitions/v4/repository#" rdf:datatype="http://www.w3.org/2001/XMLSchema#string">2014-05-19T19:44:59.647Z</created> <lastModified xmlns="http://fedora.info/definitions/v4/repository#" rdf:datatype="http://www.w3.org/2001/XMLSchema#string">2014-05-19T19:44:59.645Z</lastModified> <mixinTypes xmlns="http://fedora.info/definitions/v4/repository#" rdf:datatype="http://www.w3.org/2001/XMLSchema#string">fedora:resource</mixinTypes> <mixinTypes xmlns="http://fedora.info/definitions/v4/repository#" rdf:datatype="http://www.w3.org/2001/XMLSchema#string">fedora:object</mixinTypes> <lastModifiedBy xmlns="http://fedora.info/definitions/v4/repository#" rdf:datatype="http://www.w3.org/2001/XMLSchema#string">bypassAdmin</lastModifiedBy> <uuid xmlns="http://fedora.info/definitions/v4/repository#" rdf:datatype="http://www.w3.org/2001/XMLSchema#string">2b655d37-e88a-44c5-86c1-3b3935cdea49</uuid> <createdBy xmlns="http://fedora.info/definitions/v4/repository#" rdf:datatype="http://www.w3.org/2001/XMLSchema#string">bypassAdmin</createdBy> <rdf:type rdf:resource="http://www.jcp.org/jcr/nt/1.0folder"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/nt/1.0hierarchyNode"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/nt/1.0base"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/mix/1.0created"/> <rdf:type rdf:resource="http://fedora.info/definitions/v4/rest-api#resource"/> <rdf:type rdf:resource="http://fedora.info/definitions/v4/rest-api#object"/> <rdf:type rdf:resource="http://fedora.info/definitions/v4/rest-api#relations"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/mix/1.0created"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/mix/1.0lastModified"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/mix/1.0lockable"/> <rdf:type rdf:resource="http://www.jcp.org/jcr/mix/1.0referenceable"/> <rdf:type rdf:resource="http://purl.org/dc/elements/1.1/describable"/> <rdf:type rdf:resource="http://fedora.info/definitions/v4/rest-api#resource"/> </rdf:Description> </rdf:RDF> |
Example (3): Prefer headers
curl -H "Prefer: return=representation; include=\"http://fedora.info/definitions/v4/repository#InboundReferences\"; omit=\"http://www.w3.org/ns/ldp#PreferMembership http://www.w3.org/ns/ldp#PreferContainment\"" http://localhost:8080/rest/parent |
Response:
Status: 200 OK Headers: ETag: "25fb5cb1d24983d57b10cb0b4656de113d5b8257" Last-Modified: Mon, 19 May 2014 19:24:40 GMT Preference-Applied: return=representation; include="http://fedora.info/definitions/v4/repository#InboundReferences" Vary: Prefer Accept-Patch: application/sparql-update Allow: MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Accept-Post: text/turtle,text/rdf+n3,application/n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update Link: <http://www.w3.org/ns/ldp#Resource>;rel="type" Link: <http://www.w3.org/ns/ldp#DirectContainer>;rel="type" Content-Type: text/turtle Body: <http://localhost:8080/rest/parent> <http://fedora.info/definitions/v4/rest-api#hasAccessRoles> <http://localhost:8080/rest/parent/fcr:accessroles> ; <http://fedora.info/definitions/v4/rest-api#exportsAs> <http://localhost:8080/rest/parent/fcr:export?format=jcr/xml> ; <http://fedora.info/definitions/v4/repository#hasParent> <http://localhost:8080/rest/> ; a <http://www.w3.org/ns/ldp#Container> , <http://www.w3.org/ns/ldp#DirectContainer> ; <http://www.w3.org/ns/ldp#membershipResource> <http://localhost:8080/rest/parent> ; <http://www.w3.org/ns/ldp#hasMemberRelation> <http://fedora.info/definitions/v4/repository#hasChild> ; a <http://www.jcp.org/jcr/nt/1.0folder> , <http://www.jcp.org/jcr/nt/1.0hierarchyNode> , <http://www.jcp.org/jcr/nt/1.0base> , <http://www.jcp.org/jcr/mix/1.0created> , <http://fedora.info/definitions/v4/rest-api#resource> , <http://fedora.info/definitions/v4/rest-api#object> , <http://fedora.info/definitions/v4/rest-api#relations> , <http://www.jcp.org/jcr/mix/1.0created> , <http://www.jcp.org/jcr/mix/1.0lastModified> , <http://www.jcp.org/jcr/mix/1.0lockable> , <http://www.jcp.org/jcr/mix/1.0referenceable> , <http://purl.org/dc/elements/1.1/describable> , <http://fedora.info/definitions/v4/rest-api#resource> . <http://localhost:8080/rest/collection> <http://fedora.info/definitions/v4/rels-ext#hasCollectionMember> <http://localhost:8080/rest/parent> . <http://localhost:8080/rest/parent> <http://fedora.info/definitions/v4/repository#primaryType> "nt:folder"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#created> "2014-05-19T19:21:37.182Z"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#lastModified> "2014-05-19T19:24:40.662Z"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#mixinTypes> "fedora:resource"^^<http://www.w3.org/2001/XMLSchema#string> , "fedora:object"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#lastModifiedBy> "bypassAdmin"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#uuid> "c21706cd-cc1a-4d77-b637-d940e0dc7888"^^<http://www.w3.org/2001/XMLSchema#string> ; <http://fedora.info/definitions/v4/repository#createdBy> "bypassAdmin"^^<http://www.w3.org/2001/XMLSchema#string> ; a <http://www.jcp.org/jcr/nt/1.0folder> , <http://www.jcp.org/jcr/nt/1.0hierarchyNode> , <http://www.jcp.org/jcr/nt/1.0base> , <http://www.jcp.org/jcr/mix/1.0created> , <http://fedora.info/definitions/v4/rest-api#resource> , <http://fedora.info/definitions/v4/rest-api#object> , <http://fedora.info/definitions/v4/rest-api#relations> , <http://www.jcp.org/jcr/mix/1.0created> , <http://www.jcp.org/jcr/mix/1.0lastModified> , <http://www.jcp.org/jcr/mix/1.0lockable> , <http://www.jcp.org/jcr/mix/1.0referenceable> , <http://purl.org/dc/elements/1.1/describable> , <http://fedora.info/definitions/v4/rest-api#resource> . |
Status:
OK
Not Modified
Not Found
Create a new automatically-named child node or datastream at the given path
Query Parameters:
(Optional) Provide a SHA-1 checksum which will be checked against the uploaded content to ensure error-free transfer
(Optional; values: fedora:object, fedora:datastream) Explicitly create an object or datastream, instead of inferring it from the request body
Request Headers:
(Optional) content header including the original filename of the uploaded datastream content
(Optional) MIME type of the uploaded datastream or RDF content (if the MIME type corresponds to a supported RDF format, it will be parsed as RDF and used to populate the child node properties, otherwise the uploaded content will be used to create a datastream)
RDF will be interpreted using the current resource as the base URI (e.g. <> will be expanded to the current URI). Namespaces must be declared in full. |
(Optional) a Lock-Token for any locks previously created on resources updated by this operation
(Optional) a suggested name for the new child resource, which the repository may ignore
The slug you provide does not guarantee the location of the created node. Clients must check the Location header for the path to the created resource. For full control over the generated path, see XXX. |
Example (1): Create a new child node
curl -X POST "http://localhost:8080/rest/" |
Response:
Status: 201 Created Headers: Location: http://localhost:8080/rest/some/path/to/a/new/resource |
Example (2): Create a new child datastream
curl -X POST "http://localhost:8080/rest/?mixin=fedora:datastream" # Create a fedora:datastream |
Example (3): Create a new node with RDF properties
curl -X POST -H "Content-Type: text/turtle" --data-binary "@body.rdf" "http://localhost:8080/rest/" Request Body: PREFIX dc: <http://purl.org/dc/elements/1.1/> <> dc:title "some-resource-title" |
Response:
Status: 201 Created Headers: Location: http://localhost:8080/rest/new/node/uri |
Status:
Created
Not Found (resource does not exist – use PUT to specify a new resource name)
Conflict (resource is locked)