Re: PROV-ISSUE-40 (recommended-roles): Roles should not be SHOULD and not MUST [Conceptual Model]

Hi,

The latest version of the document contains a proposal [1] to address 
this issue.
The text is copied here for  convenience:

Use, Generation, and Control assertions must contain a role. Roles are 
mandatory since they allow for uniform data structures. To facilitate 
the writing of these assertions when a role is unknown by the asserter, 
syntactic notations may allow these to be written without a role. In 
such a case, a default, uniquely named role from the set 'unspecified 
role' will be assumed. A countable set of unique labels can be used to 
denote unspecified roles, as in: unspecified0, unspecified1, 
unspecified2, ....

What do you think?

Paolo and Luc

[1] 
http://dvcs.w3.org/hg/prov/raw-file/default/model/ProvenanceModel.html#concept-Role

On 07/25/2011 11:05 AM, Luc Moreau wrote:
>
>
> On 07/25/2011 10:52 AM, Paul Groth wrote:
>> Ok... and the justification for this is that it makes the data 
>> structure uniform....?
> Yes
>>
>> It seems that this unspecified role will have some kind of special 
>> semantics, no?
>>
> It's a default role for asserters who don't assert a specific role.
>
> Luc
>
>> Paul
>>
>> Luc Moreau wrote:
>>> Remember that I suggested concrete representations have the 
>>> opportunity to
>>> offer role-less convenience syntax (as a kind of "macro" that expands
>>> into a construct
>>> with a role "unspecified").
>>>
>>> Using the notation in the spec:
>>>     use(pe,e)  expands to use(pe,e,unspecifiedRole)
>>> where unspecifiedRole is a distinguished role.
>>>
>>> Isn't your requirement about "easy writing"? I believe an appropriate
>>> choice of syntax addresses this requirement.
>>>
>>> Luc
>>>
>>>
>>> On 07/25/2011 10:35 AM, Paul Groth wrote:
>>>> I'm using the definitions in [1], which are used in W3C specs. The
>>>> definitions for MUST and SHOULD are:
>>>>
>>>> - MUST   This word, or the terms "REQUIRED" or "SHALL", mean that the
>>>>     definition is an absolute requirement of the specification.
>>>>
>>>> - SHOULD   This word, or the adjective "RECOMMENDED", mean that there
>>>>     may exist valid reasons in particular circumstances to ignore a
>>>>     particular item, but the full implications must be understood and
>>>>     carefully weighed before choosing a different course.
>>>>
>>>>
>>>> The justification for using SHOULD is that it allows me some
>>>> flexibility in writing down provenance that is compatible with the
>>>> spec. If I don't know the roles and I won't break anything but I might
>>>> not get the full functionality of the spec (maybe?). So I think that
>>>> there are valid reasons not to write down roles but probably I should
>>>> think before not doing it.
>>>>
>>>> cheers,
>>>> Paul
>>>>
>>>>
>>>> [1] http://www.ietf.org/rfc/rfc2119.txt
>>>>
>>>> Luc Moreau wrote:
>>>>> It would be good to have advise on the choice MUST/SHOULD.
>>>>>
>>>>> I would have thought that to promote interoperability we should go 
>>>>> for
>>>>> the stronger requirements,
>>>>> when possible.
>>>>>
>>>>> I can turn your comment around. I'm missing a justification for a 
>>>>> SHOULD
>>>>> here.
>>>>>
>>>>> Luc
>>>>>
>>>>>
>>>>> PS. I don't think it's a hack to have unspecified role. Mandating 
>>>>> a role
>>>>> guarantees a uniform data structure.
>>>>>        It facilitates the writing of queries/searches.  I guess 
>>>>> that's my
>>>>> justification for MUST.
>>>>>
>>>>>
>>>>> On 07/25/2011 10:22 AM, Paul Groth wrote:
>>>>>> It seems like unspecified is a hack to let you get around not 
>>>>>> saying a
>>>>>> role.
>>>>>>
>>>>>> Again, I think I'm missing a justification of the MUST verses just
>>>>>> making it a strong recommendation (i.e. SHOULD).
>>>>>>
>>>>>> I think you have some inferences in mind based around roles.... 
>>>>>> but I
>>>>>> think it just means that you won't be able to make those 
>>>>>> inferences if
>>>>>> you don't provide roles.
>>>>>>
>>>>>> thanks,
>>>>>> Paul
>>>>>>
>>>>>> Luc Moreau wrote:
>>>>>>> I believe there is a difference between a conceptual model and its
>>>>>>> encoding in
>>>>>>> a specific data/knowledge format.
>>>>>>>
>>>>>>> In my view, it is reasonable to require the presence of a role in a
>>>>>>> conceptual model.
>>>>>>> A given notation, say RDF, may provide "abbreviations", which allow
>>>>>>> for
>>>>>>> the role not
>>>>>>> to be expressed. This notation will have an explanation that
>>>>>>> absence of
>>>>>>> a role corresponds
>>>>>>> to the role  "unspecified".
>>>>>>>
>>>>>>> So, I believe that the conceptual model should define distinguished
>>>>>>> roles, e.g. unspecified.
>>>>>>>
>>>>>>> BTW, the file note.txt in the repository also suggested other roles
>>>>>>>
>>>>>>> Luc
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 07/23/2011 03:14 PM, Provenance Working Group Issue Tracker 
>>>>>>> wrote:
>>>>>>>> PROV-ISSUE-40 (recommended-roles): Roles should not be SHOULD and
>>>>>>>> not MUST [Conceptual Model]
>>>>>>>>
>>>>>>>> http://www.w3.org/2011/prov/track/issues/40
>>>>>>>>
>>>>>>>> Raised by: Paul Groth
>>>>>>>> On product: Conceptual Model
>>>>>>>>
>>>>>>>> Currently, roles are required for Generation, Use, and
>>>>>>>> isControlledby.
>>>>>>>>
>>>>>>>> Specifically the following sentence is given:
>>>>>>>>
>>>>>>>> "Use, Generation, and Control assertions must contain a role."
>>>>>>>>
>>>>>>>> It is not clear why roles must always be there. In some cases, 
>>>>>>>> I may
>>>>>>>> not want to assert the role that something played with respect 
>>>>>>>> to a
>>>>>>>> process.
>>>>>>>>
>>>>>>>> Suggested resolution is to replace MUST with SHOULD.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>
>

-- 
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

Received on Wednesday, 27 July 2011 14:40:04 UTC