Re: Practical issues arising from the "null relative URIs"-hack

On Thu, Apr 3, 2014 at 10:37 AM, Sergio Fernández <
sergio.fernandez@salzburgresearch.at> wrote:

> Hi,
>
>
> On 01/04/14 18:09, henry.story@bblfish.net wrote:
>
>>
>> On 1 Apr 2014, at 15:10, Martynas JuseviÄius <martynas@graphity.org>
>> wrote:
>>
>>  Great point, Kingsley. One possible explanation (just a wild guess):
>>> so that the companies involved with LDP can soon claim "W3C standard
>>> compliance" while knowing that no one else will bother to implement
>>> such a specification?
>>>
>>
>> I can easily proove this wrong.
>>
>> I am implementing LDP mostly on my own with very little money and under
>> an Apache 2.0 licence and have had no trouble with any of the issues
>> mentioned in this thread.
>>    You can check out the code here:
>>     https://github.com/stample/rww-play
>>
>>   It uses Java frameworks and relative URIs as well as relative graphs.
>> It uses banana-rdf which allows us to abstract away either Jena or Sesame.
>> I am not yet at the point where I can switch from one framework to the
>> other
>> on the command line ( because that was not my priority ) but I could do
>> that in
>> a few days.
>>
>> So the "practical issue" discussed here is really very theoretical IMHO.
>>
>
> +1
>
> I've been following this thread closely, quite surprised the discussion
> has caused. For me it's is clear that the spec can be easily implemented;
> Henry has demonstrated that, but also others we have been able to do it
> without a huge effort.
>
> So, summing up, for me the discussion has started from a wrong assumption
> from the very beginning. Because using the limitations of a concrete API to
> discuss the fundamentals of a new technology is not the right approach. The
> limitation of MessageBodyWriters in JAX-RS 2.0 with respect of RDF parsing
> is not a valid argument at all. Or at least that's my point of view.
>

There seems to be a misunderstanding here: the problem is a breach in the
RDF abstraction layer.  Pierre-Antoine pointed this out more than one year
ago.The issue was not fixed and I've just a shown a practical consequences
this has. This is not a limitation of MessageBodyReaders in JAX-RS but an
illustration of the consequence of designing LDP against concrete
serializations rather than against RDF. As Henry pointed out, one can
implement this in JAX-RS by accepting a string rather than a graph.

An analogy:
In HTTP the field names for the headers are case-insensitive, a client may
send the header as they prefer. The specification XY breaks the abstraction
layer and says that the host header is to be handled differently depending
on it's casing. It can be implemented, so what's the bid deal? Many server
side framework forward the casing of the header to the application
(servlet) and there are some philosophical/linguistic argument that the
casing is exactly the right way to indicate the different handling between
HOST and host. Besides HTTP explicitly allows sending the header in the
preferred casing.  Now I've shown that the "hack" has practical
consequences in some framework which forwards the headers to the
application as header-objects rather than as strings. I'm told that my
framework sucks and that I should directly create a socket listener to
listen to what comes over the network.

Well the XY specification doesn't base on HTTP and LDP doesn't base on RDF.
LDP can be honest about this and introduce the concept of Relative RDF then
implementations could again rely on an abstraction layer, e.g. using a
MessageBodyReader for RelativeGraph.

Cheers,
Reto




> Cheers,
>
> --
> Sergio Fernández
> Senior Researcher
> Knowledge and Media Technologies
> Salzburg Research Forschungsgesellschaft mbH
> Jakob-Haringer-Straße 5/3 | 5020 Salzburg, Austria
> T: +43 662 2288 318 | M: +43 660 2747 925
> sergio.fernandez@salzburgresearch.at
> http://www.salzburgresearch.at
>

Received on Thursday, 3 April 2014 10:03:49 UTC