Re: PROV-ISSUE-454 (key across relations/objectss): can the same identifier be used for different relations objects [prov-dm-constraints]

('binary' encoding is not supported, stored as-is)
Hi,

I think the current formulation of entity-activity-disjount is fine from a technical point of view.

However, although it's logically equivalent, I think we should avoid adding new kinds of conclusions such as inequalities or disjunctions.  Doing so can easily make the inference/constraint checking process intractable (see the Fagin et al. paper [DBCONSTRAINTS]).  If we stick to the forms of rules we already have (plus "this pattern cannot happen" checks at the end) then everything should be polynomial, provided the rules are acyclic in an appropriate sense.

--James

> IF entity(id1,_attrs1) and activity(id2,_t1,_t2,_attrs2) THEN id1 =/= id2


On Jul 19, 2012, at 11:03 AM, Tom De Nies wrote:

> This (partly) addresses my concern I just formulated a few minutes ago.
> 
> The place in the document is fine where it is now for me. I'd either put it here, or right behind the key-object constraint 25.
> I would, however, rephrase it to match the other constraints in form:
> 
> IF entity(id1,_attrs1) and activity(id2,_t1,_t2,_attrs2) THEN id1 =/= id2
> 
> Then my only concern that remains is that we implicitly assume that when agent(a1) and entity(a1) are asserted, they refer to the same thing. (Which is fine by me, but I do think we should mention it somewhere.)
> 
> - Tom
> 
> 
> 2012/7/19 Luc Moreau <l.moreau@ecs.soton.ac.uk>
> 
> as I was writing disjointness constraints, I also added activity/entity disjointness constraint.
> I am not sure it is at the right place.
> 
> http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-constraints.html#entity-activity-disjoint
> 
> 
> Luc
> 
> 
> 
> On 07/19/2012 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
>> 
>> 
>> 
> 
> -- 
> 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 10:16:06 UTC