Re: Definition of role

On 04/06/2012 09:30, Paul Groth wrote:
 > Simon, Graham,
 >
 > I'm wondering how to model something like an argument to an
 > application using this typing based approach. This is what we use
 > roles for all the time in other provenance models. To be concrete,

Paul,

I think the typing approach can work just fine, but to explain how, I think I 
need to adopt a particular model of process invocation for activities.  (The 
typing mechanism itself doesn't assume such a model, it's just a device to help 
me to explain.)

So, let's assume an application that takes two input resources.  Let's model 
this application as a function:

     result = app(p1, p2)

For this explanation, I shall also use the name 'app' to describe an activity of 
running this application, with specific entities thus:

     resultfile = app(inputfile1, inputfile2)

Now, we have:

     used(app,inputfile1)
     used(app,inputfile2)

I.e. taken alone, "used" does not distinguish whether an entity was used for p1 
or p2 in the app modeled as function.  The relation used in this case contains 
the following pairs:

    (app, inputfile1)
    (app, inputfile2)

Now, let's try adding a role (using prov:role for now; could equally be prov:type):

    used(app, inputfile1, [prov:role=p1])

What this intends to do is create a sub-relation of used, let's call it 
used[p1], which contains the following pair:

    (app,inputfile1)

but does not contain

    (app,imnputfile2)

In this way, it's a subtype of the unadorned used relation.

A similar exercise can be done for p2 and inputfile2.

The above is presented with respect to the data model.  In RDF, this could be a 
subproperty of prov:used as you suggest (assuming that's consistent with the way 
PROV-O handles these things;  but I thought that's what qualified relation 
patterns were introduced to handle - I think either is OK for RDF, but PROV-O 
will quite reasonably want to promote a particular pattern).

#g
--

On 04/06/2012 09:30, Paul Groth wrote:
> Simon, Graham,
>
> I'm wondering how to model something like an argument to an
> application using this typing based approach. This is what we use
> roles for all the time in other provenance models. To be concrete,
>
> ex:prg1 a prov:Activity.
> ex:prg1 prov:used ex:file1.
>
> how do I define the ex:file1 is the first argument to prg1? Would I
> define a new relation? e.g
>
> ex:prg1 ex:firstArgument ex:file1.
> ex:firstArgument rdfs:subPropertyOf prov:used.
>
>
> thanks
> Paul
>
>
>
>
> On Sun, Jun 3, 2012 at 9:34 PM, Graham Klyne<graham.klyne@zoo.ox.ac.uk>  wrote:
>> I already provided one [1] ... I'm not sure I can do better.
>>
>> #g
>> --
>>
>> [1] http://lists.w3.org/Archives/Public/public-prov-wg/2012May/0447.html
>>
>> On 03/06/2012 17:46, Paul Groth wrote:
>>> Hi Graham,
>>>
>>> Can you suggest an alternative english language definition? I know you
>>> had wanted to proceed from a technical definition.... but I'm looking
>>> for a mechansim to get consensus.
>>>
>>> Thanks
>>> Paul
>>>
>>> On Sun, Jun 3, 2012 at 10:06 AM, Graham Klyne<graham.klyne@zoo.ox.ac.uk>    wrote:
>>>> On 01/06/2012 18:01, Paul Groth wrote:
>>>>> Hi All,
>>>>>
>>>>> Trying to come to some route forward. If we can agree on the following
>>>>> English definition, then we can set about finding good relation names:
>>>>>
>>>>> A role is the function of an entity, activity, or agent in the context
>>>>> of a relation. The subject and object of relations may be given roles.
>>>>
>>>> -1
>>>>
>>>> I don't think the role necessarily relates to a distinguished component of the
>>>> relation.  E.g consider delegation:  when agent A1 delegates role R to agent A2,
>>>> the role R here is not specific to A1 or A2, but represents a transfer of
>>>> responsibility between them.
>>>>
>>>> #g
>>>> --
>>>>
>>>>>
>>>>> On Thu, May 31, 2012 at 10:45 PM, Luc Moreau<L.Moreau@ecs.soton.ac.uk>      wrote:
>>>>>> tracker,
>>>>>>
>>>>>> This is ISSUE-384
>>>>>>
>>>>>
>>>
>>>
>>>
>
>
>

Received on Monday, 4 June 2012 17:12:26 UTC