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)
I propose not to make changes to address this issue before the review; I'd rather not write an unbounded number of new constraints.  (If there are n relations then we need O(n^2) constraints to say that they are all disjoint.)  

I plan to ask for feedback on this issue during review, namely, whether we need more constraints to enforce disjointness among various types/relations.  I have marked this "pending review", to capture any further discussion during the review period.

--James

On Jul 18, 2012, at 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.
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

Received on Wednesday, 18 July 2012 18:06:53 UTC