Re: PROV-ISSUE-247: Regarding Collections in prov-dm [prov-dm]

Hi Khalid

Like generation, these are designed to state the effect of some operation on the data, rather than the operation itself -- I agree 
that the operations change the state of a data structure. However these are not operations per se: they express the relationship 
between two states (before and after insertion). Also, calling them operations would be a departure from our established structure.
But in an early report on modelling the provenance of collections, I made it clear that the inferences that you could do on the 
provenance assertions depends on the type of the operations performed (insert, delete, retrieve, create). So that's where operations 
came to the foreground. Too bad the report never saw the light and it would now need to be re-written.

> "CollectionAfterRemoval(c2,c1, k) denotes that collection c2 represents the removal of pair (k,v) from c1, where v is the value corresponding to key k in c1."
>
> I don't think we should specify the value "v".
no problems to rephrase

-Paolo




On 2/8/12 10:22 AM, Provenance Working Group Issue Tracker wrote:
> PROV-ISSUE-247: Regarding Collections in prov-dm [prov-dm]
>
> http://www.w3.org/2011/prov/track/issues/247
>
> Raised by: Khalid Belhajjame
> On product: prov-dm
>
>
> Hi,
>
> In section 6.8, two relations are introduced to model insertion and deletion of key-value pairs:
>
> "CollectionAfterInsertion(c2,c1, k, v) denotes that collection c2 represents the new state of collection c1, following the insertion of pair (k,v) into c1"
>
> "CollectionAfterRemoval(c2,c1, k) denotes that collection c2 represents the removal of pair (k,v) from c1, where v is the value corresponding to key k in c1."
>
> I am wondering if the above relations should be introduced as "operations" not as "relations". Defining them as relation would mean IMO that the collections c1 and c2 can be created independently and the only thing that matters is that  one collection contains a key-value pair that the other does not. Instead, from the definition, I think that both CollectionAfterInsertion(c2,c1, k, v) and CollectionAfterRemoval(c2,c1, k) were intended to modify the state of the world. For example, CollectionAfterInsertion(c2,c1, k, v) would change the state of the collection of c2 and replace it with the collection that is obtained by inserting the pair<k,v>  to c1.
>
> The second observation is with respect to the definition of CollectionAfterRemoval.
>
> "CollectionAfterRemoval(c2,c1, k) denotes that collection c2 represents the removal of pair (k,v) from c1, where v is the value corresponding to key k in c1."
>
> I don't think we should specify the value "v".
>
> Thanks, khalid
>
>
>


-- 
-----------  ~oo~  --------------
Paolo Missier - Paolo.Missier@newcastle.ac.uk, pmissier@acm.org
School of Computing Science, Newcastle University,  UK
http://www.cs.ncl.ac.uk/people/Paolo.Missier

Received on Wednesday, 8 February 2012 11:42:59 UTC