Skip to content

Linked data platform

der edited this page Nov 9, 2012 · 2 revisions

The Linked Data Platform is a W3C specification, currently at First Pass Working Draft stage. http://www.w3.org/TR/ldp/

While it is not a registry it does provide additional constraints on linked data resources (LDPR) and provides a notion of a mutable container (LDPC) that are relevant to registries.

Vocabulary limitations

LDP imposes restrictions on RDF that can be used. In particular, it limits datatypes in a way that precludes use of skos:notation. This means that full compliance with LDP as currently formulated would not be possible.

Use of dct is encouraged but dct:title and dct:description are restricted to being XML literals.

Use of rdfs:label is restricted to only use for vocabulary terms (!)

Resource API (LDPR)

GET returns an RDF representation of the resource in the usual way, Turtle support is required, RDF/XML support optional.
PUT replaces the whole RDF representation of the resource except for dct:modified and dct:creator which are managed directly by the container. ETag is required to be supported so that a client can do a conditional "If-Match" update.
DELETE to delete a resource.
PATCH is allowed to be supported but no standardized PATCH format is defined.

Container API (LDPC)

Container membership is defined by a set of membership triples with same subject and predicate. Default is for the subject to be the container itself and the predicate to be rdfs:member but a container can override either or post of those.

GET returns a list of members and optionally some description of each member. The amount of information returned for each member is defined by the server. The query string <container>?non-member-properties is used to force return of non-member properties of the container, i.e. only the container metadata. Paging is supported by treating <container>?firstPage as the URI for a page of members, the page should contain a ldp:nextPage link to the next page e.g. <container>?p=2 or rdf:nil if it is the last page. Lacks the ordering capabilities of the Linked Data API.
POST adds a new member to the container, returns 201 with a Location header pointing to the created resource. The "null relative URI <>" in the POST body refers to the entity being created.
PUT only allowed on <container>?non-member-properties and only allowed to update container metadata, not members.
DELETE deletes the container and may or may not delete the contained resources.
Clone this wiki locally