Re: prov-o example relations

Hi,

thank you Satya for producing these.
what follows is NOT a comment on the relative merit of each of the solutions. It is a more general comment, possibly off the mark 
but I foresee a few eyebrows raising.

Both versions of the encoding look quite impressive indeed. By this I really mean: I am slightly worried that the proliferation of 
nodes in the RDF graph for such a simple example may be seen as a warning sign when scaling up to more interesting provenance graphs.
The OPMO approach includes 22 nodes and the same order number of properties, plus the rdf:type properties.
The EntityInRole approach has 19 nodes, about as many properties, and 3 new OWL classes.

All of this for a simple workflow with two division tasks, with two inputs and one output each. Are people really comfortable with this?
I am thinking of the provenance graph associated to some complex script, which is the least the /scientific community/ would want to 
use this for.

For reference, at the bottom is (my intepretation of -- please correct) what the example looks like in PROV-DM ASN.

--Paolo


On 11/2/11 11:43 PM, Satya Sahoo wrote:
> Hi Luc,
> I have attached the updated figures with time information (t1, t2, t3, t4) using the wasUsedAt and wasGeneratedAt properties 
> introduced by Stian. The diagram also includes wasDerivedFrom properties.
>
> The specialized classes such as numerator, denominator (both in the EntityInRole and OPMO approaches) represent how qualifiers in 
> the PROV-DM translate to sub classes in the two diagrams.
>
> As I mentioned during the ontology telcon, I am not sure I understood your points 2 and 3.
>
> Thanks.
>
> Best,
> Satya
>
> On Sun, Oct 30, 2011 at 10:54 PM, Luc Moreau <L.Moreau@ecs.soton.ac.uk <mailto:L.Moreau@ecs.soton.ac.uk>> wrote:
>
>     Hi Satya, and team prov-o,
>
>     To gain a fuller understanding of the two approaches, Would it be possible to do the following.
>
>     1. Show derivations: wdf(2,8) and wdf(8,40) and wdf(8,5)
>
>     2. In the opmo like example, show opmv properties (eg wasGeneratedBy inferred from Generation class)
>
>     3. Show the same examples without roles, and display the difference between an encoding with role and an encoding without role
>
>     4. Show time
>
>     5 Show qualifiers as in prov-dm
>
>     thanks
>

entity(e1, [ value = "40"])
entity(e2, [ value= "5"] )
entity(e3, [ value= "8"'] )
entity(e4, [ value= "2"'] )
entity(e5, [ value= "4"'] )

processExecution(p1, division, t1, t2)
processExecution(p2, division, t3, t4)

// derivations  (from which used, generatedBy are inferred)
wasDerivedFrom(e3, e1, p1, qualifier(role="result"), qualifier(role="numerator"))
wasDerivedFrom(e3, e2, p1, qualifier(role="result"), qualifier(role="denominator"))

wasDerivedFrom(e5,e3,p2, qualifier(role="result"), qualifier(role="numerator"))
wasDerivedFrom(e5,e4,p2, qualifier(role="result"), qualifier(role="denominator"))

// END

// OR: explicit used/genBy assertions

used(pe1, e1, qualifier(role="numerator"))
used(pe1, e2, qualifier(role="denominator"))
wasGeneratedBy(e3,pe1,qualifier(role="result"))

used(pe2, e3, qualifier(role="numerator"))
used(pe2, e4, qualifier(role="denominator"))
wasGeneratedBy(e5,pe2,qualifier(role="result"))

Received on Thursday, 3 November 2011 10:30:34 UTC