Renaming the concept Responsibility
Proposal: Find a new name for "Responsibility"
Please mention "ISSUE-376" in email.
- Delegation (a name we've used before)
- - con: performing agents can do things without "being told to do it"
- + pro: suits the unqualified form actedOnBehalfOf
- (keep) Responsibility
- - con: The name of the concept "Responsibility" and the OWL class prov:Responsibility are not clearly distinguished from their counterparts Association and Attribution.
- - con: The name "Responsibility" does not match its unqualified name actedOnBehalfOf
The latest published DM defines Association as:
An activity association is an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity. It further allows for a plan to be specified, which is the plan intended by the agent to achieve some goals in the context of this activity.
:car_crash a prov:Activity; prov:wasAssociatedWith :bad_driver; .
And defines Attribution as:
Attribution is the ascribing of an entity to an agent.
:broken_lightpost a prov:Entity; prov:wasGeneratedBy :car_crash; prov:wasAttributedTo :bad_driver; .
Note that Association mentions "responsibility" (as it should, that's the point of the relation). Attribution is also ascribing a [responsible] agent to an entity. So both Association and Attribution tie something [Entity, Activity] to a responsible Agent.
In PROV-O, when we instantiate instances of Association or Attribution, we are adding descriptions to some unqualified wasAssociatedWith or wasAttributedTo relations (respectively).
But when we instantiate an instance of Responsibility, one could reasonably expect to be adding descriptions to the same unqualified relations wasAssociatedWith or wasAttributedTo (since they are expressing "responsibility").
Instead, instances of Responsibility are adding descriptions to the unqualified actedOnBehalfOf relation:
:bad_driver a prov:Agent; prov:actedOnBehalfOf :police_department; prov:qualifiedResponsibility [ # prov:qualifiedBehalf would suit prov:actedOnBehalfOf a prov:Responsibility; # prov:Behalf would suit prov:actedOnBehalfOf prov:agent :police_department; :onDuty true; ]; .