PROV-ISSUE-103 (qualifiers-and-roles): Qualifiers and roles in the ontology [Formal Model]

PROV-ISSUE-103 (qualifiers-and-roles): Qualifiers and roles in the ontology [Formal Model]

http://www.w3.org/2011/prov/track/issues/103

Raised by: Stian Soiland-Reyes
On product: Formal Model

file:///home/stain/stuff/src/provenance-wg/prov/ontology/ProvenanceFormalModel.html#role defines a prov:Role as a subclass of prov:Entity.

the example shows:
<CrimeFile#Alice> cf:assumesRole cf:Author

Beyond "assumesRole" here being in the crime ontology, I don't particularly like this approach, because if #Alice is controlling two different process executions, one as an #Author and one as a #Editor, that can't reliably be expressed with the single #Alice. My understanding of using Role as a subclass of Entity was that you could specialise the entity with a new "roled" entity which locks down which role is assumed. This roled entity (prov:EntityInRole I proposed to call it) can then be used by prov:used, prov:wasControlledBy etc. It looks slightly strange for the prov:wasGeneratedBy case, though.

But in the formal model, it has not yet been resolved how roles are meant to be used in the places where the conceptual model uses roles. In particular the model now declares the use of more general *qualifieres*, which can be attached to wasGeneratedBy, used, wasDerivedFrom and wasControlledBy, where the qualifier "role" (we assume something like prov:role in the ontology) is reserved for the purpose cf:assumesRole tries to fit - although in the conceptual model a role is just a string, not an identifier/URI.


Are there any further examples of such qualifiers beyond "role"?

Given the conceptual model's requirements for arbitrary attributes attached to the generation, use, derivation and control, I am not convinced that my previously suggested EntityInRole (as a rename of prov:Role), using  prov:wasComplementOf or prov:assumedBy back to the original entity, would do the trick anymore. The question would be which attributes are part of the entity, and which of the relation, it also becomes quite cumbersome having to repeat the characterising attributes every time.

So one way out is to introduce a new prov:EntityRelation class instead. This is not a subclass of prov:Entity (and does not describe something in the world), but is added by owl:union to the domain/range of the properties which relates to entities.  Here any attributes will correspond do the qualifiers, and this would be an old-style n-ary glue class. The shadowed entity is only included by a prov:relatedToEntity property, the old attributes of the entity is not mirrored.

Any other takers? I don't want to focus on an OWL vs RDF discussion, just some practical solutions would be great - I struggled with the lack of how to describe roles when doing the workflow example in http://dvcs.w3.org/hg/prov/raw-file/default/ontology/ProvenanceFormalModel.html#modeling-an-example-scientific-workflow-scenario

Received on Wednesday, 28 September 2011 14:17:48 UTC