Re: PROV-ISSUE-150: question on formal semantics of role in wasGeneratedBy relation [Formal Semantics]

On Nov 14, 2011, at 5:23 PM, Provenance Working Group Issue Tracker wrote:

> 
> PROV-ISSUE-150: question on formal semantics of role in wasGeneratedBy relation [Formal Semantics]
> 
> http://www.w3.org/2011/prov/track/issues/150
> 
> Raised by: Stephan Zednik
> On product: Formal Semantics
> 
> I am slightly confused about the formal semantics of the role qualifier in a wasGeneratedBy relation.
> 
> from http://www.w3.org/TR/prov-dm/#prov-dm-overview
> 
> "Qualifiers can be associated to relations, namely use and wasGeneratedBy, in order to further characterize their nature. Role is a pre-defined qualifier."
> 
> and from http://www.w3.org/TR/prov-dm/#expression-qualifier
> 
> "The PROV data model introduces the qualifier role in the PROV-DM namespace to denote the function of a characterized thing with respect to an activity, in the context of a use/generation/control relation. The value associated with a role attribute must be conformant with Literal."
> 
> I have sensed confusion in the prov-o discussions as to whether the role in a generation is played by the process execution or the generated entity.


I don't think many people have misinterpreted the prov:hadRole's value to be the role of an Activity; it is the role of the Entity, as you cite from the DM above.


>  Can a generated entity play a role in the activity that generates it?

Absolutely

>  Can a process execution play a role, that is be the characterized thing that has a function in an activity?


The Activity is self-roling. It's existence establishes its characterization and can be modeled explicitly by specializing Activity.


>  Does the definition of role need to be changed?

I don't think so.

> 
> I know discussion of role has taken up a lot of time, this sure has turned out to be a tricky issue, but I think getting qualifiers right is worth it.
> 
> There is an example in the primer, http://dvcs.w3.org/hg/prov/raw-file/default/primer/Primer.html#roles-1,


1) The name  ex1:aggregated seems a bit odd, since it sounds like it is the output and not the activity itself.

2) I'd suggest adding types for Activities in the examples. 

> but I am not sure if it is representative of the intent for role on a generation relation.
> 
> ex1:aggregated
>   prov:hadQualifiedGeneration [ a prov:Generation ;
>       prov:hadQualifiedEntity ex1:aggregate1 ;
>       prov:hadRole ex1:aggregatedData
>   ] .


Perhaps the example from http://www.w3.org/2011/prov/wiki/Qualifed_Involvements_in_PROV-O#Qualified_Generation_with_Roles
would make roles of generated entities more clear:

:pe
    a prov:ProcessExecution;

    prov:generated :output;
    prov:hadQualifiedGeneration [
       a prov:Generation;
       prov:hadQualifiedEntity         :output;
       prov:hadRole            workflow:output;
    ];

    prov:generated :metadata;
    prov:hadQualifiedGeneration [
       a prov:Generation;
       prov:hadQualifiedEntity         :metadata;
       prov:hadRole            workflow:metadata-of-output-with-log;
    ];
.



-Tim




> 
> --Stephan
> 
> 
> 
> 

Received on Tuesday, 22 November 2011 16:26:35 UTC