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.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.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
Code Block |
---|
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: Code Block |
---|
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.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.0referenceable> , <http://purl.org/dc/elements/1.1/describable> , <http://fedora.info/definitions/v4/rest-api#resource> . |
Example (4): Non-RDF Source
Code Block |
---|
curl "http://localhost:8080/rest/path/to/binary/resource" |
Response: Code Block |
---|
Status: 200 OK
Headers:
ETag: "0ed38fe211c2663ace5322e970e7b7d606196e00"
Last-Modified: Mon, 19 May 2014 19:44:59 GMT
Vary: Prefer
Link: <http://localhost:8080/rest/path/to/binary/resource/fcr:metadata">;rel="describedby"
Content-Type: image/jpg
Body:
{binary content} |
Status: Status |
---|
subtle | true |
---|
colour | Green |
---|
title | 200 |
---|
| OK Status |
---|
subtle | true |
---|
colour | Yellow |
---|
title | 304 |
---|
| Not Modified Status |
---|
subtle | true |
---|
colour | Red |
---|
title | 404 |
---|
| Not Found
Create new resources within a LDP containerQuery Parameters: (Optional) Provide a SHA-1 checksum which will be checked against the uploaded content to ensure error-free transfer.Request Headers: Status |
---|
| |
---|
subtle | true |
---|
title | Content-Disposition |
---|
| (Optional) The filename provided in the content disposition header will be stored in a premis:hasOriginalName property.
Status |
---|
| |
---|
subtle | true |
---|
title | Content-Type |
---|
| (Optional) MIME type of the uploaded binary or RDF content.
CONTENT-LOCATION (Optional) A URI to a resource to use instead of the request body Note |
---|
If the MIME type corresponds to a supported RDF format or SPARQL-Update, the uploaded content will be parsed as RDF and used to populate the child node properties. 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. For other MIME types, the uploaded content will be used to create a binary resource. |
(Optional) A suggested name for the new child resource, which the repository may ignore. Note |
---|
The slug you provide does not guarantee the location of the created resource. Clients must check the Location header for the path to the created resource. |
Example (1): Create a new child node
Code Block |
---|
curl -X POST "http://localhost:8080/rest/" |
Response: Code Block |
---|
Status: 201 Created
Headers:
ETag: "3ac31b09de1536a332d9c6ee8453669947721840"
Location: http://localhost:8080/rest/some/path/to/a/new/resource
Body:
http://localhost:8080/rest/some/path/to/a/new/resource |
Example (2): Create a new child binary resource with empty content
Code Block |
---|
curl -i -X POST -H "Content-Type:text/plain" "http://localhost:8080/rest" |
Response: Code Block |
---|
Status: 201 Created
ETag: "487f188240d2be3ae32d49958c0eeea18224be0a"
Last-Modified: Thu, 29 May 2014 15:46:13 GMT
Link: <http://localhost:8080/rest/b8/fc/32/be/b8fc32be-34be-428e-bf7c-81be97e5f2e3/fcr:metadata>; rel="describedby"; anchor="http://localhost:8080/rest/b8/fc/32/be/b8fc32be-34be-428e-bf7c-81be97e5f2e3"
Location: http://localhost:8080/rest/b8/fc/32/be/b8fc32be-34be-428e-bf7c-81be97e5f2e3
Content-Type: text/plain
Transfer-Encoding: chunked
Body:
http://localhost:8080/rest/b8/fc/32/be/b8fc32be-34be-428e-bf7c-81be97e5f2e3 |
Example (3): Create a new container with RDF properties
Code Block |
---|
curl -i -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: Code Block |
---|
Status: 201 Created
Headers:
ETag: "a66937ca13bc29c63f7b1a55d447a76cd8f1d573"
Location: http://localhost:8080/rest/new/node/uri
Body:
http://localhost:8080/rest/new/node/uri |
Example (4): Uploaded file with checksum
Code Block |
---|
curl -i -X POST --data-binary "@picture.jpg" "http://localhost:8080/rest/parent/container?checksum=urn:sha1:cb1a576f22e8e3e110611b616e3e2f5ce9bdb941" |
Response: Code Block |
---|
Status: 201 Created
Headers:
ETag: "fe4e2bf389fe05dab6390564e40012d8d36eca19"
Location: http://localhost:8080/rest/parent/object/auto/generated/ds/id
Body:
http://localhost:8080/rest/parent/object/auto/generated/ds/id |
Example (5): Uploaded file with checksum mismatch
Code Block |
---|
curl -X POST --data-binary "@picture.jpg" "http://localhost:8080/rest/parent/object?checksum=urn:sha1:checksumdoesntmatch" |
Response: Code Block |
---|
Status: 409 Conflict
Body:
Checksum Mismatch of cb1a576f22e8e3e110611b616e3e2f5ce9bdb941 and urn:sha1:checksumdoesntmatch |
Status: Status |
---|
subtle | true |
---|
colour | Green |
---|
title | 201 |
---|
| Created Status |
---|
| |
---|
subtle | true |
---|
colour | Red |
---|
title | 404 |
---|
| Not Found (resource does not exist – use PUT to specify a new resource name) Status |
---|
| |
---|
subtle | true |
---|
colour | Red |
---|
title | 409 |
---|
| Conflict (checksum mismatch)
Create a resource with a specified path, or replace the triples associated with a resource with the triples provided in the request body. Note |
---|
Some resource properties are repository managed and cannot be removed or modified. Any attempt to do so may result in a 4xx error. |
Note |
---|
RDF will be interpreted using the current resource as the base URI (e.g. <> will be expanded to the current URI) |
Request Headers: Status |
---|
subtle | true |
---|
title | Content-Type |
---|
| text/turtle, text/rdf+n3, application/n3, text/n3, application/rdf+xml, application/n-triples, text/html, text/plain, application/ld+json, message/external-body
Status |
---|
subtle | true |
---|
title | If-UNModified-Since |
---|
|
CONTENT-LOCATION (Optional) A URI to a resource to use instead of the request body Query Parameters: Checksum of the binary content (in the form urn:sha1:<sha1-hash>). If the checksum doesn't match, a 409 Conflict will be returned. Example (1): Updating properties with RDF content
1.1 Perform a GET to the current container's RDF content Code Block |
---|
curl -X GET -H "Accept: text/turtle" "http://localhost:8080/rest/node/to/update"
Body:
@prefix dc: <http://purl.org/dc/elements/1.1/>
...
@prefix ldp: <http://www.w3.org/ns/ldp#>
<http://localhost:8080/rest/node/to/update> a ldp:RDFSource , ldp:Container , <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> , fedora:Container , fedora:Resource , fedora:Resource , <http://www.jcp.org/jcr/mix/1.0created> , <http://www.jcp.org/jcr/mix/1.0lastModified> , <http://www.jcp.org/jcr/mix/1.0referenceable> ;
fedora:primaryType "nt:folder"^^<http://www.w3.org/2001/XMLSchema#string> ;
fedora:created "2014-11-20T16:23:31.684Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
fedora:lastModified "2014-11-20T16:23:31.684Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
fedora:mixinTypes "fedora:Container"^^<http://www.w3.org/2001/XMLSchema#string> , "fedora:Resource"^^<http://www.w3.org/2001/XMLSchema#string> ;
...
<http://fedora.info/definitions/v4/repository#jcr/xml> rdfs:label "jcr/xml"^^<http://www.w3.org/2001/XMLSchema#string> .
<http://54.173.23.104:8080/fcrepo4/rest/test1/fcr:export?format=jcr/xml> dc:format <http://fedora.info/definitions/v4/repository#jcr/xml> . |
1.2 Add your updates (e.g. <> dc:title "some-resource-title" .) under the full result of the GET response in 1.1 Code Block |
---|
curl -X PUT -H "Content-Type: text/turtle" --data-binary "@new-triples.rdf" "http://localhost:8080/rest/node/to/update"
Request Body:
@prefix dc: <http://purl.org/dc/elements/1.1/>
...
@prefix ldp: <http://www.w3.org/ns/ldp#>
<http://localhost:8080/rest/node/to/update> a ldp:RDFSource , ldp:Container , <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> , fcrepo:Container , fcrepo:Resource , fcrepo:Resource , <http://www.jcp.org/jcr/mix/1.0created> , <http://www.jcp.org/jcr/mix/1.0lastModified> , <http://www.jcp.org/jcr/mix/1.0referenceable> ;
fcrepo:primaryType "nt:folder"^^<http://www.w3.org/2001/XMLSchema#string> ;
fcrepo:created "2014-11-20T16:23:31.684Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
fcrepo:lastModified "2014-11-20T16:23:31.684Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
fcrepo:mixinTypes "fedora:Container"^^<http://www.w3.org/2001/XMLSchema#string> , "fedora:Resource"^^<http://www.w3.org/2001/XMLSchema#string> ;
...
<http://fedora.info/definitions/v4/repository#jcr/xml> rdfs:label "jcr/xml"^^<http://www.w3.org/2001/XMLSchema#string> .
<http://54.173.23.104:8080/fcrepo4/rest/test1/fcr:export?format=jcr/xml> dc:format <http://fedora.info/definitions/v4/repository#jcr/xml> .
<> dc:title "some-resource-title" .
|
Response: Code Block |
---|
Status: 204 No Content |
Example (2): Creating a new resource at a specified path Code Block |
---|
curl -i -X PUT "http://localhost:8080/rest/node/to/create" |
Response: Code Block |
---|
Status: 201 Created
Response Headers:
ETag: "ef214795c3b9109389ffa542a6c081976e1e9587"
Last-Modified: Mon, 19 May 2014 20:52:57 GMT
Location: http://localhost:8080/rest/node/to/create
Body:
http://localhost:8080/rest/node/to/create |
Example (3): Creating new binary resource at a specified path Code Block |
---|
curl -X PUT --upload-file image.jpg -H"Content-Type: image/jpeg" "http://localhost:8080/rest/ |
|