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

Hi Henry,

On 06/05/2013 05:39 PM, Henry Story wrote:
>
> On 5 Jun 2013, at 20:26, Alexandre Bertails <bertails@w3.org> wrote:
>
>> On 06/05/2013 02:05 PM, Henry Story wrote:
>>>
>>> Well, I just proved it from basic principles. You can decide not to
>>> be convinced, but that is beyond the reaches of reason then. If you
>>> explained what did not convince you then one could progress.
>>
>> Henry, I just wanted to make clear that I didn't agree that you proved
>> anything. The same questions remain: text/turtle does not tell you
>> that you can infer the interaction with a resource by looking at its
>> RDF type.
>
> Whoever told you that a mime type should tell you anything about how
> to interact with a resource?

The answer starts with the Media Types specification [1]. It tells you
what you should do when you find text/turtle. Basically, you have to
consult the central registry. The current one for Turtle is at [2] and
refers to the Team Submission at [3]. I guess it will point to the
Recommendation when the spec reaches that stage (I don't know the full
process).

In other terms, text/turtle is just Turtle, which is just a
serialization for RDF among others. And to find out what I can do with
Turtle, one just has to read the Turtle specification, which itself
refers to RDF.

That's basically what happens all the time on the Web. Other people
will follow the same path. And that's why my recurring question is:
where can somebody find the interactions defined by LDP (or even the
SPARQL Graph Store protocol) when reading those specs?

Webarch [4] also recalls this scenario.

[1] http://tools.ietf.org/html/rfc2046
[2] http://www.iana.org/assignments/media-types/text/turtle
[3] http://www.w3.org/TeamSubmission/2008/SUBM-turtle-20080114/
[4] http://www.w3.org/TR/webarch/

> The role of the mime type is just to tell
> you what the type of the bytes in the body that constitute the
> representation returned by the resource are. That and a few other
> headers will allow you to parse those bytes to reconsitute the media
> sent to you.

That's right: text/turtle just tells me that I have some RDF
serialized as Turtle. Nothing more.

>
> Where do you get the idea that mime types should do anything else? (spec
> text to  support your point of view would be helpful here).
>
> Put it another way: if you did put the information in the mime type that
> the resoure was an LDPC, using your hypothetical
>
>     text/turtle+ldpc

I agree that this approach would not work. And that's why we were
proposing application/ldp+turtle instead! By the way, if you read the
Media Types specification, you'll learn about the meaning of text and
application as top-level media types.

The specification that speaks about the suffixes is at [5]. Basically,
we would just need a new entry for +turtle at [6].

[5] http://tools.ietf.org/html/draft-ietf-appsawg-media-type-suffix-regs-04
[6] 
http://www.iana.org/assignments/media-type-structured-suffix/media-type-structured-suffix.xml

>
> why would that be any more reliable about  the resource being an LDPC
> than the content of a text/turtle graph just containing the triple
>
>    <> a ldp:Container .

Let's say that looking at the RDF types is the way to go, just for a
moment:
* how do I know that <foo> is an LDPR?
* how do I know that <foo> is neither an LDPC nor an LDPR?
* how do I know that I can interact with <foo> using the SPARQL Graph 
Protocol?
* if I find out that <foo> a ldp:Container while looking at <bar>,
   should I consider this information as authoritative?

>
> After all mime types could also be wrong ( especially as you are adding
> semantic information now to the mime type, rather than syntactic
> information ! )

You're not supposed to override the semantics for a mime-type. The
only exception that I know of is HTML5 which defines sniffing.

>
> So text/turtle+ldpc does not give you any more reliable information that
> putting the information in the body.
>
> If you want it in the header than just use the Link header to put that.

The Link header is used to describe the relationship with other
resources and that's another use-case. See [7].

[7] http://tools.ietf.org/html/draft-nottingham-http-link-header-10

>
> The mime type is to describe the type of the body of the HTTP message.
> But what we need to do is describe the resource which we are going to interact
> with. That is what Resource Description Framework is for.

I'd be happy to be pointed at the spec that explains how this works
in our case.

Alexandre.

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

Received on Thursday, 6 June 2013 00:11:09 UTC