CSS Stylesheet |
---|
h3 { background-color: #eee; padding: 0.6em; }
#content .code { margin-left: 2.5em!important; background-color: #fafafa!important; }
.pdl .syntaxhighlighter table td.code .container, .syntaxhighlighter .line.alt2, .syntaxhighlighter .line.alt1 { background-color: #fafafa!important; } |
Table of Contents
Overview
Introduction
Excerpt |
---|
The Fedora 4 HTTP API is generally a RESTful API. HTTP methods like GET, PUT, POST and DELETE are implemented on most resource paths. The API also relies heavily on content negotiation to deliver context-appropriate responses, and a HATEOAS-driven text/html response (providing a decent GUI experience on top of the repository). |
...
The Fedora 4 RDF-based responses may be serialized as:
- application/n3 (or text/rdf+n3 or text/n3)ld+json
- application/n-quadsapplication/n-triples
- application/rdf+jsonapplicationxml
- text/n3 (or text/rdf+xmln3)
- text/turtleplain
- text/plainturtle (or application/x-turtle)
The text/html response also includes embedded RDFa markup.
The API is based loosely around the Fedora 4 implements the Linked Data Platform 1.0 Architecture, which:
[...] describes the use of HTTP for accessing, updating, creating and deleting resources from servers that expose their resources as Linked Data. It provides clarifications and extensions of the rules of Linked Data [LINKED-DATA]:
- Use URIs as names for things
- Use HTTP URIs so that people can look up those names
- When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL)
- Include links to other URIs, so that they can discover more things
Note: Fedora doesn't currently support blank nodes.
Changes planned
Endpoints
Resources
Repository objects can be loosely divided into two classes of resources:
- Object and containers Containers ("fedora:objectContainer"), containing RDF properties and 0 or more child nodesresources
- Binaries, containing any binary payload (roughly corresponding to Fedora 3 datastreams)
Objects
...
Containers
...
Binary Content
Include Page |
---|
| RESTful HTTP API - Binary ContentContainers |
---|
| RESTful HTTP API - Binary ContentContainers |
---|
|
...
|
Include Page |
---|
RESTful HTTP API - Batch Operations | RESTful HTTP API - Batch Operations | |
Export and Import
excerpt-include |
---|
| RESTful HTTP API - Export and Import |
---|
| RESTful HTTP API - Export and Import |
---|
|
...
|
Include Page |
---|
RESTful HTTP API - Locking | RESTful HTTP API - Locking |
Versioning
Versioning
excerpt-include |
---|
| RESTful HTTP API - Versioning |
---|
| RESTful HTTP API - Versioning |
---|
nopanel | true |
---|
|
Services
Access Roles
excerpt-include |
---|
| RESTful HTTP API - Access Roles |
---|
| RESTful HTTP API - Access Roles |
---|
nopanel | true |
---|
|
Backup and Restore
excerpt-include |
---|
| RESTful HTTP API - Backup and Restore |
---|
| RESTful HTTP API - Backup and Restore |
---|
|
...
Fixity
...
excerpt-include |
---|
| RESTful HTTP API - IdentifiersFixity |
---|
| RESTful HTTP API - IdentifiersFixity |
---|
|
Namespaces
|
Include Page |
---|
RESTful HTTP API - Namespaces | RESTful HTTP API - Namespaces |
|
Node Types
excerpt-include |
---|
| RESTful HTTP API - Node Types |
---|
| RESTful HTTP API - Node Types |
---|
|
...
|
Include Page |
---|
RESTful HTTP API - Search | RESTful HTTP API - Search |
Sitemaps
Transactions
excerpt-include |
---|
| RESTful HTTP API - SitemapsTransactions |
---|
| RESTful HTTP API - Sitemaps Transactions |
---|
|
Include Page |
---|
RESTful HTTP API - Transactions | RESTful HTTP API - Transactions |
Transform
Transform
excerpt-include |
---|
| RESTful HTTP API - Transform |
---|
| RESTful HTTP API - Transform |
---|
|
Workspaces
Include Page |
---|
RESTful HTTP API - Workspaces | RESTful HTTP API - Workspaces |