W3C home > Mailing lists > Public > public-prov-wg@w3.org > March 2013

Re: PROV-ISSUE-638 (TomDN): Notation of set of key-value pairs in contraints of PROV Dictionary [PROV-DICTIONARY]

From: James Cheney <jcheney@inf.ed.ac.uk>
Date: Tue, 26 Mar 2013 20:56:18 +0000
Cc: Paolo Missier <Paolo.Missier@ncl.ac.uk>, public-prov-wg@w3.org
Message-Id: <ECECBC56-507A-4681-B798-94438734B8FA@inf.ed.ac.uk>
To: Tom De Nies <tom.denies@ugent.be>
('binary' encoding is not supported, stored as-is)
Hi,

I think the way the constraints are currently presented is fine.  The use of equality seems appropriate, provided its meaning is made clear.  But I wasn't on the last call - were there objections to it?  The main potential complications are:

- do we require keys in sets of key value pairs to be associated with unique values?  This is stated in D2, so good.
- do we allow "unknown" sets of key-value pairs, or of the existence of them?  If so then reasoning about their equality could become complicated.  However, we do not appear to need this, so equality of key / kv sets will always amount to checking literal equality of sets, not solving equations involving unknowns.
- are sets of keys (or key-value pairs) considered equal up to reordering? e.g. {k1,k2} = {k2,k1}? Seems to be the case; including the suggested explanation somewhere would help cement this.

These might have to be revisited if this were to be pushed further or incorporated into future versions of PROV, but as stated I think the existing constraints ought to fold into the existing framework neatly.

Minor comment:

D8: Suggest KV1 should be K1 (as it is just a set of keys, being removed)

--James

On Mar 22, 2013, at 12:20 PM, Tom De Nies <tom.denies@ugent.be> wrote:

> Hello James, Paolo,
> 
> do you have any suggestions for a better notation of these constructs, or are you happy with the ones we have now?
> The main issue is that the current notation deviates from what is used in PROV-Constraints, and I'm not sure that we want that.
> I'd like to resolve this issue before the telecon of 28th of March, so we can release the document for internal review.
> 
> Paul suggested during the telecon to use double equal signs '==' instead of a single '=', but I am not sure this solves the issue.
> 
> Another proposal is to include an explanatory paragraph, stating the following:
> In the constraints below, statements are made concerning the equality of sets of key-value pairs and sets of keys. For the sake of clarity, we will explain the used notations here. 
> 1. To state that a set of  keys K1  and another set of keys K2 hold exactly the same keys, we use the notation K1 = K2.
> 2. To state that a set of key-value pairs KV1 and another set of key-value pairs KV2 hold exactly the same keys, with each key in KV1 mapped to exactly the same value as the same key in KV2, we use the notation KV1 = KV2.
> For example. the sets of keys {"k1", "k2"} and {"k1", "k3", "k4"} are not considered equal, since one of the sets holds keys the other does not. Analogously, the set of key-value pairs {("k1", e1),("k2", e2)} and the set {("k1", e2),("k2", e3)} are not considered equal, since the keys in the latter set map to different values than the same keys in the former set.
> 
> If you could share your view on this, that'd be great. 
> Thanks in advance!
> 
> regards,
> Tom
> 
> @Paolo: in response to your example below, i'd say that in the case of
> derivedByInsertionFrom(d2, d1, {(3,e1)} ),
> derivedByInsertionFrom(d2, d1, {(4,e2)})
> 
> KV1=KV2 does not hold (since nor the keys, nor the values are equal), and thus, this is not valid.
> 
> 2013/3/7 Paolo Missier <Paolo.Missier@ncl.ac.uk>
> Hi,
> 
> I went back to James' review and I am not sure what an inference that derives KV1 = KV2 means, when KV1 and KV2 are ground. For example, what do we make of 
> derivedByInsertionFrom(d2, d1, {(3,e1)} ),
> derivedByInsertionFrom(d2, d1, {(4,e2)})
> ?
> I think I need to understand this better
> 
> --Paolo
> 
> 
> 
> On 07/03/2013 10:45, Provenance Working Group Issue Tracker wrote:
>> PROV-ISSUE-638 (TomDN): Notation of set of key-value pairs in contraints of PROV Dictionary [PROV-DICTIONARY]
>> 
>> http://www.w3.org/2011/prov/track/issues/638
>> 
>> Raised by: Tom De Nies
>> On product: PROV-DICTIONARY
>> 
>> Came up in the review by James, but was agreed to be handled after the first WD release.
>> 
>> We need to get consensus of the group whether the notation KV1=KV2 is acceptable for constraints D9, D10, D11, D12.4, and D12.5, and whether considering equalities on sets of keys/KV pairs is a potential complication.
>> https://dvcs.w3.org/hg/prov/raw-file/default/dictionary/releases/WD-prov-dictionary-20130312/Overview.html#impossible-removal-insertion-constraint
>> 
>> 
>> 
> 
> 
> -- 
> -----------  ~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
> PGP Public key: 0x45596549  - key servers: pool.sks-keyservers.net
> 
> 
> 


The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
Received on Tuesday, 26 March 2013 20:56:51 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:51:32 UTC