Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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

Expand

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)application/n-quadsld+json
  • application/n-triples
  • application/rdf+jsonapplicationxml
  • text/n3 (or text/rdf+xmln3)
  • text/trigplain
  • text/turtle (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]:

  1. Use URIs as names for things
  2. Use HTTP URIs so that people can look up those names
  3. When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL)
  4. Include links to other URIs, so that they can discover more things

...

  • Asynchronous API support

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

...

Binary Content

...

Containers

Excerpt Include
RESTful HTTP API - Containers
RESTful HTTP API - Containers
nopaneltrue

...

Batch Operations

Include Page
REST API - Batch OperationsREST API - Batch Operations

Export and Import

 

excerpt-include
REST RESTful HTTP API - Export and ImportREST
RESTful HTTP API - Export and Import
nopaneltrue

Versioning

 

excerpt-include
REST RESTful HTTP API - VersioningREST
RESTful HTTP API - Versioning
nopaneltrue

Services

 Access Roles

 

excerpt-include
REST RESTful HTTP API - Access RolesREST
RESTful HTTP API - Access Roles
nopaneltrue

Backup and Restore

 

excerpt-include
REST RESTful HTTP API - Backup and RestoreREST
RESTful HTTP API - Backup and Restore

 Fixity

...

nopaneltrue

...

Fixity

...

 

excerpt-include
REST RESTful HTTP API - IdentifiersFixityREST
RESTful HTTP API - IdentifiersFixity

Namespaces

...

nopaneltrue

Node Types

 

Excerpt Include
RESTful HTTP

...

Node Types

Include Page
REST API - Node TypesREST
RESTful HTTP API - Node Types

...

nopanel
Include Page
REST API - SearchREST API - Search

Sitemaps

...

true

 

Transactions

 

Excerpt Include
RESTful HTTP API - Transactions
RESTful HTTP API - Transactions
nopaneltrue

Transform

 

Excerpt Include
RESTful HTTP API - Transform
RESTful HTTP API - Transform
nopaneltrue

...

Transactions

...

Transform

...

Workspaces

Include PageREST API - WorkspacesREST API - Workspaces