From Provenance WG Wiki
Definition for Concept 'Generation'
The Provenance WG charter identifies the concept 'Generation' as a core concept of the provenance interchange language to be standardized (see http://www.w3.org/2011/01/prov-wg-charter).
- What term do we adopt for the concept 'Generation'?
- How do we define the concept 'Generation'?
- Where does concept 'Generation' appear in ProvenanceExample?
- Which provenance query requires the concept 'Generation'?
Proposed Definitions for the Concept 'Generation'
Definition by Jun
Examples of generation relationship from the ProvenanceExample:
- The relationship between RDF (f1) and the conversion process by gov
- The relationship between the provenance information (prov) regarding RDF (f1) and the process of the gov generating this provenance information
The working definition of provenance by the provenance incubator group says that:
Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource.
Therefore, to describe the provenance of this 'generated' resource we should refer to the execution process that generated it. If we want to express this generation provenance of a resource, we should probably rename it to a more appropriate term, like generatedBy.
Proposed addition by Daniel
Generation expresses the relationship between a resource and the process execution that generated the resource. Optionally, the generation can be related to additional metadata describing it, such as the date when it was produced or the place where it occurred. Instead of a binary relationship it would become a n-ary relationship.
- The relationship between RDF (f1) and the conversion process by gov at time t.
Definition of Generation as Event.
Generation is an event that indicates the creation of an "Invariant View or Perspective on a Thing" by a process execution at a given time.
Note, Use can also be defined similarly.
Whether this is a concept or a relationship seems to me more relevant to the formalization of the vocabulary, and may depend on what we want to say (or infer) about such events.
--Luc Moreau 08:45, 2 June 2011 (UTC)
A key aspect of this definition is that Generation is defined as an event, as opposed to a relationship (as in the definitions above). The reasons why I think it is important:
- Generation changes the state of the system by creating something new, which didn't exist before (Jim says in his definition). Hence, it's good to use a term such as event/transition/action.
- The term relationship makes me think about an encoding of this concept, more than a definition of the concept itself.
A second important aspect is that a time is associated with generation (and again it's optional to assert it).
--Luc Moreau 20:20, 16 June 2011 (UTC)
Definition of Generation by Luc
Generation of an IVPT by a process execution:
Generation is the act by which a process execution creates or changes a thing, resulting in a new IVPT of that thing.
Generation is associated with a time (the time at which the new IVPT begins its existence), though statements about generation do not have to mention time.
--Luc Moreau 22:18, 9 June 2011 (UTC)
This definition was based on the premise that an IVPT was a type different than an thing. Today we agreed it was not the case.
--Luc Moreau 20:16, 16 June 2011 (UTC)
Definition of Generation By Jim
As per Jun and Daniel - generation is the relationship between a process execution and a resource/thing created by that process.
For X to be generated by a process execution P, it must be true that, according to the definition of X (in some out of scope ontology) that:
- X did not exist before P began,
- X began to exist sometime before P ended, and
- X would not have begun existing if P had not occurred/P was necessary for X's existence to happen.
An object Y defined in such a manner that P changes some aspect/some state of Y cannot, as a corrolary of the above, be considered to be generated by P. Y 'participates in/is modified by' (separate definition needed) P.
It is possible that resource/thing X is recognizable as a more stateful view of resource/thing Y (X isAnIPVTof Y) in which case the views of "X being generated by P" and "Y 'participatingin/beingModifiedBy' P" are consistent.
Definition by Jim and Luc (in progress)
This definition relies on the concept of Thing (ConceptInvariantViewOnThing)
In the real world, "stuff" (described in terms of physical, digital, logical, conceptual, other types of entities) evolve, change, are transformed, fused, divided, etc. In PIL (Provenance Interchange Language), real-world activities are modeled as "process executions".
Generation is the action/transition/event by which a process execution creates a thing.
Generation is associated with a time (the time at which the new thing begins its existence), though statements about generation do not have to mention time.
For a thing X to be generated by a process execution P, the following must hold:
- X did not exist before its generation (this means that nothing had the thing's identity before then)
- Generation occurs after P's beginning and before P's end
- Several options to discuss:
- P and things used by P determine the values of X's invariant properties, but not the values of variant properties (too(?) strict)
- P and things used by P determine values of some of X's invariant properties (less strict)
Comment by Paolo
In principle I find it natural to have actions/events as part of a model, however those are normally used in process modelling. I don't think we are modelling processes, rather their effect on data. So this may generate confusion?
blah, blah, blah