W3C

Edit comment LC-2915 for Linked Data Platform (LDP) Working Group

Quick access to

Previous: LC-2936 Next: LC-2925

Comment LC-2915
:
Commenter: Reto Gmür <reto@apache.org>

or
Resolution status:

Hi,


More than one year has passed since Pierre-Antoine Champin explained why
specifying LDP using the concept of "null relative URI" is problematic
[1]. Unfortunately the concept of "null relative URI" is still in the
latest version of the spec. This ties the LDP spec to some RDF
serializations and probably violates RFC3986 according to which the
*sender* is responsible for making sure that a base URI for the relative
references can be established.

But the main point that LDP is no longer defined in terms of the abstract
RDF syntax shows to be problematic when using higher level abstraction
frameworks such as JAX-RS (the java standard for REST) to implement and
LDP server or client.

A method that returns an RDF representation of a Resource would typically
be defined like this:

@GET
public Graph getResourceDescription();

The JAX-RS runtime (more specifically so called MessageBodyWriters) will
take care of serializing the returned graph into the format preferred by
the client.

One would define a method that handles post requests with an RDF Graph as
message body like this:

@POST
public Response postResourceDescritption(Graph graph);

Unfortunately this doesn't work to handle LDP POST requests as the message
body cannot be converted to an RDF Graph until some application logic
defined the URI for the new resource. All work around are quite horrible.
One would be to have a type RelativeGraph to which text/turtle can be
deserialized without a base URI, another one would be to take a String as
argument and take care of the deserialization in the application code.


Pierre-Antoine original solution proposal included the usage of BNodes. As
some people have strong feelings against BNodes this elegant approach
might have been precociously discarded by some.

A quick fix would be to simply define "null relative URI" (which is
currently undefined both in LDP as well as in RFC 3986/3987) as
http://www.w3.org/ns/ldp/null-relative/.


Cheers,
Reto



1. http://lists.w3.org/Archives/Public/public-ldp-wg/2013Mar/0077.html
(space separated ids)
(Please make sure the resolution is adapted for public consumption)


Developed and maintained by Dominique Hazaël-Massieux (dom@w3.org).
$Id: 2915.html,v 1.1 2017/08/11 06:47:09 dom Exp $
Please send bug reports and request for enhancements to w3t-sys.org