Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


 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.

Excerpt

Table of Contents

Excerpt
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

absoluteUrltrue


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


Status
titleGET
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")

Excerpt

 

Request URI: /path/to/some/resource/fcr:versions

Methods: GET, POST, PATCH

 

Status
titleGET
 
Get a list of the available versions of an object

Request 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:/ -H "Accept-Datetime: Wed, 29 Aug 2018 15:47:50 GMT" http://localhost:8080/rest/path/to/resource/fcr:versions

Response:

Code Block
Status: HTTP/1.1 200302 OKFound


Headers:
	 ETag: W/"671df2a47622331ffb6b70b6156526a67e5ab760"
	 Last-Modified: Date: Wed, 3029 MayAug 2018 2122:0309:5428 GMT
	 Link: <http://www.w3.org/ns/ldp#Resource>;rel="type"
	 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#RDFSource>ldp#Resource>;rel="type"
	 Link: <http://localhost:8080/rest/path/to/resource/fcr:versions/fcr:acl>; www.w3.org/ns/ldp#Container>;rel="acltype"
	 Link: <http://mementowebwww.w3.org/ns#TimeMap>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>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"
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: Accept-Datetime
Location: http://localhost:8080/rest/path/to/resource/fcr:versions/20180829154750
Content-Length: 0
Server: Jetty(9.3.1.v20150714)

Status:

Status
subtletrue
colourGreen
title200
302 Found

Status
subtletrue
colourRed
title400
Bad Request: Accept-Datetime header not properly formatted per RFC-1123

Status
subtletrue
colourRed
title406
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




Not Found: This resource is not versioned or this resource is not exist.

Response: The requested resource is not available.

 

Excerpt

Working with a versions container (a LDPCv)


Request URI: /path/to/resource/fcr:versions

Methods: GET, POST, DELETE


Status
titleGET
 
Get a list of the available versions of an object

Request 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 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: 	 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/1999/02/22-rdf-syntax-ns#> .
@prefix fedora:  <http://fedora.info/definitions/v4/repository#> .
@prefix ldp:  <http://www.w3.org/ns/ldp#> .

<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/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> ;
        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/fcr:versions/20180530210354> .

Status:

Status
subtletrue
colourGreen
title200
OK

Status
subtletrue
colourRed
title404
Status
titleGET
Get a previous version of an object

Request 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:resource>; rel="timegate"
	 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
	 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/1999/ns/ldp#Resource>;rel="type"
 	Link: 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="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
	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 "2018-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/2001/XMLSchema#dateTime> ;
 fedora:lastModifiedBy "bypassAdmin" ;
 fedora:createdBy "bypassAdmin" ;
 rdf:type ldp:RDFSource ;
 rdf:type ldp:Container ;
 fedora:writable true .
* Connection #0 to host localhost left intact
StatussubtletruecolourGreentitle200 OKStatus: StatussubtletruecolourRedtitle404 Not Found: if the version or the resource does not exist

Response: The requested resource is not available.

 

StatuscolourBluetitlePOST Create a new version (memento) of an object.
ldp#> .

<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/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> ;
        rdf:type               ldp:RDFSource ;
        fedora:writable        true ;
        ldp:contains           <http://localhost:8080/rest/path/to/resource/fcr:versions/20180530210300> ;
        ldp:contains           <http://localhost:8080/rest/path/to/resource/fcr:versions/20180530210354> .

Status:

Status
subtletrue
colourGreen
title200
OK

Status
subtletrue
colourRed
title404
Not Found: Versions container resource does not exist.


 


Status
colourBlue
titlePOST
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

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 and the current state of the versionable resource to be versioned when the Memento-Datetime header is present. If no will be preserved.  Any specified body will be ignored.  If, however, the 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:

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
#
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:

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
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, 3029 MayAug 2018 2321:0221:4434 GMT
	Link: <http://mementoweb.org/ns#Memento>; rel="type"
	Location: http://localhost:8080/rest/path/to/resource/fcr:versions/2018053023024420180829212134
	Content-Type: text/plain
	Content-Length: 7168

Body:
Server: Jetty(9.3.1.v20150714)

http://localhost:8080/rest/pathversioning/to/resourcev9/fcr:versions/2018053023024420180829212134

 

Status:

Status
subtletrue
colourGreen
title201
Created: if a new version is created successfully

Status
subtletrue
colourRed
title404
Not Found: if the version container resource does not exist

Status
subtletrue
colourRed
title409
Conflict: if a version with the same timestamp already exists for this resource.

Status
subtletrue
colourRed
title415
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.

Anchorrevertrevert
Status
colourBlue
titlePATCH
Revert to a previous version of an object



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
subtletrue
colourGreen
title201
Created: if a new version is created successfully

Status
subtletrue
colourRed
title400
Bad Request: Request body was empty or invalid.

Status
subtletrue
colourRed
title404
Not Found: if the version container resource does not exist

Status
subtletrue
colourRed
title409
Conflict: if a version with the same timestamp already exists for this resource.

Status
subtletrue
colourRed
title415
Unsupported media type: If a Memento-Datetime is supplied without an accompanying Content-Type header to indicate the mime type.




Status
colourRed
titleDELETE
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
subtletrue
colourGreen
title204
No Content: if the version is reverted successfully

Status
subtletrue
colourRed
title404
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

 


Status
titleGET
 
Get a specific versioned resource

Request 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:  <http://www.w3.org/ns/ldp#> .
@prefix xs:  <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 .

Example:

Code Block
curl -X PATCH http://localhost:8080/rest/path/to/resource/fcr:versions/existingVersionName

 

Response:

Code Block
Status: 204 No Content

Status:

Status
subtletrue
colourGreen
title204
No Content: if the version is reverted successfully
200
OK

Status
subtletrue
colourRed
title404
Not Found: if the version Versions container resource does not exist

Response: The requested resource is not available.

 

Anchor
delete
Status
colourRed
titleDELETE
Remove a previous version of an object

Example:

Code Block
curl -i -X DELETE http://localhost:8080/rest
deleteRequest URI: 
/path/to/
some/
resource/fcr:versions/
versionName
20180829154750


MethodsResponse: DELETE

StatuscolourRedtitleDELETERemove 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/versionName

Response:

Code Block
Status: 204 No Content
Note
Trying to delete the current version of a resource will result in an error.  To revert to an old version of a resource, first revert to the old version using the PATCH method, and then delete the newer version.


Status:

Status
subtletrue
colourGreen
title204
No Content: if the version is reverted successfully StatussubtletruecolourRedtitle400 Bad Request: if trying to delete the most recent version

Response: Cannot remove current version

was deleted successfully

Status
subtletrue
colourRed
title404
Not Found: if the version does not exist

Response: The requested resource is not available.