W3C home > Mailing lists > Public > public-prov-wg@w3.org > June 2012

Re: PROV-ISSUE-391 (jzhao): Reflecting Membership in the Collection Component [prov-dm]

From: Luc Moreau <L.Moreau@ecs.soton.ac.uk>
Date: Wed, 06 Jun 2012 09:48:32 +0100
Message-ID: <EMEW3|ec4b9f943bec9d8a5fed9521d68193bfo559mb08L.Moreau|ecs.soton.ac.uk|4FCF1960.4080200@ecs.soton.ac.uk>
To: public-prov-wg@w3.org
Hi Jun,

Comments below.

On 06/03/2012 05:48 PM, Provenance Working Group Issue Tracker wrote:
> PROV-ISSUE-391 (jzhao): Reflecting Membership in the Collection Component [prov-dm]
> http://www.w3.org/2011/prov/track/issues/391
> Raised by: Jun Zhao
> On product: prov-dm
> The PROV-O team are in the process of reflecting the modeling of Membership in the ontology. By reading deeply into the section 5.6.5 of the DM spec about Membership, I wonder whether we should reflect a bit on the DM modeling on this construct.
> It would have been straightforward to use this construct to declare which key-value pair as being a member of a collection. However, the definition of Membership shows that this construct is designed for expressing much more than this:
> - The DM doc says that: "The membership relation removes the need for explicit mention of the state of the dictionary prior to each operation, allowing the state of a dictionary to be expressed without having to introduce a prior state." What does this "state of the dictionary" refer to? If we know the collection c1 before the insertion or deletion, and collection c2 after these activities, then we are all OK, right? I wonder whether this statement implies some scenarios that I am not aware of.

It should be simply say "dictionary" instead of a "state of dictionary". 
In essence, it's a declarative way of expressing members, as opposed to
an operational way, which involves insertions/removals.

> - A membership relation, written memberOf(id; c, {(key_1, e_1), ..., (key_n, e_n)}, cplt, attrs), has:
> 	•	id: an optional identifier identifying the relation;
> 	•	collection: an identifier (c) for the dictionary whose members are asserted;
> 	•	key-entity-set: a set of key-entity pairs (key_1, e_1), ..., (key_n, e_n) that are members of the dictionary;
> 	•	complete: an optional boolean Value (cplt); if true, it indicates that no other member belongs to the dictionary; if false, it indicates that other members belong to the dictionary; if unspecified, other members may belong to the dictionary.
> 	•	attributes: an optional set (attrs) of attribute-value pairs representing additional information about this relation.
> It seems a rather complicated definition. Why do we have to mark a collection as "complete"? What additional attributes are we expecting to provide for a membership relation? This has direct impact on the prov ontology. The distinction between a membership and a collection is not that obvious. Can we live without a Membership class to express provenance of collections?

To be able to declare that the membership of teh collection is fully 
declared was requested by Paolo and Stian, if I recall correctly.

If we drop id/attrs, then we lose on extensibility. So it's a trade-off.

> We would really like to have this issue resolved as soon as possible, in line with our internal release timeline, which is the upcoming Thursday. Help is much appreciated!
> [1] http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html#component6
> Cheers,
> Jun


Professor Luc Moreau
Electronics and Computer Science   tel:   +44 23 8059 4487
University of Southampton          fax:   +44 23 8059 2865
Southampton SO17 1BJ               email: l.moreau@ecs.soton.ac.uk
United Kingdom                     http://www.ecs.soton.ac.uk/~lavm
Received on Wednesday, 6 June 2012 08:49:16 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:58:16 UTC