Context: Activities have a start and an end (corresponding to event defined in part II). Entities have a characterization interval, with a generation event marking the interval beginning, but no event marking the interval end.
It is proposed to introduce an explicit event that marks the end of an entity characterization interval. Some suggested that it could be a "invalidation" event, others felt the term invalidation is too strong, but no alternate term has been proposed so far.
PROPOSED: to introduce a prov-dm concept that marks the end of an entity lifetime. Its name remains to be determined.
For now, INVALIDATION is used as placeholder name
The text would include the following.
Tentative definition: Invalidation is the end of an entity's lifetime. This entity becomes unavailable for usage after invalidation. This entity no longer exists after invalidation. Any generation or usage of an entity precedes its invalidation.
While each of the components activity, time, and attributes is OPTIONAL, at least one of them MUST be present.
In the following example, invalidation is caused by a new version of an entity being made available. Let us consider the resource tr:prov-dm when it was the first working draft (attribute ex:version=1). This resource was no longer the first working draft, as soon as the second working draft was published. Hence, tr:prov-dm was invalidated by ex:act2, when it published tr:WD-prov-dm-20111215.
entity(tr:prov-dm,[prov:type="working draft", ex:version="1"]) wasInvalidatedBy(tr:prov-dm,ex:act2,2011-12-15T16:00:00) activity(ex:act2,,,[prov:type="publish"]) wasGeneratedBy(tr:WD-prov-dm-20111215, ex:act2,2011-12-15T16:00:00)
In the following example, invalidation is caused by the disappearance of an entity. Let us consider the proceedings of the 2002 Chicago provenance workshop. They used to be hosted at http://people.cs.uchicago.edu/~yongzh/position_papers.html, and were lost as a researcher left the hosting institution. The proceedings were restored at ipaw:2002.
entity(chicago:wkshp2002,[prov:type="workshop talks"]) wasInvalidatedBy(chicago:wkshp2002,2010-08-21T00:00:00) entity(ipaw:wkshp2002,[prov:type="workshop talks"]) activity(ex:restore,[prov:type="Restore"]) wasGeneratedBy(ipaw:wkshp2002,ex:restore,2012-03-09T0:00:00) wasDerivedFrom(ipaw:wkshp2002,chicago:wkshp2002)
PROPOSED: to formulate start and end of activities independently of responsibility and agents. Hence, start and end of activity would no longer be a form of activity association. Instead of an agent, an optional entity trigger would be allowed.
The text would include the following.Start is when an activity is deemed to have started. The activity did not exist before its start. Any usage, generation, or invalidation involving an activity follows its start. End is when an activity is deemed to have ended. The activity no longer exists after its end. Any usage, generation, or invalidation involving an activity precedes its end.
An activity start, written wasStartedBy(id,a,e,t,attrs) in PROV-ASN, contains:
The following example contains the description of an activity a1 (a discussion), which was started at a specific time, and was triggered by an email message e1.
entity(e1,[prov:type="email message"]) activity(a1,[prov:type="Discuss"]) wasStartedBy(a1,e1,2011-11-16T16:05:00)Furthermore, if the activity happens to consume the message content, then the message would also be regarded as an input to the activity, which we describe as follows:
The relations wasStartedBy and used are orthogonal, and thus need to be asserted independently, according to the situation being described.
An activity end, written wasEndedBy(id,a,e,t,attrs) in PROV-ASN, contains:
The following example is a description of an activity a1 (editing) that was ended following an approval document e1.
entity(e1,[prov:type="approval document"]) activity(a1,[prov:type="Editing"]) wasEndedBy(a1,e1)
In the following example, a race is started by a bang, and responsibility for this trigger is attributed to an agent ex:DarthVader.
activity(ex:foot_race) wasStartedBy(ex:foot_race,ex:bang,2012-03-09T08:05:08-05:00) entiy(ex:bang) agent(ex:DarthVader) wasAttributedTo(ex:foot_race,ex:DarthVader)
wasStartedBy(activity,entity) wasStartedBy(activity,activity)This overloading is problematic in the ontology.
PROPOSED: to rename wasStartedBy(activity,activity) in wasStartedByActivity(activity,activity)