From: Timothy Lebo <lebot@rpi.edu>
Date: Tue, 29 May 2012 13:25:15 -0400
Cc: Paul Groth <p.t.groth@vu.nl>, Provenance Working Group <public-prov-wg@w3.org>
Message-Id: <94B6594B-2CB4-4831-821F-80BDF159F443@rpi.edu>
To: Luc Moreau <L.Moreau@ecs.soton.ac.uk>
```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:qualifiedUsage [
a prov:Usage;
prov:entity :divisor;
];

prov:qualifiedGeneration [
a prov:Usage;
prov:entity :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:
>>>
>>>>
>>>> http://www.w3.org/2011/prov/track/issues/384
>>>>
>>>> Raised by: Luc Moreau
>>>> On product: prov-dm
>>>>
>>>>
>>>> In the example,
>>>> 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

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:58:15 UTC