W3C home > Mailing lists > Public > public-ldp-wg@w3.org > June 2013

Re: An IRC discussion with Alexandre Bertails re SSUE-19:

From: Henry Story <henry.story@bblfish.net>
Date: Thu, 6 Jun 2013 23:52:04 +0200
Cc: Roger Menday <roger.menday@uk.fujitsu.com>, Pierre-Antoine Champin <pierre-antoine.champin@liris.cnrs.fr>, Linked Data Platform Working Group <public-ldp-wg@w3.org>
Message-Id: <ECB142EE-88E8-49EE-9346-F693BE3533A9@bblfish.net>
To: Alexandre Bertails <bertails@w3.org>

On 6 Jun 2013, at 19:56, Alexandre Bertails <bertails@w3.org> wrote:

> On 06/06/2013 11:19 AM, Henry Story wrote:
>> On 6 Jun 2013, at 16:06, Alexandre Bertails <bertails@w3.org> wrote:
>>>>>> Well, when you find the following HTML
>>>>>>  <form action="foo" method="foo">
>>>>>> at <bar>, do you believe it? Do you try and perform a POST on <foo>?
>>>>>> I guess the answer is the same: if you trust the source, then yes,
>>>>>> you're allowed to start interacting with <bar> as if it were an LDPC.
>>>> When a form is submitted, the processor (indicated by the 'action'
>>>> parameter) is doing something pretty similar to a LDPC. I suppose the
>>>> HTML equivalent of issue-73, would be "list all of requests that have
>>>> been processed". For me, this isn't very interesting because the
>>>> information I need is in the documents I am browsing.
>>> The semantics of <form> is defined in HTML, which tells the web
>>> browser what to do with it. I don't have any problem with that.
>> Good. So take the RDF semantics document http://www.w3.org/TR/rdf-mt/
>> which defines the semantics of RDF syntaxes.
>> It defines truth as
>> ~~~~~~~~~~~~~~~~~~~~~
>> if E is a ground triple s p o. then I(E) = true if
>> s, p and o are in V, I(p) is in IP and <I(s),I(o)> is in IEXT(I(p))
>> otherwise I(E)= false.
>> ~~~~~~~~~~~~~~~~~~~~~
>> So this is
>> I ({ <log> a ldp:Container }) = true
>> if <log>, rdf:type and ldp:Container are in V ( they are once transformed into absolute URLs )
>> I(rdf:type) is in IP - it is a property, so yes.
>> <I(<log>, I(ldp:Container> is in IEXT(I(rdf:type)) - well that depends on the the definition
>> of ldp:Container which is defined by the LDP spec
>> as explained by the definition of the ldp namespace document:
> I have to say that I don't understand that part. How do you fix the
> interpretation of ldp:Container to be its definition in the document
> that you dereference at http://www.w3.org/ns/ldp? Isn't it introducing
> something that is not defined in RDF? I thought that RDF was not
> relying on HTTP on purpose.

As I said RDF relies just on URI refering to resources. The logical layer
does not need more than that. But that does not mean that other specs such
as the definition of http URIs can't define the mechanisms to use to GET
the referent of non #tag uris.

>> ~~~~~~~~~~~~~~~~~~~~~
>> $ curl -H "Accept: text/turtle" http://www.w3.org/ns/ldp
>> ...
>> ldp:Container     a :Class;
>>          :comment """A Linked Data Platform Resource (LDPR) that also conforms to
>>     additional patterns and conventions for managing membership.
>>     Readers should refer to the specification defining this ontology for the list of
>>     behaviors associated with it.""";
>>          :isDefinedBy ldp:;
>>          :label "Container";
>>          :subClassOf ldp:Resource;
>>          vs:term_status "unstable" .
>> ...
>> ~~~~~~~~~~~~~~~~~~~~~~~~
>> and so the question is whether <log> indeed fulfills the restrictions defined
>> by LDP. It could be that the definition of the LDP spec is not complete enough to
>> make any intelligent distinction.... That is where the question should be.
> Of course, that works assuming that the interpretation is related to
> what you dereference (btw, RDF does not tell you how to find
> #Container in http://www.w3.org/ns/ldp).

Well in practice it does since the everybody knows how to get the reference
of http:// ... uris.

One could point to http://tools.ietf.org/html/rfc3986
 The resolution of some
   URIs may require the use of more than one protocol (e.g., both DNS
   and HTTP are typically used to access an "http" URI's origin server
   when a representation isn't found in a local cache).

But perhaps you could put a bit of energy yourself into this
and not make me do all the work of searching for specs.

> But let's pretend that it works, just for a moment, and let's go back
> to the questions that you erased and didn't answer:

I absolutely did not erase the question. I answered it here:

I later wrote another mail answering the semantic question in more
detail here:

> * how do I know that <foo> is an LDPR?
> -> there is no rdf:type defined for it, and I'm pretty sure that we
>   don't want one

$ curl -H "Accept: text/turtle" http://www.w3.org/ns/ldp
:Resource a rdfs:Class;
        rdfs:comment "A HTTP-addressable resource with a linked data representation.";
        vs:term_status "unstable";
        rdfs:isDefinedBy :;
        rdfs:label "Resource".

It is defined as an rdfs:Class there.
The definition is probably not precise enough. That is another issue.

> * how do I know that <foo> is neither an LDPC nor an LDPR?
> -> it's hard to say because of the open world assumption, unless you
>   close that world, eg. the document at <foo>

You don't need to close the world. You just need to decide who you trust,
or what graphs you take to be true. If the LDP spec is well written
there will be a fact of the matter as to which is true, which you can 
arrive at through careful analysis with knowledgeable people.

> * how do I know that I can interact with <foo> using the SPARQL Graph Protocol?
> -> yeah, how do I know that by the way?

No idea. I am not into SPARQL Graph protocol. Perhaps you can detail this issue,
but we have been told no longer to go into this debate. So perhaps off list?

> * if I find out that <foo> a ldp:Container while looking at <bar>,
>  should I consider this information as authoritative?
> -> as we're assuming that your explanation works, consider that you
>   have answered this one already
> Also:
> * if I agree that "any resource that yields a Turtle representation
>  becomes de facto an LDPR (even if read-only)" (quoting
>  Pierre-Antoine Champin), then with the same reasoning, should I
>  consider <foo> as a named graph as well, according to the SPARQL
>  Graph Protocol?
> -> then I hope that they will never define contradictory interactions

You don't need to assume that everything you see on the web is consistent.
In fact quite the opposite: you should not.


> Alexandre.
>> Henry
>> Social Web Architect
>> http://bblfish.net/

Social Web Architect
Received on Thursday, 6 June 2013 21:52:35 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:11:51 UTC