- From: Kingsley Idehen <kidehen@openlinksw.com>
- Date: Mon, 10 Jun 2013 12:27:15 -0400
- To: public-ldp-wg@w3.org
- Message-ID: <51B5FE63.2000500@openlinksw.com>
On 6/10/13 12:04 PM, Henry Story wrote:
>
> On 10 Jun 2013, at 17:18, Arnaud Le Hors <lehors@us.ibm.com
> <mailto:lehors@us.ibm.com>> wrote:
>
>> Hi,
>>
>> We all agree that somehow a client needs to be able to figure out it
>> is dealing with an LDP server. The argument seems to be about how the
>> client makes that determination. From what I've seen we have two
>> groups of people.
>>
>> One group thinks that RDF provides all the client needs. The RDF
>> typing a la ldp:Container is the indicator. I believe this would mean
>> that an LDPR must also be typed with something LDP specific but I'll
>> leave that out for now.
>
> That's me
>
>>
>> The other group argues that this is something the client should be
>> able to figure out just from the information contained in the HTTP
>> layer. Using a new mediatype would be one way to do that. It could be
>> a new mediatype entirely or one derived from existing mediatypes
>> using the profile mechanism.
>>
>> I believe both techniques can work but they have different pros and
>> cons.
>
> The second technique contains 2 different proposals, one of which I am
> for the other against.
>
> I argue strongly against using mediatypes as it is mistaking syntax
> with semantics. Simply put: the content in bytes sent from the server
> to the client
> is known as a representation of the resource ( it has a syntax defined
> by its mime type ) One CANNOT apply the method
> GET/POST/DELETE, etc on a representation - a stream of bytes - one can
> only do that on a resource, which is what the
> URI ( Uniform Resource Identifier ) refers to in { <> a ldp:Container }
>
> But I am not against using HTTP headers to express something about the
> resource that is the container.
> As it turns out one can use the Link relation to do that with (
> http://tools.ietf.org/html/rfc5988 )
>
> Link: <http://www.w3.org/ns/ldp#Container>;
> rel="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
>
> Perhaps we could do the HTTP/RDF community a favor to register the
> relation
> http://www.w3.org/1999/02/22-rdf-syntax-ns#type to the shorthand
> "type" so that
> the above could become
>
> Link: <http://www.w3.org/ns/ldp#Container>; rel="type"
+1
>
>> Here is my analysis:
>>
>> Relying on RDF alone has the advantage of not requiring anything new
>> at the HTTP level. On the other hand it requires everything to be
>> typed for LDP specifically and it ties the interaction model to the
>> LDP vocabulary which can be seen as limiting.
>
> Why would that be limiting? And why should we care if people wrongly
> see it to be tied to ldp vocabulary?
> Other vocabualries can be invented and add more restrictions, that's
> just the nature of RDF.
+1
>
>>
>> For instance, if I happen to retrieve some LDP content from an LDP
>> server and decide to store it into a vanilla, non-LDP enabled, triple
>> store a client accessing that triple store would be misled to think
>> it is talking to an LDP server when it's not. The counter argument to
>> this is that this is simply something one shouldn't do: one shouldn't
>> serve LDP content from a non-LDP server.
>
> exactly. That is no different than if an IBM employee mistyped a form
> on IBMs e-commerce site. We don't try to make
> forms meaningless in order to avoid such accidents happening. We
> rather give forms a meaning in human readable
> text surrounding it, and then set up test suites and feedback
> mechanisms to catch errors.
+1
>
>>
>> Relying on HTTP to provide the indicator that this an LDP server has
>> the advantage of allowing the LDP interaction model to be applied on
>> resources that are not specifically typed for LDP (the spec doesn't
>> currently require typing of LDPRs). It also allows LDP content to be
>> served by non-LDP servers without implying support of the LDP
>> interaction model.
>
> But then you have just pushed the problem one little step further
> along, because however you describe your
> interaction model, once you allow it to describe something - ie to
> make some distinction in the world -
> then you inevitably allow the distinction to be made truely or
> falsely, ie for the description to correspond
> to the way the world is or not. So your distinction will imply
> support of some interaction model then, and you'll have the
> same problem.
+1
>
>>
>> On the other hand this requires defining something beyond the
>> existing RDF mediatypes already in use for non-LDP purposes. Defining
>> a new mediatype entirely or as a profile seems pretty heavy to me.
>> But that's not the only way. Another way to communicate that the
>> server supports the LDP interaction model would be to add an HTTP
>> header. One such possibility would be to have a Link header with a
>> rel=profile and a link to an LDP specific profile a la
>> http://www.w3.org/ns/ldp/profileas the target.
>
> So as argued above you can use the Link header and also use the
> ldp:Container there in the same
> way as you do with the body. What is the profile adding?
+1
> What vocabulary would need to be used to
> describe the profile? Do we need this now or can we add it later?
> Unless those questions are answered
> this seems like a lot of work to do when we can just use ldp:Container
> to mean: you can POST to this
> container.
+1
Kingsley
>
>>
>> According to Erik while this isn't common (the spec is very recent)
>> it would be reasonable.
>>
>> I think this is the way we should go. If some people want to ignore
>> the Link header they are welcome to do so and it is there for those
>> who care.
>>
>> Comments?
>>
>> Thanks.
>> --
>> Arnaud Le Hors - Software Standards Architect - IBM Software Group
>
> Social Web Architect
> http://bblfish.net/
>
--
Regards,
Kingsley Idehen
Founder & CEO
OpenLink Software
Company Web: http://www.openlinksw.com
Personal Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca handle: @kidehen
Google+ Profile: https://plus.google.com/112399767740508618350/about
LinkedIn Profile: http://www.linkedin.com/in/kidehen
Attachments
- application/pkcs7-signature attachment: S/MIME Cryptographic Signature
Received on Monday, 10 June 2013 16:27:38 UTC