Re: ldp-ISSUE-11 (Server-managed properties): Do we need to define server-managed properties or do we leave them to applications? [Linked Data Platform core]

On 19 Dec 2012, at 12:52, Pierre-Antoine Champin <pierre-antoine.champin@liris.cnrs.fr> wrote:

> Henry,
> 
> 
> On Mon, Dec 17, 2012 at 3:58 PM, Henry Story <henry.story@bblfish.net> wrote:
> I wonder if this does not raise the issue that one should at some point in the spec distinguish what the server says and what the content says. I think HTTP headers is what the server is saying about the content.
> 
> I'm affraid the distinction may not always be that crisp. As long as your resource is not just static content PUT there by a user, but something dynamically computed (e.g. with PHP), then what you GET in the body is produced both by the author of the resource *and* by the server performing the computation.

I am saying: headers are statements made by the server.
You reply: content in the body may also be a statement the server contributed to. 

Your reply does not invalidate that point. Clearly sometimes the content is a statement made by the
 server such as with the bodies to responses that have error response codes.

Secondly the fact that PHP or server CPU is involved in generating content 
does not mean it is the  server that is making a claim. My brain is involved in 
processing statements you make in this mail, but I don't jump to the conclusion 
that I am making those statements.


> 
> In the case of LDP, some resources may have server-computed properties, some of which may be application-dependant, hence not belong to the HTTP headers. A collection might for example compute aggregate value on the items they contain (total cost of my shopping cart, for example).

If you look at the body of the content, then an LDP collection is clearly the type of thing you'd expect
to be a statement made by the server. It is in the namespace of the server and it is pointing to other
things that it is in control of. 

If you think of the server and the shop as one entity then you can mix the information that both are making.
If on the other hand the server is just hosting files about sales that other people are making, then it needs
to be able to distinguish those statements from statements it is making. 

So sometimes many different people share beliefs, sometimes a group of people get together to make
a statement, but you often need to know who is making a statement to be able to assess your relation to it,
or even if it has any value at all. Only priests can marry, only chairs can close sessions.... ( simplifying of course)

> 
> So I think the case of server-computed properties should be considered. Obviously, I agree with Raúl that the WG should not limit that list to a predefined set.
> 
>   pa
>  
> I think it is clear that the HTTP headers is the space for the server to make statements, such as last modified and who made the edit - as the server can factually know this. The content on the other hand is something said by the content creator. Now the question is then is in true that the following equivalence is true in n3
> 
>  { { <> dc:author ?a } = ?doc } <=> { ?doc dc:author ?a } }

  or stated more carefully

   // for log see http://www.w3.org/2000/10/swap/doc/CwmBuiltins
  @prefix log: <http://www.w3.org/2000/10/swap/log#> . 
   
  { ?doc log:includes { <> dc:author ?a }  } <=> { ?doc dc:author ?a } }

So if you accept the above then the server must maintain control over dc:author

If you model the server as host content said by someone else, then you could have
the following:

  <doc1> dc:author <jack> ;
          dc:updated "2012-12-12" 
          log:includes { <> a document;
                                      dc:author  <http://dbpedia.org/resource/Jean_Jacques_Rousseau>;
                                      dc:updated "1777-07-08"  .
                              }


now this is contradictory only if one can have one author. But it does show that the server
should perhaps have a more limited notion of authorship, more something like - controllership of
a resource. in which case it would make sense to have a document that was authored by 
someone, yet controlled by someone else. Perhaps this is better:

  <doc1> controlledBy <jack> ;
          dc:updated "2012-12-12" 
          log:includes { <> a document;
                                      dc:author  <http://dbpedia.org/resource/Jean_Jacques_Rousseau>;
                                      dc:updated "1777-07-08"  .
                              }

Henry

> 
> 
> On 2 Oct 2012, at 16:14, Linked Data Platform (LDP) Working Group Issue Tracker <sysbot+tracker@w3.org> wrote:
> 
> > ldp-ISSUE-11 (Server-managed properties): Do we need to define server-managed properties or do we leave them to applications? [Linked Data Platform core]
> >
> > http://www.w3.org/2012/ldp/track/issues/11
> >
> > Raised by: Raúl García Castro
> > On product: Linked Data Platform core
> >
> > "4.4.1 If HTTP PUT is performed on an existing resource, BPR servers must replace the entire persistent state of the identified resource with the entity representation in the body of the request. The only recognized exception are the properties dcterms:modified and dcterms:creator that are never under client control - BPR servers must ignore any values of these properties that are provided by the client."
> >
> > I think that saying that dcterms:modified and dcterms:creator cannot be modified by clients is an application-specific restriction.
> >
> > I would not include it, but if you think that it is relevant, I would rewrite it in the style of 5.5.2:
> > "BPR servers MAY ignore server managed properties such as dcterms:modified and dcterms:creator".
> >
> >
> >
> >
> 
> A short message from my sponsors: Vive la France!
> Social Web Architect
> http://bblfish.net/
> 
> 
> 
> 
> On Mon, Dec 17, 2012 at 3:58 PM, Henry Story <henry.story@bblfish.net> wrote:
> I wonder if this does not raise the issue that one should at some point in the spec distinguish what the server says and what the content says. I think HTTP headers is what the server is saying about the content. I think it is clear that the HTTP headers is the space for the server to make statements, such as last modified and who made the edit - as the server can factually know this. The content on the other hand is something said by the content creator. Now the question is then is in true that the following equivalence is true in n3
> 
>  { { <> dc:author ?a } = ?doc } <=> { ?doc dc:author ?a } }
> 
> 
> On 2 Oct 2012, at 16:14, Linked Data Platform (LDP) Working Group Issue Tracker <sysbot+tracker@w3.org> wrote:
> 
> > ldp-ISSUE-11 (Server-managed properties): Do we need to define server-managed properties or do we leave them to applications? [Linked Data Platform core]
> >
> > http://www.w3.org/2012/ldp/track/issues/11
> >
> > Raised by: Raúl García Castro
> > On product: Linked Data Platform core
> >
> > "4.4.1 If HTTP PUT is performed on an existing resource, BPR servers must replace the entire persistent state of the identified resource with the entity representation in the body of the request. The only recognized exception are the properties dcterms:modified and dcterms:creator that are never under client control - BPR servers must ignore any values of these properties that are provided by the client."
> >
> > I think that saying that dcterms:modified and dcterms:creator cannot be modified by clients is an application-specific restriction.
> >
> > I would not include it, but if you think that it is relevant, I would rewrite it in the style of 5.5.2:
> > "BPR servers MAY ignore server managed properties such as dcterms:modified and dcterms:creator".
> >
> >
> >
> >
> 
> A short message from my sponsors: Vive la France!
> Social Web Architect
> http://bblfish.net/
> 
> 

A short message from my sponsors: Vive la France!
Social Web Architect
http://bblfish.net/

Received on Wednesday, 19 December 2012 12:37:37 UTC