The W3C Linked Data Platform (LDP) specification describes a set of best practices and simple approach for a read-write Linked Data architecture, based on HTTP access to web resources that describe their state using the RDF data model. Fedora 4 implements the LDP specification for create, read, update and delete (CRUD) operations, allowing HTTP, REST, and linked data clients to make requests to Fedora 4.
The LDP Working Group has published several documents of interest:
The following is a list of the salient ways Fedora 4 supports LDP:
- The web interface shows LDP relations under the children section for a resource.
- Fedora 4 supports all LDP containers.
- Fedora 4 uses LDP terminology to describe resources and associated properties (e.g. NonRdfSource and http://www.w3.org/ns/ldp#contains).
- LDP compliance is checked via invoking LDP Test Cases. Fedora 4 integration tests rely on the specification provided LdbTestSuite library for verification.
- Properties of a resource can be selected via XPath-style LDPath queries.
The main LDP-related implementation resides in the fcrepo-kernel and fcrepo-kernel-impl modules. Transforms are provided by the Apache Marmotta LDPath library.