Re: PROV-ISSUE-452: what is plan in association inference [prov-dm-constraints]

('binary' encoding is not supported, stored as-is)
On Aug 14, 2012, at 6:47 PM, Timothy Lebo wrote:

> 
> On Aug 9, 2012, at 5:28 AM, James Cheney wrote:
> 
>> One more thing connected to this issue: 
>> 
>> Simon, in his review, said:
>> 
>>    > http://www.w3.org/2011/prov/track/issues/452
>>    > The relation inferred should be "wasAssociatedWith(_id2;a, ag2, -,
>>    > _attrs2)". As the document currently says, this does not necessarily
>>    > mean that a plan does not exist, just that in that statement we have
>>    > chosen not to identify it if it does exist. This does not preclude
>>    > other statements on the assocation that do identify the plan. See
>>    > related point B below. 
>> 
>> and
>> 
>>    > 
>>    > B. Remark under Definition 4: "In an association... the absence of a
>>    > plan means: either no plan exists, or a plan exists but is not
>>    > identified... Similarly, a wasDerivedFrom... that specifies an
>>    > activity is not equivalent to wasDerivedFrom(id;e2,e1,-...)" 
>>    > I was not clear what you were implying here. That wasDerivedFrom with
>>    > - for the activity parameter can mean that no activity existed? If so,
>>    > how did the derivation occur? Or that it can mean the activity existed
>>    > but is not identified? But isn't that what - means in every other
>>    > relation? Why would activity in wasDerivedFrom be a special case? 
>> 
>> 
>> This reflects a possible confusion about the meaning of "-" in the plan position of association, and activity (and now generation and use) positions of derivation.  
>> 
>> These are considered "non-expandable" parameters.
>> 
>> The reason for this is that (as far as I can tell) the consensus has been that for these particular optional parameters, if the parameter is missing or given as "-", then it means "there is no plan" and so on.  
>> 
>> For all other, expandable parameters, a missing parameter means "there is an object, whose identity is uncertain".  These are handled by generating fresh existential variables, which can be later merged with other known variables if need be.
> 
> 
> Trying to maintain the distinction of "-" being expandable or non-expandable is very confusing to me.
> 

Hi Tim,

My understanding of the consensus is that we want to be able to distinguish "there is no plan" from "there is a (unknown) plan", based on the argument that not all associations follow a plan.

Accordingly, the optional plan argument (and for similar reasons the optional activity/generation/use in derivation) is treated differently to most placeholders; it is left in situ, instead of expanded to an existential parameter.

My understanding is that the group agreed on this design in the resolution of ISSUE-331, though discussion at last week's teleconference makes me think that not everyone was aware of the ramifications of this design choice at the time.

This is not a particularly clean design, and I've complained about it before, but there hasn't been support for changing it; I am not sure whether it is possible to do so in a way that remains consistent with the last call drafts.

My preference would have been to make the plan in association an attribute, rather than a parameter, because attributes generally have the missing-means-absent semantics.  Then we could treat all "-"'s in ordinary positions as existential variables.  However, there didn't seem to be any support for this, and I didn't press for it.  


> What if we used different symbols to maintain the distinction for us?
> 
> "-" is nonexpandable (a NULL)
> "+" is expandable (an existential)

As far as I am aware, this would be a substantive change to the syntax used in PROV-N, which we can't easily do now.  

Would it address your concern to do the following:

- Add a special constant "prov:null" that stands for null values
- Change the definitions that expand placeholders to transform non-expandlable ones to "null"s
- Then wherever we later say "where x MAY / MUST NOT be a placeholder", we instead say "where x MAY be prov:null/where x MUST NOT be prov:null".

I think this would be less confusing overall, even though it doesn't address the root problem, that is, the overloading of "-" in some places to mean "anonymous existential variable" and in other places to mean "absent / null value".

Tim, would this be better?  Others, objections?

--James
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

Received on Wednesday, 15 August 2012 10:14:15 UTC