Re: PROV-ISSUE-374 (member-membership-indirection): indirection for Dictionary members [Ontology]

This is to match the DM signature:

> 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;
> after: 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.

The prov:Membership intermediate class is thus the anchor point for
the id, attributes, and indication of complete membership (by use of
subclass of prov:CompleteMembership - however that is not currently in
PROV-O as it was uncertain at the time if it would make it into DM).

Although this is not a qualified relationship (there is appropriate
binary relationship version) it follows the same style as other
relationships with regards to matching DM identifier and attributes.

It can be argued if DM really needs the id and attributes here - but I
guess for consistency reason it's better to keep them here as well.


On Tue, May 15, 2012 at 2:03 PM, Provenance Working Group Issue
Tracker <sysbot+tracker@w3.org> wrote:
>
> PROV-ISSUE-374 (member-membership-indirection): indirection for Dictionary members [Ontology]
>
> http://www.w3.org/2011/prov/track/issues/374
>
> Raised by: Timothy Lebo
> On product: Ontology
>
> What is the purpose of prov:membership [ a prov:Membership ] in the Dictionary Modeling?
> Would it not be more straightforward to use prov:member to describe the Dictionary directly?
>
> Currently, the 2WD PROV-O uses:
>
> :c1 a prov:Dictionary;
>   prov:membership [
>      a prov:Membership;
>      prov:member [
>         a prov:KeyValuePair;
>         prov:key   "k1"^^xsd:string;
>         prov:value :e1
>      ], [
>         a prov:KeyValuePair;
>         prov:key   "k2"^^xsd:string;
>         prov:value :e2
>      ];
>   ];
> .
>
> Why could it not be simply:
>
>
> :c1 a prov:Dictionary;
>   prov:member [
>      a prov:KeyValuePair;
>      prov:key   "k1"^^xsd:string;
>      prov:value :e1
>   ], [
>      a prov:KeyValuePair;
>      prov:key   "k2"^^xsd:string;
>      prov:value :e2
>   ];
> .
>
>
> Thanks,
> Tim
>
>
>
>
>



--
Stian Soiland-Reyes, myGrid team
School of Computer Science
The University of Manchester

Received on Friday, 25 May 2012 08:31:18 UTC