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

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

-- 
Dr. Paul Groth (p.t.groth@vu.nl)
http://www.few.vu.nl/~pgroth
Assistant Professor
Knowledge Representation & Reasoning Group
Artificial Intelligence Section
Department of Computer Science
VU University Amsterdam

Received on Monday, 25 July 2011 09:38:15 UTC