derivation
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Wed, 23 Nov 2011 23:39:09 +0000
changeset 1028 79f22dcfc673
parent 1027 39b179fe709e
child 1029 cc338a6ccf28
derivation
model/ProvenanceModel.html
--- a/model/ProvenanceModel.html	Wed Nov 23 23:09:34 2011 +0000
+++ b/model/ProvenanceModel.html	Wed Nov 23 23:39:09 2011 +0000
@@ -1530,24 +1530,32 @@
 <p>In PROV-DM, a <dfn id="dfn-Derivation">derivation record</dfn> is a representation that some entity is transformed from, created from, or affected by another entity in the world.  </p>
 
 <p>In PROV-DM, for an entity to be transformed from, created from, or affected by another in some way, there must be some underpinning activities performing the necessary actions resulting in such a derivation.  
-However, asserters may not have knowledge of these activities: they may not know their number, they may not know their identity, they may not know in what way the relevant entities are used or generated. To accommodate the varying circumstances of the various asserters, PROV-DM allows more or less precise records of derivations to be asserted. </p>
-
-<p>Furthermore, assuming that an asserter has full knowledge of an activity underpinning a derivation, the same activity can generally be modelled in terms of sub-activities, composed in a such a way as to deliver the same behavior. Hence, since activities can be modelled at arbitrary levels of granularity, there is a distinguished case in which a derivation between two entities <span class="name">e2</span> and <span class="name">e1</span> corresponds <em>exactly</em> to <em>one</em> activity that used <span class="name">e1</span> and generated <span class="name">e2</span>.    This particular case of derivation is referred as <em>first degree, exact derivation</em>. </p>
-
-<p>To sum up, PROV-DM offers three forms of derivation, precise or imprecise, corresponding to n=1 activity or to n&ge;1 activties.  The following table summarises names for the three kinds of derivation. We note that the fourth case of a precise derivation, when the number of activities is unknown, is a contradiction.</p>
+However, asserters may not have knowledge of these activities: they may not know their number, they may not know their identity, they may not know in what way the relevant entities are used or generated. To accommodate the varying circumstances of the various asserters, PROV-DM allows more or less precise records of derivation to be asserted.  Hence, PROV-DM uses the terms <em>precise</em> and <em>imprecise</em> to characterize the different kinds of derivation record.</p>
+
+<p>Furthermore, assuming that an asserter has full knowledge of an activity underpinning a derivation, the same activity can generally be modelled in terms of sub-activities, composed in a such a way as to deliver the same behavior. Hence, since activities can be modelled at arbitrary levels of granularity, there is a distinguished case in which a derivation between two entities <span class="name">e2</span> and <span class="name">e1</span> corresponds <em>exactly</em> to <em>one</em> activity that used <span class="name">e1</span> and generated <span class="name">e2</span>.    This is to be contrasted to the case where one activity corresponds to n activities, where n can be any number greater than 1.
+Hence, PROV-DM uses the terms <em>one-activity</em> and <em>n-activities</em> to distinguish these two cases.</p>
+
+
+
+<p>We can then form a matrix of possible derivations, precise or imprecise, or corresponding to one activity or  n activities.
+Out of the four possibilities, PROV-DM offers three forms of derivation, while the  fourth one is not meaningful.  The following table summarises names for the three kinds of derivation. </p>
 <div class="table">
 <table border="1" align="center">
-<tr><td>activity number</td><td>precise</td><td>imprecise</td></tr> 
-<tr><td>n=1</td><td>degree-1, exact<br> exact-1</td><td>degree-1, lax<br>lax-1</td></tr> 
-<tr><td>n&ge;1</td><td>---</td><td>degree n, lax<br> lax-n</td></tr> 
+<tr><td></td><td>precise</td><td>imprecise</td></tr> 
+<tr><td>one-activity</td><td>precise-1</td><td>imprecise-1</td></tr> 
+<tr><td>n-activities</td><td>---</td><td>imprecise-n</td></tr> 
 <caption>PROV-DM Derivation Type Summary</caption>
 </table>
 </div>
 
+<p> We note that the fourth case of a precise derivation, where the number of activities is known and greater than 1 is not meaningful.
+Indeed, consider that we know that two activities are involved in the derivation of <span class="name">e2</span> from <span class="name">e1</span>.   If these activities are really involved, then there is some intermediary entity generated by the first entity and used by the second.  The derivation is therefore precise, since it does not explain how <span class="name">e2</span> should also be derived from this intermediary entity.
+</p>
+
 
 <p>The three kinds of derivation records are successively introduced.</p>
 
-<p>A first-degree, exact derivation record, written <span class="name">wasDerivedFrom(id, e2, e1, a, g2, u1)</span> in PROV-ASN, contains:</p>
+<p>A precise-1 derivation record, written <span class="name">wasDerivedFrom(id, e2, e1, a, g2, u1)</span> in PROV-ASN, contains:</p>
 <ul>
 <li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the derivation record;</li> 
 <li><em>generatedEntity</em>: the identifier <span class="name">e2</span> of  an entity record, which is a representation of the generated entity;</li>
@@ -1558,7 +1566,7 @@
 </ul>
 
 
-<p>A first-degree, lax derivation record, written <span class="name">wasDerivedFrom(id, e2,e1)</span> in PROV-ASN, contains:</p>
+<p>An imprecise-1 derivation record, written <span class="name">wasDerivedFrom(id, e2,e1)</span> in PROV-ASN, contains:</p>
 <ul>
 <li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the derivation record;</li> 
 <li><em>generatedEntity</em>: the identifier <span class="name">e2</span> of  an entity record, which is a representation of the generated entity;</li>
@@ -1566,7 +1574,7 @@
 </ul>
 
 
-<p>A degree-n, lax derivation record, written <span class="name">wasBasedOn(id, e2,e1)</span> in PROV-ASN, contains:</p>
+<p>An imprecise-n derivation record, written <span class="name">wasBasedOn(id, e2,e1)</span> in PROV-ASN, contains:</p>
 <ul>
 <li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the derivation record;</li> 
 <li><em>generatedEntity</em>: the identifier <span class="name">e2</span> of  an entity record, which is a representation of the generated entity;</li>
@@ -1576,6 +1584,10 @@
 <p>None of the three kinds of derivation is defined to be transitive. Domain-specific specializations of these derivations may be defined in such a way that the transitivity property holds.</p>
 
 <div class="note">
+Proposal: drop the name wasBasedOn and use wasDerivedFrom for all derivation. Require subtypes precise-1, imprecise-1, imprecise-1 to distinguish which kind of derivation  we are considering.  In ASN, the precise-1 derivation can be recognized by its syntactic form. In absence of any other type information, a wasDerivedFrom(id, e2,e1) record would be considered a imprecise-n.
+</div>
+
+<div class="note">
 Give counter-example of transitivity? maybe?
 </div>
 
@@ -1584,8 +1596,8 @@
 <div class='grammar'>
 <span class="nonterminal">derivationRecord</span>&nbsp;:= 
 <span class="nonterminal">exact-1-derivationRecord</span>
-| <span class="nonterminal">lax-1-derivationRecord</span>
-| <span class="nonterminal">lax-n-derivationRecord</span><br/>
+| <span class="nonterminal">imprecise-1-derivationRecord</span>
+| <span class="nonterminal">imprecise-n-derivationRecord</span><br/>
 <br/>
 <span class="nonterminal">exact-1-derivationRecord</span>:=  
 <span class="name">wasDerivedFrom</span>
@@ -1600,7 +1612,7 @@
 <span class="name">,</span>
 <span class="nonterminal">usageIdentifier</span>
 <span class="name">)</span><br/>
-<span class="nonterminal">lax-1-derivationRecord</span>:=  
+<span class="nonterminal">imprecise-1-derivationRecord</span>:=  
 <span class="name">wasDerivedFrom</span>
 <span class="name">(</span>
 <span class="nonterminal">identifier</span>
@@ -1608,7 +1620,7 @@
 <span class="nonterminal">identifier</span>
 <span class="name">)</span>
 <br/>
-<span class="nonterminal">lax-n-derivationRecord</span>:=  
+<span class="nonterminal">imprecise-n-derivationRecord</span>:=  
 <span class="name">wasBasedOn</span>
 <span class="name">(</span>
 <span class="nonterminal">identifier</span>
@@ -1642,7 +1654,7 @@
 <div class="note">These derivations should probably be given attributes like all the other relations.</div>
 
 
-<p>A degree-1, exact  derivation record is a richer  than a degree-1, lax derivation record, itself, being more informative that a degree-n lax derivation record. Hence, the following implications hold.</p>
+<p>An precise-1  derivation record is a richer  than an imprecise-1 derivation record, itself, being more informative that an imprecise-n derivation record. Hence, the following implications hold.</p>
 <div class='constraint' id='derivation-implications'>
 Given two entity records denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the assertion  <span class="name">wasDerivedFrom(e2, e1, a, g2, u1)</span>
  holds for some generation record identified by <span class="name">g2</span>, and usage record identified by <span class="name">u1</span>, then <span class="name">wasDerivedFrom(e2,e1)</span> also holds.<br>
@@ -1657,7 +1669,7 @@
 <p>If a derivation record holds for <span class="name">e2</span> and <span class="name">e1</span>, then 
 this means that the entity represented by entity record identified by <span class="name">e1</span> has an influence on the entity represented entity record identified by <span class="name">e2</span>,
   which at the minimum implies temporal ordering, specified as follows.</p>
-First, we consider degree-1 derivations.</p>
+First, we consider one-activity derivations.</p>
 
 <div class='interpretation' id='derivation-use-generation-ordering'>Given an activity record identified by <span class="name">a</span>, entity records identified by <span class="name">e1</span> and <span class="name">e2</span>, generation record identified by <span class="name">g2</span>, and usage record identified by <span class="name">u1</span>, <span class='conditional'>if</span> the record <span class="name">wasDerivedFrom(e2,e1,a,g2,u1)</span>
 or <span class="name">wasDerivedFrom(e2,e1)</span> holds, <span class='conditional'>then</span>
@@ -1666,7 +1678,7 @@
 the entity denoted by <span class="name">e2</span>.
 </div>
 
-<p>Then, degree-n derivations.</p>
+<p>Then, imprecise-n derivations.</p>
 
 <div class='interpretation' id='derivation-generation-generation-ordering'>
 Given two entity records denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the record <span class="name">wasBasedOn(e2,e1)</span>
@@ -1676,7 +1688,7 @@
   </div>
 
 <p>Note that temporal ordering is between generations of <span class="name">e1</span>
-and <span class="name">e2</span>, as opposed to degree-1 derivation,
+and <span class="name">e2</span>, as opposed to precise-1 derivation,
 which implies temporal ordering between the usage of <span class="name">e1</span> and
 generation of <span class="name">e2</span>.  Indeed, in the case of
 wasBasedOn, nothing is known about the usage of <span class="name">e1</span>,
@@ -1685,7 +1697,7 @@
 
 
 
-<p>The degree-1, lax derivation has the same meaning as the degree-1, exact
+<p>The imprecise-1 derivation has the same meaning as the  exact-1
  derivation, except that an activity  
  is known to exist, though it does not need to be 
 asserted.  This is formalized by the following inference rule,