The Linked Data Platform is a W3C Recommendation that specifies a set of rules for HTTP-based read-write interactions with linked data resources on the web. Rather than defining a new protocol, LDP builds on standard HTTP methods (GET, POST, PUT, DELETE, PATCH) and existing web architecture to provide consistent conventions for managing RDF resources and collections of resources called containers.
Background
The Semantic Web ecosystem had well-established standards for querying RDF data (SPARQL) and describing it (RDF, OWL, SKOS), but lacked a standard approach for creating, editing, and organizing linked data resources via HTTP. Different implementations had developed ad hoc REST patterns, making interoperability difficult. The W3C Linked Data Platform Working Group was chartered in 2012 to address this gap. The resulting specification became a W3C Recommendation on 26 February 2015.
Purpose & Scope
LDP defines how HTTP servers should behave when clients interact with linked data resources. It introduces two primary abstractions: LDP Resources (LDPRs) and LDP Containers (LDPCs). An LDP Resource is any HTTP-accessible resource described using RDF. An LDP Container is a special type of resource that manages a collection of linked resources and supports creating new members via HTTP POST.
The specification defines three container types with increasing levels of relationship management:
| Container Type | Behavior |
|---|---|
| Basic Container | Maintains a simple membership listing using ldp:contains |
| Direct Container | Allows configuring which predicate and subject or object to use for membership triples |
| Indirect Container | Like Direct Container but derives the membership resource from the content of created resources |
LDP also specifies server behavior for content negotiation, ETags for concurrency control, pagination via Prefer headers, and minimal-container retrieval to reduce payload size.
Governance & Maintenance
The specification was produced by the W3C LDP Working Group and published as a W3C Recommendation. Companion documents include the LDP Best Practices and Guidelines, the LDP Primer, and the LDP Paging specification. The specification has been stable since 2015.
Notable Implementations
LDP has been implemented in several triple store and linked data platforms, including Apache Marmotta, Eclipse Lyo, and Trellis LDP. Most significantly, LDP serves as a foundational layer for the Solid project initiated by Tim Berners-Lee, which uses LDP containers as the basis for personal data pods. The Fedora Repository (Fedora Commons) adopted LDP as a core architectural pattern for digital preservation systems.
Related Standards
- Solid -- Builds on LDP to provide decentralized personal data storage with fine-grained access control
- SPARQL -- The query language for RDF data, complementary to LDP's resource management approach
- Fedora Repository -- A digital object repository that implements LDP for managing preservation objects