Excerpt |
---|
|
Excerpt |
---|
A Note on Versionable Resources
The following documented API calls are based on the assumption that the resource located at /path/to/some/resource was created as a versionable resource. You can make a resource verisonable by simply adding the following link header to your PUT or POST commands when creating or updating your resource.
Code Block |
---|
Link: <http://mementoweb.org/ns#OriginalResource>; rel="type" |
Examples:
Code Block |
---|
#PUT
curl -X PUT -H "Link: <http://mementoweb.org/ns#OriginalResource>; rel=\"type\"" http://localhost:8080/rest/path/to/resource
#POST
curl -X PUT -H "Link: <http://mementoweb.org/ns#OriginalResource>; rel=\"type\"" -H "Slug: resource" http://localhost:8080/rest/path/to |
|
Versioning in Fedora is composed of three specific types of resources - a versionable resource (a LDPRv), a versions container (a LDPCv), and the actual versioned resource (a LDPRm)- and a variety of strategies to interact with these resources. Each type of resource and the HTTP methods that can be used on them are discussed below.
Excerpt |
---|
Working with a versionable resource (a LDPRv)
A versionable resource is a type of (regular) resource - see RESTful HTTP API - Containers - but it is created by invoking a specific Link header and the GET method has an additional interaction model beyond the GET scenarios when interacting with non-versioned resources. All of the headers and methods for regular resources are applicable to a versionable resource. A resource can be declared versionable when it is created originally. This is achieved by including the following link header to your PUT or POST commands when creating the resource. When a versionable resource is created, the versions container will be created at the same time. Code Block |
---|
Link: <http://mementoweb.org/ns#OriginalResource>; rel="type" |
Request URI: /path/to/resource Methods: GET, PUT, POST
Retrieve the versioned resource from a specific point in time.For more details about Fedora's datetime negotiation behaviors, see Memento Datetime Negotiation Algorithm. Request Headers: ACCEPT-datetime An RFC-1123 Date. (E.g. "Wed, 30 May 2018 23:02:44 GMT") Example: Code Block |
---|
curl -H "Accept: text/turtle" -H "Accept-Datetime: Wed, 29 Aug 2018 15:47:50 GMT |
|
Excerpt |
---|
Request URI: /path/to/some/resource/fcr:versions Methods: GET, POST, PATCH Get a list of the available versions of an objectRequest Headers: ACCEPT application/ld+json, application/link-format, application/n-triples, application/rdf+xml, application/x-turtle, application/xhtml+xml, application/xml, text/html, text/n3, text/plain, text/rdf+n3, text/turtle Example: Code Block |
---|
curl -H "Accept: text/turtle" http://localhost:8080/rest/path/to/resource/fcr:versions |
Response: Code Block |
---|
Status: HTTP/1.1 200302 OK
Headers:
ETag: W/"671df2a47622331ffb6b70b6156526a67e5ab760"
Last-Modified: Found
Date: Wed, 3029 MayAug 2018 2122:0309:5428 GMT
Link: <http:/Set-Cookie: JSESSIONID=hrj5jm80kdjdw9attrozpy19;Path=/
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Tue, 28-Aug-2018 22:09:28 GMT
Link: <http://www.w3.org/ns/ldp#Resource>;rel="type"
Link: <http://www.w3.org/ns/ldp#RDFSource>ldp#Container>;rel="type"
Link: <http://localhost:8080/rest/path/to/resource/fcr:versions/fcr:acl>; www.w3.org/ns/ldp#BasicContainer>;rel="acltype"
Link: <http://localhost:8080/static/constraints/mementowebContainerConstraints.org/ns#TimeMap>rdf>; rel="typehttp://www.w3.org/ns/ldp#constrainedBy"
Link: <http://localhost:8080/rest/path/to/resource>resource6>; rel="originaltimegate"
Link: <http://localhost:8080/rest/path/to/resource>; rel="timegateoriginal"
Link: <http://localhost:8080/rest/path/to/resource/fcr:versions>; rel="timemap"
Vary-Post: Memento-Datetime
Allow: POST,HEAD,GET,OPTIONS,DELETE
Preference-Applied: return=representation
Vary: Prefer
Vary: Accept
Vary: Range
Link: <http://mementoweb.org/ns#OriginalResource>; rel="type"
Link: <http://mementoweb.org/ns#TimeGate>; rel="type"
Accept-Patch: application/sparql-update
Accept-Post: text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json
Allow: MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS
Link: <http://localhost:8080/rest/path/to/resource/fcr:acl>; rel="acl"
Preference-Applied: return=representation
Vary: Prefer
Vary: Accept
Vary: Range
Vary: Accept-Encoding
Vary: Accept-Language
Vary: ContentAccept-TypeDatetime
Location: text/turtle;charset=utf-8
http://localhost:8080/rest/path/to/resource/fcr:versions/20180829154750
Content-Length: 19440
Body:
@prefix memento: <http://mementoweb.org/ns#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix fedora: <http://fedora.info/definitions/v4/repository#> .
@prefix ldp: <http://www.w3.org/ns/ldp#> .
<http://Server: Jetty(9.3.1.v20150714) |
Status: Status |
---|
subtle | true |
---|
colour | Green |
---|
title | 200 |
---|
| 302 Found Status |
---|
| |
---|
subtle | true |
---|
colour | Red |
---|
title | 400 |
---|
| Bad Request: Accept-Datetime header not properly formatted per RFC-1123 Status |
---|
| |
---|
subtle | true |
---|
colour | Red |
---|
title | 406 |
---|
| Unacceptable: No appropriate versioned resource found for the supplied Accept-Datetime value
Examples: Code Block |
---|
#PUT
curl -X PUT -H "Link: <http://mementoweb.org/ns#OriginalResource>; rel=\"type\"" http://localhost:8080/rest/path/to/resource
#POST
curl -X POST -H "Link: <http://mementoweb.org/ns#OriginalResource>; rel=\"type\"" -H "Slug: resource" http://localhost:8080/rest/path/to |
|
Excerpt |
---|
Working with a versions container (a LDPCv)
Request URI: /path/to/resource/fcr:versions Methods: GET, POST, DELETE
Get a list of the available versions of an objectRequest Headers: ACCEPT application/ld+json, application/link-format, application/n-triples, application/rdf+xml, application/x-turtle, application/xhtml+xml, application/xml, text/html, text/n3, text/plain, text/rdf+n3, text/turtle Example: Code Block |
---|
curl -H "Accept: text/turtle" http:///fcr:versions>
rdf:type fedora:TimeMap ;
rdf:type fedora:Resource ;
fedora:lastModifiedBy "bypassAdmin" ;
fedora:createdBy "bypassAdmin" ;
fedora:created "2018-05-30T21:00:48.169Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
fedora:lastModified "2018-05-30T21:03:54.88Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
memento:original <http://localhost:8080/rest/path/to/resource/fcr:versions |
Response: Code Block |
---|
Status: HTTP/1.1 200 OK
Headers:
ETag: W/"671df2a47622331ffb6b70b6156526a67e5ab760"
Last-Modified: Wed, 30 May 2018 21:03:54 GMT
Link: <http://www.w3.org/ns/ldp#Resource>;rel="type"
Link: <http://www.w3.org/ns/ldp#RDFSource>;rel="type"
Link: <http:/resource> ;
rdf:type ldp:RDFSource ;
fedora:writable true ;
ldp:contains <http://localhost:8080/rest/path/to/resource/fcr:versions/20180530210300> ;
ldp:contains fcr:acl>; rel="acl"
Link: <http://mementoweb.org/ns#TimeMap>; rel="type"
Link: <http://localhost:8080/rest/path/to/resource>; rel="original"
Link: <http://localhost:8080/rest/path/to/resource>; rel="timegate"
Link: <http://localhost:8080/rest/path/to/resource/fcr:versions/20180530210354> . |
Status: Status |
---|
subtle | true |
---|
colour | Green |
---|
title | 200 |
---|
| OK Status |
---|
|
subtle | true |
---|
colour | Red |
---|
title | 404 |
Not Found: This resource is not versioned or this resource is not exist.Response: The requested resource is not available.
Get a previous version of an objectRequest Headers:
ACCEPT application/ld+json, application/n-triples, application/rdf+xml, application/x-turtle, application/xhtml+xml, application/xml, text/html, text/n3, text/plain, text/rdf+n3, text/turtle
Example:
Code Block |
---|
curl http://localhost:8080/rest/resource/fcr:versions/<timestamp> |
Response:
Code Block |
---|
Status: HTTP/1.1 200 OK
Headers:
Date: Wed, 30 May 2018 21:11:01 GMT
ETag: W/"706475b002bad44f8e5d874b8e7c3b1d35ff9a1c"
Last-Modified: Wed, 30 May 2018 21:00:48 GMT
Link:versions>; rel="timemap"
Vary-Post: Memento-Datetime
Allow: POST,HEAD,GET,OPTIONS,DELETE
Preference-Applied: return=representation
Vary: Prefer
Vary: Accept
Vary: Range
Vary: Accept-Encoding
Vary: Accept-Language
Content-Type: text/turtle;charset=utf-8
Content-Length: 1944
Body:
@prefix memento: <http://mementoweb.org/ns#> .
@prefix rdf: <http://www.w3.org/ns/ldp#Resource>;rel="type"
Link:1999/02/22-rdf-syntax-ns#> .
@prefix fedora: <http://www.w3.org/ns/ldp#Container>;rel="type"
Link:fedora.info/definitions/v4/repository#> .
@prefix ldp: <http://www.w3.org/ns/ldp#BasicContainer>;rel="type"
Memento-Datetime: Wed, 30 May 2018 21:03:54 GMT
Link: <http://mementoweb.org/ns#Memento>; rel="type"
Link: <http://localhost:8080/static/constraints/ContainerConstraints.rdf>; rel="httpldp#> .
<http://localhost:8080/rest/path/to/resource/fcr:versions>
rdf:type fedora:TimeMap ;
rdf:type fedora:Resource ;
fedora:lastModifiedBy "bypassAdmin" ;
fedora:createdBy "bypassAdmin" ;
fedora:created "2018-05-30T21:00:48.169Z"^^<http://www.w3.org/ns/ldp#constrainedBy"
Link: <http://2001/XMLSchema#dateTime> ;
fedora:lastModified "2018-05-30T21:03:54.88Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
memento:original <http://localhost:8080/rest/path/to/resource> ; rel="timegate"
Link: <http://localhost:8080/rest/path/to/resource>; rel="original"
Link: <http:
rdf:type ldp:RDFSource ;
fedora:writable true ;
ldp:contains <http://localhost:8080/rest/path/to/resource/fcr:versions>; rel="timemap"
Allow: GET,HEAD,OPTIONS,DELETE
Preference-Applied: return=representation
Vary: Prefer
Vary: Accept
Vary: Range
Vary: Accept-Encoding
Vary: Accept-Language
Content-Type: text/turtle;charset=utf-8
Content-Length: 1793
Body:
@prefix memento: <http://mementoweb.org/ns#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix fedora: <http://fedora.info/definitions/v4/repository#> .
<http://localhost:8080/rest/path/to/resource/fcr:versions/20180530210354>
rdf:type ldp:RDFSource ;
rdf:type ldp:Container ;
rdf:type fedora:Resource ;
rdf:type ldp:BasicContainer ;
rdf:type fedora:Container ;
fedora:created "versions/20180530210300> ;
ldp:contains <http://localhost:8080/rest/path/to/resource/fcr:versions/20180530210354> . |
Status:
Status |
---|
subtle | true |
---|
colour | Green |
---|
title | 200 |
---|
|
OK Status |
---|
| |
---|
subtle | true |
---|
colour | Red |
---|
title | 404 |
---|
|
Not Found: Versions container resource does not exist.
Create a new versioned resource (a new LDPRm)
Versions can by created in one of two ways, with a Memento-Datetime header and request body or with neither. If the Memento-Datetime header is omitted, the current time will be used by default and the current state of the versionable resource will be preserved. Any specified body will be ignored. If, however, the Memento-Datetime header is included, the versioned resource will be stored at this time marker and the request body will be stored as the versioned resource.
Request Headers
MEMENTO-DATETIME (Optional) An RFC-1123 Date. (E.g. "Wed, 30 May 2018 23:02:44 GMT")
Example 1 (Create a new version resource 'now.' Its state is that of the current versionable resource.):
Code Block |
---|
# Create version from current state of the object
curl -X POST http://localhost:8080/rest/path/to/resource/fcr:versions
|
Response:
Code Block |
---|
HTTP/1.1 201 Created
Date: Wed, 29 Aug 2018 21:21:34 GMT
Set-Cookie: JSESSIONID=dmqpuv06yty7b0tf9y94z3rx;Path=/
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Tue, 28-Aug-2018 21:21:34 GMT
ETag: W/"f7c04eb7e3f04c17d1fc852bef5f6b030ea271e7"
Last-Modified: Wed, 29 Aug 2018 20:22:11 GMT
Link: <http://localhost:8080/static/constraints/ContainerConstraints.rdf>; rel="http://www.w3.org/ns/ldp#constrainedBy"
Link: <http://localhost:8080/rest/path/to/resource>; rel="timegate"
Link: <http://localhost:8080/rest/path/to/resource>; rel="original"
Link: <http://localhost:8080/rest/path/to/resource/fcr:versions>; rel="timemap"
Memento-Datetime: Wed, 29 Aug 2018 21:21:34 GMT
Link: <http://mementoweb.org/ns#Memento>; rel="type"
Location: http://localhost:8080/rest/path/to/resource/fcr:versions/20180829212134
Content-Type: text/plain
Content-Length: 68
Server: Jetty(9.3.1.v20150714)
http://localhost:8080/rest/versioning/v9/fcr:versions/20180829212134 |
Status:
Status |
---|
| |
---|
subtle | true |
---|
colour | Green |
---|
title | 201 |
---|
|
Created: if a new version is created successfully Status |
---|
| |
---|
subtle | true |
---|
colour | Red |
---|
title | 404 |
---|
|
Not Found: if the version container resource does not exist
Example 2 (Create a new versioned resource at the supplied time marker. Its state is supplied as the request body.):
Code Block |
---|
# Create version by supplying body and Memento-Datetime
curl -X GET http://localhost:8080/rest/path/to/resource > resource.ttl
curl -X POST -H "Memento-Datetime: Wed, 30 May 2018 23:02:44 GMT" -H "Content-Type: text/turtle" --data-binary "@resource.ttl" http://localhost:8080/rest/path/to/resource/fcr:versions |
Response:
Code Block |
---|
HTTP/1.1 201 Created
Date: Wed, 29 Aug 2018 21:38:01 GMT
Set-Cookie: JSESSIONID=7bs7ddtba9l110261g9qyyotq;Path=/
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Tue, 28-Aug-2018 21:38:01 GMT
ETag: W/"a6b6c76b16935d00bcd1b5f259cfd2ecb225e3bd"
Last-Modified: Wed, 29 Aug 2018 20:22:11 GMT
Link: <http://localhost:8080/static/constraints/ContainerConstraints.rdf>; rel="http://www.w3.org/ns/ldp#constrainedBy"
Link: <http://localhost:8080/rest/path/to/resource>; rel="timegate"
Link: <http://localhost:8080/rest/path/to/resource>; rel="original"
Link: <http://localhost:8080/rest/path/to/resource/fcr:versions>; rel="timemap"
Memento-Datetime: Wed, 30 May 2018 23:02:44 GMT
Link: <http://mementoweb.org/ns#Memento>; rel="type"
Location: http://localhost:8080/rest/path/to/resource/fcr:versions/20180530230244
Content-Type: text/plain
Content-Length: 68
Server: Jetty(9.3.1.v20150714)
http://localhost:8080/rest/versioning/v9/fcr:versions/20180530230244 |
Status:
Status |
---|
| |
---|
subtle | true |
---|
colour | Green |
---|
title | 201 |
---|
|
Created: if a new version is created successfully Status |
---|
| |
---|
subtle | true |
---|
colour | Red |
---|
title | 400 |
---|
|
Bad Request: Request body was empty or invalid. Status |
---|
| |
---|
subtle | true |
---|
colour | Red |
---|
title | 404 |
---|
|
Not Found: if the version container resource does not exist Status |
---|
subtle | true |
---|
colour | Red |
---|
title | 409 |
---|
|
Conflict: if a version with the same timestamp already exists for this resource. Status |
---|
subtle | true |
---|
colour | Red |
---|
title | 415 |
---|
|
Unsupported media type: If a Memento-Datetime is supplied without an accompanying Content-Type header to indicate the mime type.
Remove the versions container and all versioned resources
NB: In addition to deleting all versioned resources, the parent - or versionable resource - will no longer be versionable, meaning the parent resource cannot be versioned until made versionable again. |
---|
Example:
Code Block |
---|
curl -X DELETE http://localhost:8080/rest/path/to/resource/fcr:versions |
Response:
Code Block |
---|
HTTP/1.1 204 No Content
Date: Wed, 29 Aug 2018 21:41:54 GMT
Set-Cookie: JSESSIONID=1hfa3law3t4kp3z3wjps3qw84;Path=/
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Tue, 28-Aug-2018 21:41:54 GMT
Server: Jetty(9.3.1.v20150714) |
Status:
Status |
---|
| |
---|
subtle | true |
---|
colour | Green |
---|
title | 204 |
---|
|
No Content: if the version is reverted successfully Status |
---|
| |
---|
subtle | true |
---|
colour | Red |
---|
title | 404 |
---|
|
Not Found: if the version does not exist
Excerpt |
---|
Working with a versioned resource (a LDPRm)
Request URI: /path/to/resource/fcr:versions/<timestamp> Methods: GET, DELETE
Get a specific versioned resourceRequest Headers: ACCEPT application/ld+json, application/link-format, application/n-triples, application/rdf+xml, application/x-turtle, application/xhtml+xml, application/xml, text/html, text/n3, text/plain, text/rdf+n3, text/turtle Example: Code Block |
---|
curl -H "Accept: text/turtle" http://localhost:8080/rest/path/to/resource/fcr:versions/20180829154750 |
Response: Code Block |
---|
HTTP/1.1 200 OK
Date: Thu, 30 Aug 2018 14:31:30 GMT
Set-Cookie: JSESSIONID=yb9ppso27n221q1xdvu4cqzi5;Path=/
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Wed, 29-Aug-2018 14:31:30 GMT
ETag: W/"e766f5e674845e72f7d589e346b6a96a7735336e"
Last-Modified: Wed, 29 Aug 2018 15:47:31 GMT
Link: <http://www.w3.org/ns/ldp#Resource>;rel="type"
Link: <http://www.w3.org/ns/ldp#Container>;rel="type"
Link: <http://www.w3.org/ns/ldp#BasicContainer>;rel="type"
Link: <http://localhost:8080/static/constraints/ContainerConstraints.rdf>; rel="http://www.w3.org/ns/ldp#constrainedBy"
Link: <http://localhost:8080/rest/path/to/resource>; rel="timegate"
Link: <http://localhost:8080/rest/path/to/resource>; rel="original"
Link: <http://localhost:8080/rest/path/to/resource/fcr:versions>; rel="timemap"
Allow: GET,HEAD,OPTIONS,DELETE
Memento-Datetime: Wed, 29 Aug 2018 15:47:50 GMT
Link: <http://mementoweb.org/ns#Memento>; rel="type"
Preference-Applied: return=representation
Vary: Prefer
Vary: Accept
Vary: Range
Vary: Accept-Encoding
Vary: Accept-Language
Content-Type: text/turtle;charset=utf-8
Content-Length: 1754
Server: Jetty(9.3.1.v20150714)
@prefix premis: <http://www.loc.gov/premis/rdf/v1#> .
@prefix test: <info:fedora/test/> .
@prefix memento: <http://mementoweb.org/ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix webac: <http://fedora.info/definitions/v4/webac#> .
@prefix acl: <http://www.w3.org/ns/auth/acl#> .
@prefix ns001: <http://localhost:8080/rest/ktest/> .
@prefix xsi: <http://www.w3.org/2001/XMLSchema-instance> .
@prefix xmlns: <http://www.w3.org/2000/xmlns/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix fedora: <http://fedora.info/definitions/v4/repository#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#> .
@prefix ldp: <http2018-05-30T21:00:48.169Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
fedora:writable true ;
fedora:lastModified "2018-05-30T21:00:48.169Z"^^<http://www.w3.org/2001ns/XMLSchema#dateTime>ldp#> ;.
@prefix fedoraxs:lastModifiedBy "bypassAdmin" ;
fedora:createdBy "bypassAdmin" ;
rdf:type ldp:RDFSource ;
rdf:type ldp:Container ;
fedora:writable true .
* Connection #0 to host localhost left intact |
Status |
---|
|
subtle | true |
---|
colour | Green |
---|
title | 200 |
OKStatus: Status |
---|
subtle | true |
---|
colour | Red |
---|
title | 404 |
Not Found: if the version or the resource does not existResponse: The requested resource is not available.
Status |
---|
colour | Blue |
---|
title | POST |
Create a new version (memento) of an object. <http://www.w3.org/2001/XMLSchema> .
@prefix fedoraconfig: <http://fedora.info/definitions/v4/config#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
<http://localhost:8080/rest/path/to/resource>
rdf:type ldp:RDFSource ;
rdf:type ldp:Container ;
rdf:type fedora:Resource ;
rdf:type ldp:BasicContainer ;
rdf:type fedora:Container ;
fedora:created "2018-08-29T15:47:31.041Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
fedora:writable true ;
fedora:lastModified "2018-08-29T15:47:31.041Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
fedora:lastModifiedBy "fedoraAdmin" ;
fedora:createdBy "fedoraAdmin" ;
rdf:type ldp:RDFSource ;
rdf:type ldp:Container ;
fedora:writable true .
|
Status:
Request Headers
MEMENTO-DATETIME (Optional) An RFC-1123 Date. (E.g. "Wed, 30 May 2018 23:02:44 GMT")
NB: Versions can by created in one of two ways. If the Memento-Datetime header is omitted, the current time will be used by default. You may supply a request body representing state of the resource to be versioned when the Memento-Datetime header is present. If no Memento-Datetime header is present, any specified body will be ignored. Instead, the current state of the resource will be used as the body for the memento.
Example:
Code Block |
---|
# Create version from current state of the object
curl -X POST http://localhost:8080/rest/path/to/resource/fcr:versions
# Create version by supplying body and Memento-Datetime
curl -X GET http://localhost:8080/rest/path/to/resource > resource.ttl
curl -X POST -H "Memento-Datetime: Wed, 30 May 2018 23:02:44 GMT" -H "Content-Type: text/turtle" --data-binary "@resource.ttl" http://localhost:8080/rest/path/to/resource/fcr:versions |
Response:
Code Block |
---|
Status: HTTP/1.1 201 Created
Headers:
Date: Wed, 30 May 2018 23:02:44 GMT
ETag: W/"7a7cb9a13ca1cbd1794ef36292f682e0fd7675b0"
Last-Modified: Wed, 30 May 2018 21:00:48 GMT
Link: <http://localhost:8080/static/constraints/ContainerConstraints.rdf>; rel="http://www.w3.org/ns/ldp#constrainedBy"
Link: <http://localhost:8080/rest/path/to/resource>; rel="timegate"
Link: <http://localhost:8080/rest/path/to/resource>; rel="original"
Link: <http://localhost:8080/rest/path/to/resource/fcr:versions>; rel="timemap"
Memento-Datetime: Wed, 30 May 2018 23:02:44 GMT
Link: <http://mementoweb.org/ns#Memento>; rel="type"
Location: http://localhost:8080/rest/path/to/resource/fcr:versions/20180530230244
Content-Type: text/plain
Content-Length: 71
Body:
http://localhost:8080/rest/path/to/resource/fcr:versions/20180530230244 |
Status:
Status |
---|
subtle | true |
---|
colour | Green |
---|
title | 201 |
Created: if a new version is created successfully Status |
---|
subtle | true |
---|
colour | Red |
---|
title | 404 |
Not Found: if the resource does not exist Status |
---|
subtle | true |
---|
colour | RedGreen |
---|
title | 409 |
---|
|
Conflict: if a version with the same timestamp already exists for this resource. OK Status |
---|
| |
---|
subtle | true |
---|
colour | Red |
---|
title | 415 |
---|
|
Unsupported media type: If a Memento-Datetime is supplied without an accompanying Content-Type header to indicate the mime type.Response:
Memento with provided datetime already exists.
Anchor |
---|
delete | Not Found: Versions container resource does not exist.
Remove a previous version of an object
Example:
Code Block |
---|
curl -i -X DELETE http://localhost:8080/rest/path/to |
delete | Request URI: /path/to/some<timestamp>
MethodsResponse: DELETE
Status |
---|
colour | Red |
---|
title | DELETE |
Remove a previous version of an object Code Block |
---|
HTTP/1.1 204 No Content
Date: Thu, 30 Aug 2018 14:35:21 GMT
Set-Cookie: JSESSIONID=1w3ta3umg5nai1q4mtfp5qn48p;Path=/
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Wed, 29-Aug-2018 14:35:21 GMT
Server: Jetty(9.3.1.v20150714) |
Example:
Code Block |
---|
curl -X DELETE http://localhost:8080/rest/path/to/resource/fcr:versions/<timestamp> |
Response:
Code Block |
---|
Status: 204 No Content
Headers:
Date: Wed, 30 May 2018 23:58:28 GMT |
Status:
Status |
---|
| |
---|
subtle | true |
---|
colour | Green |
---|
title | 204 |
---|
|
No Content: if the version is reverted successfullyResponse: Cannot remove current versionwas deleted successfully Status |
---|
| |
---|
subtle | true |
---|
colour | Red |
---|
title | 404 |
---|
|
Not Found: if the version does not existResponse: The requested resource is not available.