3. 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
What is LDP?
Linked Data Platform 1.0
http://www.w3.org/TR/ldp/
W3C Last Call Working Draft 16 Sep 2014
4. A bit of history….
2007 Linked Data Design Issues
http://www.w3.org/DesignIssues/LinkedData.html
2010 Linked Media Principles
https://code.google.com/p/lmf/wiki/PrinciplesLinkedMedia
2011 Linked Data Basic Profile 1.0
http://www.w3.org/Submission/ldbp/
2012 Linked Data Platform 1.0
http://www.w3.org/2012/ldp/
5. 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
LDP provides clarifications and extensions of the
rules of Linked Data principles, providing a
specification that describes the use of HTTP for
accessing, updating, creating and deleting
resources from servers that expose their resources as
Linked Data
6. Terminology
● Linked Data Platform Resource (LDPR)
an HTTP resource
● Linked Data Platform RDF Source (LDP-RS)
an LDPR whose state is fully represented in RDF,
corresponding to an RDF graph
● Linked Data Platform Non-RDF Source (LDP-NR)
an LDPR whose state is not represented in RDF
● Linked Data Platform Container (LDPC)
a LDP-RS representing a collection of LDPR
● Linked Data Platform Basic Container (LDP-BC)
an LDPC that defines a simple link to its contained resources
● Linked Data Platform Direct Container (LDP-DC)
an LDPC that adds the concept of membership,
allowing the flexibility of choosing what form takes
● Linked Data Platform Indirect Container (LDP-IC)
an LDPC similar to a LDP-DC that is also capable of having
members whose URIs are based on its contained
documents rather than the URIs assigned to those
documents
8. LDP server and resources
a LDP server manages two kinds
of resources:
● those resources whose state
is represented using RDF
(LDP-RSs)
● and those using other
formats (LDP-NRs)
Such servers do not impose any restriction on LDPRs and
generally act as storage systems without any domain specific
application logic and vocabularies.
9. LDP concepts in a glance
● LDP covers read and write interactions with resources
● Writable aspects include creation of new resources (using POST or
PUT), updates (using PUT or PATCH), and deletion of resources.
● Resource creation is an essential feature providing structured
creation of resources.
● During creation the created resource is added to its Container and
a containment link between the Container and the new entry is
made.
10. LDP Containers
a LDPC is a specialization of a
LDP-RS representing a collection
of links to other resources
responds to client requests for
creation, modification, and/or
enumeration of its members
The simplest container is the Basic Container (LDP-BC). It defines the
basic containment described using a generic vocabulary. This can be
used in a generic storage service to manage a containment hierarchy
of arbitrary resources
11. LDP Containers (II)
Containers can contain other containers. This can be done by
POSTing (a child) container representation to a (parent) container.
12. LDP Direct Containers
A Direct Container is a specialisation
of a Basic Container.
Additional assertions called
membership triples which use a
domain-specific vocabulary are made
by a Direct Container as part of the
creation process.
The membership triples augment the
containment triples maintained by all
containers.
LDP-DCs are used for the
management custom scenarios,
where use of existing vocabulary is
preferable.
15. LDP protocol particularities
● LDP defines two interaction models:
○ LDPC by default, which creates a container
accepting the creation of resources
○ LDPR creates resources which does not
accept creation of new resources.
● LDP reuses some things from Atom (RFC 5023):
○ The Slug header is used for requesting
naming resources on creation
○ The Prefer header is used optionally by
clients to supply a hint to help the server
form a response that is most appropriate
16. LDP in Apache Marmotta
● Since version 3.2.0 Marmotta is compatible
with LDP 1.0 drafts
● Although not full support:
○ LDP-DC and LDP-IC are not (yet?) supported
● LDP support is provided under /ldp
○ requests to /resource are still managed
following the old Linked Media Principles
17. References:
● Linked Data Platform 1.0
http://www.w3.org/TR/ldp/
W3C Last Call Working Draft 16 September 2014
● Linked Data Platform 1.0 Primer
http://www.w3.org/TR/ldp-primer/
W3C First Public Working Draft 26 June 2014
● Linked Data Platform Best Practices and Guidelines
http://www.w3.org/TR/ldp-bp/
W3C Working Group Note 28 August 2014
● Linked Data Platform Implementation Conformance Report
https://dvcs.w3.org/hg/ldpwg/raw-file/default/tests/reports/ldp.html
Unofficial Draft 15 October 2014
● Linked Data Platform 1.0 Test Cases
https://dvcs.w3.org/hg/ldpwg/raw-file/tip/tests/ldp-testsuite.html
Unofficial Draft 15 October 2014