W3C home > Mailing lists > Public > public-prov-wg@w3.org > October 2011

PROV-ISSUE-135 (collection-names): Collection relations have confusing names [Data Model]

From: Provenance Working Group Issue Tracker <sysbot+tracker@w3.org>
Date: Sat, 29 Oct 2011 23:05:56 +0000
To: public-prov-wg@w3.org
Message-Id: <E1RKHyO-0006qQ-BF@barney.w3.org>

PROV-ISSUE-135 (collection-names): Collection relations have confusing names [Data Model]

http://www.w3.org/2011/prov/track/issues/135

Raised by: Stian Soiland-Reyes
On product: Data Model

http://www.w3.org/TR/prov-dm/#expression-Collection introduces relations for expressing collections;


> Expression: wasAddedTo_Coll(c2,c1) (resp. wasRemovedFrom_Coll(c2,c1)) denotes that collection c2 is an updated version of collection c1, following an insertion (resp. deletion) operation.

> Expression: wasAddedTo_Key(c,k) (resp. wasRemovedFrom_Key(c,k)) denotes that collection c had a new value with key k added to (resp. removed from) it.

> Expression: wasAddedTo_Entity(c,e) denotes that collection c had entity e added to it.


I discussed this with some colleagues who are new to PROV, and they found the names very confusing. For instance wasAddedTo_Coll(c2, c1) sounds like c2 was added to c1. 

I understand that this _Coll/Key/Entity dispatching is to keep these as wasDerivedFrom subproperites, and avoid introducing an explicit process execution with three different usage roles.



When encoding this for PROV-O I decided to rename them, but keep them as subproperties of prov:wasDerivedFrom:

http://dvcs.w3.org/hg/prov/raw-file/4b6e3db74001/ontology/Overview.html#collections


As I discussed this, we found that wasAddedTo_Coll(c2,c1) means c2 is like a superset of c1 - but without requiring either to be a set. So we think PROV-DM are describing something like a bag collection of (key,value) pairs, but did not bother checking wikipedia what the equivalent of superset and subset is for bags. 

Instead I just opted for "expansion" and "reduction", and use verbs that relate the actual entities:


:col2 a prov:Collection ;
    prov:wasExpandedFrom :col1 ;
    prov:wasExpandedBy :e2 ;
    prov:wasExpandedAt :key2 .    

corresponding to:

  wasAddedTo_Coll(c2,c1)
  wasAddedTo_Key(c2,k1)
  wasAddedTo_Entity(c2,e1)



and equivalent for reduction:


:col3 a prov:Collection ;
    prov:wasReducedFrom :col2 ;
    prov:wasReducedAt :key1 .


I propose to rename the PROV-DM relations for collections to match the PROV-O style above.
Received on Saturday, 29 October 2011 23:06:05 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 26 April 2012 13:06:46 GMT