Re: Roles (was: Testing the ontology for expressing workflow provenance)

On 09/09/2011 16:22, Luc Moreau wrote:
> Hi Simon and Stian,
>
> It's a good example. Our focus is on exchanging provenance
> between systems in an inter-operable manner.
>
> mywf:usedValue requires knowledge of a domain specific ontology.

Well, it *might* require such knowledge, but not necessarily.

A very simple option would be to make two assertions:

taverna:2613
    a prov:ProcessExecution;
    mywf:usedValue taverna:676;
    prov:used taverna:676.
mywf:usedValue rdfs:subPropertyOf prov:used.

Which is semantically equivalent to the original example.

(I'm not suggesting this approach, but using it to illustrate a point.)

In this case, applications that don't have domain specific knowledge can still 
access the "coarser-grained" generic information that some resource was 
'prov:used', and that may be sufficient for some requirements for interop, and 
simply ignore the domain specific stuff they don't understand.  That's at the 
heart of what RDF was designed to allow (IMO).

If you try to make the totality of information presented with provenance 
interoperable, you end up trying to "boil the ocean" by representing all 
possible knowledge.  So there has to be some scoping of what we mean by 
interoperable.

Maybe I'm labouring the obvious here - if so, I apologize.

So, returning to Stan's example, the same information as the above example is 
available provided the processor can interpret the rdfs:subPropertyOf and make 
the appropriate inferences.  Hence my assertion that interooperability does not 
necessarily require knowledge of the domain ontology used if this kind of RDF 
representation for roles is adopted.

#g
--

> I see here the benefit of a role (I guess role type) as an encoding
> of that specialisation of use.
>
> Luc
>
>
>
> On 09/09/2011 03:35 PM, Simon Miles wrote:
>> I could imagine many users might specialise the "used" property to
>> express more precisely how an entity was used, e.g.
>>
>> taverna:2613
>> a prov:ProcessExecution;
>> mywf:usedValue taverna:676.
>> mywf:usedValue rdfs:subPropertyOf prov:used.
>>
>> Does this make sense? Assuming we have no power to stop this being
>> done, does it have a different meaning to ascribing a role using the
>> Role class?
>>
>> Thanks,
>> Simon
>>
>> On 9 September 2011 12:41, Stian Soiland-Reyes
>> <soiland-reyes@cs.manchester.ac.uk> wrote:
>>> On Fri, Sep 9, 2011 at 12:35, Stian Soiland-Reyes
>>> <soiland-reyes@cs.manchester.ac.uk> wrote:
>>>
>>>
>>>> <http://ns.taverna.org.uk/2011/run/2613aab1-dfe9-4a17-a4be-7589f5d388d6/>
>>>> a prov:ProcessExecution;
>>>> prov:used [
>>>> rdf:type
>>>> <http://ns.taverna.org.uk/2010/workflow/ea4168eb-67ea-440f-ab73-818da5efc998/processor/String_constant/out/value>
>>>>
>>>> prov:assumedBy
>>>> <http://ns.taverna.org.uk/2011/data/2613aab1-dfe9-4a17-a4be-7589f5d388d6/ref/153277f1-5e4f-43fc-968d-ab3a8b038676>
>>>>
>>>> ;
>>> Note that I messed up the direction here - if something was 'used'
>>> then the role should of course be an *input* port. Just imagine
>>> s/Output/Input/g for the whole thing as it is not possible to edit an
>>> email once it's sent. :-)
>>>
>>>
>>> (I wanted to do the discussion on 'used' rather than 'generated' - as
>>> use can naturally occur in several roles in several process execution
>>> - and indeed in several roles for the same execution)
>>>
>>> --
>>> Stian Soiland-Reyes, myGrid team
>>> School of Computer Science
>>> The University of Manchester
>>>
>>>
>>
>>
>

Received on Friday, 9 September 2011 16:54:49 UTC