Re: PROV-ISSUE-384 (prov-role-in-attribution): prov:role in attribution or not? [prov-dm]

Luc,

On May 29, 2012, at 12:02 PM, Luc Moreau wrote:

> Hi Tim and Paul,
> 
> We should also add it to Invalidation (because there is an activity).

If Generation has it, it would seem that Invalidation would, too.

> 
> So, it looks like, if we follow Tim's suggestion, roles would be
> allowed on all qualified relations, except Derivation and Communication.
> Why not these now?

One reason not to include Derivation is that it is already a composite notion (of an Activity, Usage, and Generation).

Communication is "closer to fundamental", so I see no reason to exclude it from having a role.

> 
> This brings up a question: what is the difference between prov:role and prov:type?


The difference is a matter of specialization.
Entities with prov:roles exist within a shorter characterization period, while Entities with prov:types exist in longer characterization periods.

(Hopefully), Tim as a Ph.D. student will exist in a shorter period than Tim as a Person.

Perhaps the easiest example to distinguish a roled Entity and a typed Entity is an algebraic division [1], whose quantities should only be "typed" for a limited duration (i.e, they should have roles). "514" is always a quantity (and is thus typed), "514" as a dividend in this operation is only such for this operation (and thus is roled).

@prefix math:    <http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-30-roles-in-algebraic-division/rdf/math.owl#> .
@prefix :        <http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-30-roles-in-algebraic-division/rdf/eg-30-roles-in-algebraic-division.ttl#> .

# There were 514 emails on public-prov-wg@w3.org in April 2012 and 54 members of prov-wg.
# That's about 9.5 emails per member.

:dividend
   a prov:Entity, :Quantity;
   prov:value 514;
.

:divisor
   a prov:Entity, :Quantity;
   prov:value 54;
.

:division
   a prov:Activity, :Division;
   prov:used      :dividend,       # 
                  :divisor;        # These four involvements are unqualified.
   prov:generated :quotient;       # i.e., we're not sure exactly how they were
                  :scratch-paper;  # involved with the :division Activity.

   prov:qualifiedUsage [           # The unqualified involvements can be qualified
      a prov:Usage;                # to distinguish /how/ the used entities were used.
      prov:entity :dividend;
      prov:hadRole math:dividend;
   ];
   prov:qualifiedUsage [
      a prov:Usage;
      prov:entity :divisor;
      prov:hadRole math:divisor;
   ];

   prov:qualifiedGeneration [
      a prov:Usage;
      prov:entity :quotient;
      prov:hadRole math:quotient;
   ];
.

:quotient
   a prov:Entity, :Quantity;
   prov:value 9.51851852;
.

math:dividend a prov:Role .
math:divisor  a prov:Role .
math:quotient a prov:Role .




> 
> 
> These are examples of prov:role in prov-dm.
> 
>     wasAssociatedWith(ex:edit1, ex:Paolo, -, [ prov:role="editor" ])
>     wasAssociatedWith(ex:edit1, ex:Simon, -, [ prov:role="contributor" ])
>     wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, [ prov:role="editor" ])
>     wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, [ prov:role="contributor" ])
>     wasAssociatedWith(ex:a, ex:ag1, -,     [ prov:role="loggedInUser", ex:how="webapp" ])
>     wasAssociatedWith(ex:a, ex:ag2, ex:wf, [ prov:role="designer", ex:context="project1" ])
>     wasAssociatedWith(a, ag1, [ prov:role="loggedInUser" ])
>     wasAssociatedWith(a, ag, [ prov:role="operator" ])
>     used(ex:div01, ex:cell, [ prov:role="divisor" ])
> 
> They could have been written as (Sorry for the sometime poor choice of name, but you should get
> the idea)
> 
>     wasAssociatedWith(ex:edit1, ex:Paolo, -, [ prov:type="WasAssociatedWithAsEditor" ])
>     wasAssociatedWith(ex:edit1, ex:Simon, -, [ prov:type="WasAssociatedWithAsContributor" ])
>     wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, [ prov:type="WasAttributedToEditorEditor" ])
>     wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, [ prov:type="WasAttributedToEditorContributor" ])
>     wasAssociatedWith(ex:a, ex:ag1, -,     [ prov:type="WasAssociatedWithAsLoggedInUser", ex:how="webapp" ])
>     wasAssociatedWith(ex:a, ex:ag2, ex:wf, [ prov:type="WasAssociatedWithAsDesigner", ex:context="project1" ])
>     wasAssociatedWith(a, ag1, [ prov:type="WasAssociatedWithAsLoggedInUser" ])
>     wasAssociatedWith(a, ag, [ prov:type="WasAssociatedWithAsOperator" ])
>     used(ex:div01, ex:cell, [ prov:type="UsedAsDivisor" ])
> 
> It feels that all role information can be expressed as type.
> 
> So, 
> 1. when should we encode this kind of information with prov:type and when should do with prov:role.

I've stated above.

> 2. what distinguishes prov:role from prov:type?

I've stated above.

> 3. what's the definition of prov:role

I defer to the Definition Gods. Am happy to dance if it helps.

> 4. should we drop prov:role, and just use prov:type?

No.

-Tim



[1] http://dvcs.w3.org/hg/prov/file/6268a6b16f6f/examples/eg-30-roles-in-algebraic-division/rdf/eg-30-roles-in-algebraic-division.ttl



> 
> Luc
> 
> 
> On 05/29/2012 02:54 PM, Timothy Lebo wrote:
>> 
>> Currently, only Association (or Start, End, Usage, Generation) may use hadRole.
>> 
>> Looking back, I see that one of the prov-o examples violates this:
>> https://dvcs.w3.org/hg/prov/raw-file/default/ontology/Overview.html#qualifiedResponsibility
>> by putting a role on a Delegation.
>> 
>> 
>> Association, Attribution, and Delegation are the three ways to ascribe responsibility.
>> 
>> May we relax hadRole and permit its use on Attribution and Delegation?
>> 
>> (so, for this issue, +1; and a new issue to add it to Delegation, too :)
>> 
>> -Tim
>> 
>> 
>> On May 26, 2012, at 5:48 AM, Paul Groth wrote:
>> 
>>   
>>> Hi Luc,
>>> 
>>> It's unclear to me if attribution has an underlying activity. If we
>>> agree on that then the definition falls out and we should could use
>>> prov:role with respect to activity.
>>> 
>>> I guess the argument could be that there is always an activity that
>>> links the agent to an entity in the end. Is that what we say in the
>>> end?
>>> 
>>> Thanks
>>> Paul
>>> 
>>> On Thu, May 24, 2012 at 11:14 PM, Provenance Working Group Issue
>>> Tracker <sysbot+tracker@w3.org> wrote:
>>>     
>>>> PROV-ISSUE-384 (prov-role-in-attribution): prov:role in attribution or not? [prov-dm]
>>>> 
>>>> http://www.w3.org/2011/prov/track/issues/384
>>>> 
>>>> Raised by: Luc Moreau
>>>> On product: prov-dm
>>>> 
>>>> 
>>>> In the example,
>>>> http://www.w3.org/TR/prov-dm/#anexample-attribution,
>>>> we write:
>>>> wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, [prov:role="editor"])
>>>> 
>>>> 
>>>> But in
>>>> http://www.w3.org/TR/prov-dm/#term-attribute-role
>>>> we say:
>>>> The attribute prov:role denotes the function of an entity with respect to an activity, in the context of a usage, generation, association, start, and end.
>>>> 
>>>> 
>>>> So,
>>>> 1. Do we want to accept prov:role in Attribution?
>>>>  (or, it's not a prov:role but prov:type we should use?)
>>>> 
>>>> 2. If yes, does it mean the definition of prov:role needs to be changed?  where is the activity?
>>>> 
>>>> 3. Should we have an optional activity in Attribution?
>>>> 
>>>> Luc
>>>> 
>>>> 
>>>> 
>>>>       
>>> 
>>> 
>>> -- 
>>> --
>>> 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
>>> 
>>> 
>>>     
>> 
>>   
> 
> -- 
> 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 Tuesday, 29 May 2012 17:27:57 UTC