- From: Timothy Lebo <lebot@rpi.edu>
- Date: Tue, 29 May 2012 13:25:15 -0400
- To: Luc Moreau <L.Moreau@ecs.soton.ac.uk>
- 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>
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