Lack of server controlled property in PUT?

Hi all,

A quick question that we're a little puzzled over and would appreciate some
confirmation on...

In 4.2.4.1 (copied below for reference), servers must replace the entire
state of a resource, but they may ignore server-managed properties not
under client control, and anything more sophisticated is PATCH rather than
PUT.

Does the clause about ignoring server-managed properties include both
presence and lack of presence?  For example, if I PUT a new set of
predicates about a Collection, and don't include the membership properties
in the representation, is it permissible for the server to ignore the *lack
of* those triples?

Otherwise, it seems that you would need to submit the complete
representation with all, say, 100,000 membership triples, just to change a
label for the collection.  That would normally be PATCH, I know, but is
this a known special case or an unintended loophole?

And, to be sure, this would ONLY apply for server managed properties, not
for other properties where the lack of the property would mean to delete
any existing triple, and to do otherwise would require PATCH.

Thanks!

Rob

----
4.2.4.1 If a HTTP PUT is accepted on an existing resource, LDP servers must
replace the entire persistent state of the identified resource with the
entity representation in the body of the request. LDP servers may ignore
server-managed properties such as dcterms:modified and dcterms:creator if
they are not under client control. Any LDP servers that wish to support a
more sophisticated merge of data provided by the client with existing state
stored on the server for a resource must use HTTP PATCH, not HTTP PUT.


-- 
Rob Sanderson
Technology Collaboration Facilitator
Digital Library Systems and Services
Stanford, CA 94305

Received on Friday, 3 October 2014 18:39:51 UTC