Re: about EntityInRole and assumedBy

Comments inline below.

On Oct 26, 2011, at 9:22 AM, Luc Moreau wrote:

> 
> Dear all,
> 
> I would like to reiterate again my concern about the mismatch between
> prov-dm and prov-o. I think the two notions the documents diverge on are
> entityInRole (a subclass of Entity) and assumedBy (which in essence is
> a kind of specialization of wasComplementOf).
> 
> They are introduced in the ontology to be able to express time and qualifiers
> (including role) for use and generation.
> 
> It is suggested by JamesC and Graham that we write examples to understand the
> differences, it is a very good point that I support.
> 
> I would like to explain the problem I have with the EntityInRole solution.
> 
> Let's take the case of a used relation (ideas apply similarly to generation).
> Let's imagine there is no qualifier/time information.
> We want to be simple, and express a property, as prov-o does:
> 
> Encoding1:
>  pe prov:used e1
> 
> If we suddently have time information or role, according to prov-o, we would have to write:
> 
> Encoding2:
> 
> pe prov:used e1X
> e1X  prov:assumedBy e1
> e1X  prov:assumedAt t1
> e1X  prov:assumedRole r
> 
> My problems are the following:
> 
> - Encoding2 is not an extension of encoding1: it  does not just add new edges,
>  it removes some.
>  But according to the data model, we just have added extra information.

We have also run into this issue in the narrative of the worked example of the primer.  Roles are introduced later in the worked example than the relationships they qualify, yet our implementation of roles is not to add new information, but a reorganization in how that information is structured.  This causes problems in the narrative because we are explaining an existing provenance encoding piece by piece, and suddenly a previously described section of the provenance needs to be changed.

Also, there is a fundamental mismatch between prov-dm and prov-o on roles.

In prov-dm roles are supposed to be qualifiers on the used and generatedBy relationships.  In prov-o role is a qualifier on an entity, its relationship to used and generatedBy is implicit and indirect.

I am worried that this could be a source of confusion for potential users of the system, but I think a more pertinent objection (as noted by Luc) is that I can add role qualifiers without changing the structure of my provenance and thereby removing existing statements.

That is, unless we are ok with a multiple used relationships existing (one with role, one without) for conceptually a single use of an entity.  

--Stephan

> 
> - why should I change my "modelling of what happens in the world",
>  encoding2 has got two entities when encoding1 has got only one.
> 
> - I believe it would be reasonable to write
>    e1X wasComplementOf e1  (since it looks like e1X has attributes that e1 doesn't have,
>    and have a common time interval).
> 
>  What's the difference between e1X WasComplementOf e1 and e1X assumedBy e1?
>   wasComplementOf is hard enough, why do we have to have something so similar to it,
>   but restricted to entityInRole?
> 
> - Imagine the scenario is more complex and e1 is used by a second process in another
>  role, at time t2>t1 so we may have another entity e2X.
>  It would also be reasonable to write e2X wasDerivedFrom e1X because e2X follows e1X.
>  But this wouldn't be possible in prov-dm, unless we explictly introduce e1X and e2X.
> 
> 
> Cheers,
> Luc
> 
> 
> -- 
> 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 Wednesday, 26 October 2011 16:51:31 UTC