Re: ldp-ISSUE-45: POSTing to an LDPR appends content to the resource [Linked Data Platform core]

On 20/01/13 19:09, Henry Story wrote:
>
> On 20 Jan 2013, at 18:38, Andy Seaborne <andy.seaborne@epimorphics.com> wrote:
>
>>
>>
>> On 20/01/13 15:20, Wilde, Erik wrote:
>>> hello all.
>>>
>>> On 2013-01-18 22:11 , "Linked Data Platform (LDP) Working Group Issue
>>> Tracker" <sysbot+tracker@w3.org> wrote:
>>>> ldp-ISSUE-45: POSTing to an LDPR appends content to the resource [Linked
>>>> Data Platform core]
>>>> http://www.w3.org/2012/ldp/track/issues/45
>>>> Raised by: Arnaud Le Hors
>>>> On product: Linked Data Platform core
>>>> Andy suggested that "it would be valuable to be explicit that POST to
>>>> LDP-R is add triples"
>>>> See: http://lists.w3.org/Archives/Public/public-ldp-wg/2013Jan/0115.html
>>>
>>> that's one way to go, but please keep in mind that if we define implicit
>>> semantics for a POST to be an add, we cannot do anything else with POST.
>>> that's fine from the REST model point of view, it just limits the things
>>> we might want to POST. another possible option would be the following:
>>>
>>> - keep POST as the catch-all and define a framework that is able to use
>>> POST for various interactions, not just for "add".
>>
>> For the media types for RDF, I don't see what other interactions there are, without it being a service (non-REST) invocation mechanism?  Erik - what had you in mind?
>>
>> POST + other media types, the interactions can be different.
>>
>>> - instead of folding "add" into POST, maybe use PATCH and use a media type
>>> that is able to PATCH RDF, so that by sending a PATCH request, clients can
>>> actually add/modify/remove triples?
>>
>> For the media types for RDF, I think removal (sending "negative" triples) is going to cause problems with expression.  A graph is not just a syntactic container of syntactic triples (and then there are bNodes!).
>>
>>> if we go this way (a big if), the downside is that such a media type
>>> currently does not exist, and thus we would have to invent it (probably
>>> not a good idea for our group), or add it as a dependency and assume that
>>> hopefully rather sooner than later, RDF will have a PATCH model we can
>>> refer to.
>>
>> application/sparql-update ?
>>
>> A bit heavy - a subset like just INSERT DATA / DELETE DATA of triples (this is a generalization of the Talis changeset idea) might be useful to define.
>
> +1 I think for a PATCH With a SPARQL media type as at least an option.
>     We could probably define that very quickly. It would not need to be a MUST
>     support feature for LDP.

Agreed - not required of all platforms.

> It would be very intersting to know what hte smallest subset of what is need is required,
> and that would be very easy to implement. And how easy it would be to define that.
> ( Ideally one could say: just implement  part x,y,z of an existing spec )
>
> My guess is that
>
> 1. just INSERT, DELETE full triples
>   ( that should be dead easy to specify )
>
> 2. INSERT, DELETE paterns of triples eg DELETE { joe foaf:knows ?b }.

There is a special form:

DELETE WHERE { joe foaf:knows ?b }


For INSERT patterns, if it is:

DELETE { } INSERT { } WHERE { }

(Either of INSERT and DELETE are optional - but you must have one or 
both).  This is the part where it becomes increasingly expensive to 
implement - partly, the likely need to materialize the results of the 
WHERE but mainly the increasing complexity of the WHERE clause.

The whole graph operations of ADD, COPY, MOVE, LOAD are probably 
unnecessary.

	Andy

>
>
>
>>
>> [But you could POST application/sparql-update as well.]
>>
>> 	Andy
>>
>>>
>>> cheers,
>>>
>>> dret.
>>>
>>>
>>
>
> Social Web Architect
> http://bblfish.net/
>

Received on Monday, 21 January 2013 09:44:33 UTC