A valid question when writing provenance in responsibility view and process view is:
Should we attribute contributors from entities, isn’t that what the activities are showing?
Specially when roles it may seem unnecessary to also declare
It is true that you can conclude from:
then there was some activity
X such that:
However you can’t conclude the opposite directions – someone might be associated with an activity but not be responsible for a particular entity generated by that activity.
Imagine three family members writing Christmas cards:
activity(ex:WritingCards) wasAssociatedWith(ex:Alice, ex:WritingCards, prov:role=['ex:Writing']) wasAssociatedWith(ex:Bob, ex:WritingCards, prov:role=['ex:Writing']) wasAssociatedWith(ex:Charlie, ex:WritingCards, prov:role=['ex:Addressing']) entity(ex:cardToEve)
entity(ex:cardToMalory)wasGeneratedBy(ex:cardToEve, ex:WritingCards) wasGeneratedBy(ex:cardToFrank, ex:WritingCards) wasGeneratedBy(ex:cardToMalory, ex:WritingCards)
Now from this we may want to give the cards attribution to the individual agents, and while we can perhaps assume Charlie has written the address on all the cards, we don’t know if it was Alice or Bob who
wrote the particular card going to Frank.
We therefore can add more specifically:
.. and for completeness:
This highlights that responsibility view and process view can complement each other.
It is part of our modelling to decide what is considered “work height” in terms of attributions. Perhaps we should not consider Charlie putting on addresses as part of writing the cards, if what mattered was the personalized message, not how the cards were posted.
It is possible to also assign
wasAttributedTo relations, e.g.
ex:authorship, but this can easily become overlapping with the roles in associations with the corresponding activity. This is perhaps more useful when the activity is not explicitly declared, or we want to declare explicit contributor roles using metadata models like CRediT.