Request URI: /fcr:transform/{program}
Methods: GET, POST
GET get a resource transformed with the default transform
Request Headers:
Example:
@prefix fedora : <http://fedora.info/definitions/v4/repository#> id = . :: xsd:string ; title = dc:title :: xsd:string; uuid = fedora:uuid :: xsd:string ;
curl "http://localhost:8080/rest/49/3d/24/41/493d2441-0541-41c7-a23b-09d1f17d4a0f/fcr:transform/default"
Response:
Status: 200 OK Headers: Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(8.1.11.v20130520) Body: [{"id":["http://localhost:8080/rest/49/3d/24/41/493d2441-0541-41c7-a23b-09d1f17d4a0f"],"title":[],"uuid":["07630a24-5a0b-4ba7-80ab-0691f68667ce"]}]
Status:
200 OK: if the transform is applied successfully
400 Bad Request: if the program doesn't exist
404 Not Found: if the resource doesn't exist
Note
To reference a stored "program" in the GET form of the fcr:transform service, the LDPath transformation directive must be stored at the following path:
http://localhost:8080/rest/fedora:system/fedora:transform/fedora:ldpath/<program-name>/<resource-type>
Where <program-name> can be any name, and <resource-type> is the type of Fedora resource on which the transform will be applied:
- "fedora:Container"
- "fedora:nonRdfSourceDescription"
- "fedora:Resource"
Example:
- Store a new program.
curl -i -X PUT -H "Content-Type: application/rdf+ldpath" --data-binary "@post.txt" http://localhost:8080/rest/fedora:system/fedora:transform/fedora:ldpath/newprogram/fedora:Container
Response
Status 201 Created Headers: Content-Type: text/plain http://localhost:8080/rest/fedora:system/fedora:transform/fedora:ldpath/newprogram/fedora:Container
2. Get a resource transformed with the stored transform
curl -i http://localhost:8080/rest/pid5/fcr:transform/newprogram
Response
Status 200 OK Header: Server: Apache-Coyote/1.1 Content-Type: application/json Body: [{"id":["http://localhost:8080/rest/pid5"],"title":["some-resource-title"],"description":[],"uuid":["caa7bc6c-b80b-4e30-8ec1-15e90937e3be"]}]
POST get a resource transformed with the supplied transform
Output formats: application/json,text/tab-separated-values,text/csv,text/sse,text/plain,application/sparql-results+json,application/sparql-results+xml,application/sparql-results+bio,text/turtle,text/rdf+n3,application/N-triples,application/rdf_xml
Example:
curl -X POST -H "Content-Type: application/rdf+ldpath" --data-binary "@post.txt" "http://localhost:8080/rest/49/3d/24/41/493d2441-0541-41c7-a23b-09d1f17d4a0f/fcr:transform" Body: @prefix fcrepo : <http://fedora.info/definitions/v4/repository#> id = . :: xsd:string ; title = dc:title :: xsd:string; uuid = fcrepo:uuid :: xsd:string ;
Response:
Status: 200 OK Headers: Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(8.1.11.v20130520) Body: [{"id":["http://localhost:8080/rest/49/3d/24/41/493d2441-0541-41c7-a23b-09d1f17d4a0f"],"title":[],"uuid":["07630a24-5a0b-4ba7-80ab-0691f68667ce"]}]
Status:
200 OK: if the transform is applied successfully
400 Bad Request: if there was an error parsing or processing the transform
404 Not Found: if the resources doesn't exist