- From: James Cheney <jcheney@inf.ed.ac.uk>
- Date: Thu, 19 Jul 2012 12:22:07 +0100
- To: Luc Moreau <L.Moreau@ecs.soton.ac.uk>
- Cc: Tom De Nies <tom.denies@ugent.be>, Provenance Working Group <public-prov-wg@w3.org>
- Message-Id: <04C739C1-1011-447F-8E21-6A6AFE4FED98@inf.ed.ac.uk>
('binary' encoding is not supported, stored as-is)
Hi Luc, This (constraint key-relation2) doesn't say what I think you want it to say. Key constraints say that within a relation, an identifier determines the other fields. I think you are trying to express something like: "Each identifier appears as the identifier parameter of at most one of the following relations: { used, wasGeneratedBy, wasInfluencedBy,wasStartedBy, wasEndedBy, wasInformedBy, wasAttributedTo, wasAssociatedWith, actedOnBehalfOf}". But this is a disjointness constraint, not a key constraint; it should go with other disjointness constraints somewhere, which The most clear way to say this (IMO) is with many constraints indicating pairwise disjointness: "IF r1(id;...) AND r2(id;...) THEN invalid/fail/whatever" which we may be able to write concisely using a schema like this: "For each pair of distinct relations from the following set: {...}, we have the following constraint: IF r1(id;...) AND r2(id;...) THEN invalid/fail/whatever" --James On Jul 19, 2012, at 10:43 AM, Luc Moreau wrote: > Hi all, > > I tried to formulate a constraint to express this. > > http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-constraints.html#key-relation2 > > Thoughts? > > Luc > On 07/18/2012 10:57 AM, James Cheney wrote: >> HI, >> >> Again, I don't see the need for an explicit issue about this. >> >> There is currently no constraint enforcing disjointness among different kinds of things/relations. I see no particular reason to add one (and make implementation harder), unless there is clear consensus that violating such constraints is always nonsensical (and that this isn't detected by other constraints). >> >> We (I thought) want to allow for the possibility that something is both an agent and an entity, or both an agent or an activity, or other combinations. One could then state that something influences, generates, uses itself etc., but this will just violate ordering constraints that we already have. >> >> I agree it seems nonsensical to allow overlap between different relations, and if so then someone needs to write constraints that do this. >> >> Constraints of the form "if hyp1 .... hypn then FALSE" (i.e., a given conjunctive pattern is impossible" are straightforward to handle: we just handle all the other inferences and constraints first, then check that the normal form does not have any of the forbidden patterns. (The irreflexivity and asymmetry inferences for specialization already do this implicitly.) >> >> --James >> >> On Jul 18, 2012, at 10:39 AM, Tom De Nies wrote: >> >>> The only problem I see with allowing it, is when using influencedBy. >>> >>> With influence you'd be allowed to assert this: >>> >>> agent(a1) >>> activity(a1) >>> influencedBy(a1,a1) >>> >>> - Tom >>> >>> 2012/7/18 Provenance Working Group Issue Tracker <sysbot+tracker@w3.org> >>> PROV-ISSUE-454 (key across relations/objectss): can the same identifier be used for different relations objects [prov-dm-constraints] >>> >>> http://www.w3.org/2011/prov/track/issues/454 >>> >>> Raised by: Luc Moreau >>> On product: prov-dm-constraints >>> >>> >>> We have the following two uniqueness constraints. >>> >>> http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-constraints.html#key-object >>> http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-constraints.html#key-relation >>> >>> It is not clear to me if >>> >>> entity(e123) >>> agent(e123) >>> >>> are acceptable. (To me, they should be, since we don't state the set of agents to be disjoint from any other set) >>> >>> Likewise, can we write >>> >>> used(event1234,a1,e1,attrs1) >>> and >>> wasGeneratedBy(event1234,e2,a2,attrs2) >>> >>> Probably not. >>> Note: if we allow the two above, then I am not sure that strict ordering is wise in ordering constraints. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >> >> >> >> The University of Edinburgh is a charitable body, registered in >> Scotland, with registration number SC005336. > > -- > 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 > > >
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
Received on Thursday, 19 July 2012 11:22:58 UTC