W3C home > Mailing lists > Public > public-ldp-wg@w3.org > December 2012

Re: Aggregation: simple proposal

From: Henry Story <henry.story@bblfish.net>
Date: Thu, 20 Dec 2012 11:39:42 +0100
Cc: public-ldp-wg@w3.org
Message-Id: <67F0166F-C396-4545-AEA9-0A9EAFE8B6EE@bblfish.net>
To: Andy Seaborne <andy.seaborne@epimorphics.com>

On 20 Dec 2012, at 11:14, Andy Seaborne <andy.seaborne@epimorphics.com> wrote:

> Henry - excellent, real examples.
> 
> There are certainly lots of ways to do general aggregation because, at some level, linking to another resource is "aggregation".
> 
> This is the sort of thing that would go well in a primer to explain good practice so that there is some commonality that clients can exploit in working with different LDP instances.
> 
> To draw up consequences of Henry's default suggestion:
> 
> 1/ No ordering -- if it's authors of a paper or a playlist, order matters.  Also for paging, some kind of ordering for stable pages may be required.
> 
> (digression below)
> 
> 2/ No duplicates -- sometimes it matters.
> 
> 3/ These are equivalent to untyped links.

Ah, ok. My initial point was just to show that one can create, edit and delete
such a container as a normal RDF document using LDP with strict container semantics,
without needing to extend the container semantics of LDP. 

If  that is accepted, one can then of course move the discussion to the ontology 
to use. Then of course there are a whole number of things one could choose from. 
For example AtomOwl 

  http://bblfish.net/work/atom-owl/2006-06-06/AtomOwl.html#sec-example

This allows for semantic ordering, on updated and on other properties.
It allows for versioning of resources that are identified by an id.
And it is at least workable and the terms are widely understood by a large
community of Atom users. (I'd be happy if that work were taken over and placed in W3C 
name space) 

Now one could also use the ldp ontology. I have not looked at it carefully yet.
A comparison between ldp and atom-owl would be useful.

> 
> 	Andy
> 
> Digression:
> 
> The LDP-C text describes the use of an auxiliary property (o:value in example 3) for a semantic ordering of a container although it's not completely deterministic (what is two o:value are the same?)
> 
> At a minimum this needs to be declared:
> 
> <http://example.org/netWorth/nw1/assetContainer>
>  ldp:orderingPredicate o:value
> 
> but what I see as happening is that yet another container/collection/aggregation construct is being invented for RDF. Each time this happens there is a belief "it's better" but really "its better for some cases and not for others."

I'll look at that a lot more carefully soon.

> 
> IBM - what alternatives were considered for containership?
> 
> On 19/12/12 13:58, Henry Story wrote:
>> Since Andy started a mail on aggregation just now, I'll put forward
>> a default suggestion that can work with the notion of strict containership
>> of collections we have settled with at TPAC2012.
>> 
>> 1. Create a aggregation container
>> ----------------------------------
>> 
>> POST your collection to the container
>> 
>> <> primaryTopic <#wk> .
>> 
>> <#cnt> a WeakContainer;
>>     :contains <http://remoThe LDP-C text describes the use of an auxiliary property (o:value in example 3) for a semantic ordering althouhgh it's not completely deterministic (what is two o:value are the same?)
> 
> At a minimum is needs
> 
> <http://example.org/netWorth/nw1/assetContainer>
>  ldp:orderingPredicate o:value
> te.org/resource>,
>>            <localRes> .
>> 
>> This creates a resource named say <resourceC> which defined
>> <resourceC#cnt> .
>> 
>> the :contains relation is left open for later.
>> 
>> 2. Delete your container
>> ------------------------
>> 
>> send an HTTP delete message
>> 
>>   DELETE resourceC HTTP/1.1
>> 
>> or change the container as below by removing the <#cnt> from <resourceC>
>> 
>> 3. Change your container
>> ------------------------
>> 
>> Say you want to remove <http://remote.org/resource> from <resourceC#cnt>
>> then just
>> 
>> PUT resourceC HTTP/1.1
>> ...
>> 
>> <> primaryTopic <#wk> .
>> 
>> <#cnt> a WeakContainer;
>>     :contains <localRes> .
>> 
>> 4 Optimisations
>> ---------------
>> 
>> Define a Patch method to make it efficient to make changes.
>> 
>> Using SPARQL - just as an example - one could
>> 
>> DELETE { <#cnt> :contains <http://remote.org/resource> }
>> 
>> Since one does not use lists, this is really easy.
>> 
>> Henry
>> 
>> 
>> 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 Thursday, 20 December 2012 10:40:22 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 9 May 2013 13:44:27 UTC