Re: the state of ldp-patch, and a procedural proposal

On 18/10/13 15:24, Alexandre Bertails wrote:
> On 10/18/2013 10:13 AM, Andy Seaborne wrote:
>> On 18/10/13 03:57, Alexandre Bertails wrote:
>>
>>> General remark: Linked Data (in LDP) is different from general RDF:
>>> the data lives in "small" HTTP documents, not in "big" RDF store.
>>
>> Hmm - collections have the potential to be large and, in general,
>> planning on "small" seems to fail the test of real use!
>
> Collections as in LDPC, yes, that is true. I was talking about LDPRs.

If LDPC are a subclass of LDPR ... :-)

>> If it were truly small, than PATCH is not really needed - use PUT and
>> etags.
>
> I'd be happy to add this approach in [2]. Is there some text somewhere
> about how exactly one can use ETags for LDP PATCH?

It is just normal use of etags and PUT - plain web stuff.

> [2] http://www.w3.org/2012/ldp/wiki/LDP_PATCH_Proposals
>
>>
>> I do agree that "LDP PATCH" is not PATCH for all RDF situations.
>>
>>>
>>> RDF Patch
>>> ---------
>>>
>>> Champion: Andy Seaborne
>>>
>>> Summary: diffs for RDF dataset
>>>
>>> Example: (A is for Add and D for Delete)
>>>
>>> [[
>>>   A <http://example.org/alice> <http://xmlns.com/foaf/0.1/name>
>>> "Robert" .
>>>   A <http://example.org/bob> <http://xmlns.com/foaf/0.1/knows>
>>> <http://example/alice> .
>>>   A <http://example.org/alice> <http://xmlns.com/foaf/0.1/name>
>>> "Alice" .
>>>   D <http://example.org/bob> <http://xmlns.com/foaf/0.1/name> "Robert" .
>>>   A <http://example.org/bob> <http://xmlns.com/foaf/0.1/name> "Bob" .
>>> ]]
>>>
>>> Pros:
>>> * easy to implement from scratch (parser + runtime)
>>>
>>> Cons:
>>> * specified for an RDF dataset, not an LDPR
>>
>> I don't follow that point - LDPR state is a graph and your example is
>> changing a graph.   RDF patch as a format is equally applicable to a
>> graph; don't use graph names.
>
> I don't know the history for RDF PATCH. I had the feeling that the
> spec was written with RDF Stores in mind, not for PATCHing LDPRs. The
> named graphs thing was just an example of that. I'm not saying this
> cannot be refined, like Pierre-Antoine did for example.
>
>>
>>  > * blank nodes are system dependant, so not well specified in the case
>> of LDP
>>
>> Skolemization?
>
> Sure. But the specification in its current form says [[ Blank nodes
> are recorded as _:id where id can be the system-internal identifier
> for the blank node ]], but says nothing about skolemization, does it?
>
>>
>> As the RDF patch docs discusses, both doc-wide scope (RDF style) and
>> store-scope are needed for different usages.
>
> I understand. So here is my question: what scope does RDF PATCH
> address?

(A.4)

 From other feedback, it looks like it needs both.

store-scope to do changes, as all the proposal have to address some how. 
  There are two appraoches - find the bnode, and name the bnode.

RDF-patch happens to mention <_:label>, not http skolemization but that 
is an artifact of history and a laziness in writing 
<http://host/skolemId/ABCDEF> all the time.

doc-scope, like RDF syntax, for new data.

One caution: finding bnodes avoids the need to name then in the access 
operations ... but finding them is really quite tricky in practice 
unless the data is well behaved (= planned for this sort of use, e.g IFP).

A test case is RDF list manipulation as is deleting molecule-like 
structures uses for structured values.

	Andy

>
> Alexandre.
>
>>
>>      Andy
>>
>>
>>
>>
>
>

Received on Friday, 18 October 2013 15:05:52 UTC