swapped components 2 and 3
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Tue, 29 May 2012 09:32:12 +0100
changeset 3026 299a9ecd8e26
parent 3025 1f3c4e5b7a41
child 3027 3d0531580470
swapped components 2 and 3
model/prov-dm.html
--- a/model/prov-dm.html	Mon May 28 23:10:32 2012 +0100
+++ b/model/prov-dm.html	Tue May 29 09:32:12 2012 +0100
@@ -559,10 +559,10 @@
 <td><a>Generation</a></td><td rowspan="7" style="text-align: center;">PROV-DM Relations</td><td><a title="wasGeneratedBy">wasGeneratedBy</a></td><td style="text-align: center;"><a href="#section-entity-activity">2.1.1</a></td></tr>
 <tr><td><a>Usage</a></td><td><a title="used">used</a></td><td style="text-align: center;"><a href="#section-entity-activity">2.1.1</a></td></tr>
 <tr><td><a>Communication</a></td><td><a title="wasInformedBy">wasInformedBy</a></td><td style="text-align: center;"><a href="#section-entity-activity">2.1.1</a></td></tr>
-<tr><td><a>Attribution</a></td><td><a title="wasAttributedTo">wasAttributedTo</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation">2.1.2</a></td></tr>
-<tr><td><a>Association</a></td><td><a title="wasAssociatedWith">wasAssociatedWith</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation">2.1.2</a></td></tr>
-<tr><td><a>Delegation</a></td><td><a title="actedOnBehalfOf">actedOnBehalfOf</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation">2.1.2</a></td></tr>
-<tr><td><a>Derivation</a></td><td><a title="wasDerivedFrom">wasDerivedFrom</a></td><td style="text-align: center;"><a href="#section-derivation">2.1.3</a></td></tr>
+<tr><td><a>Derivation</a></td><td><a title="wasDerivedFrom">wasDerivedFrom</a></td><td style="text-align: center;"><a href="#section-derivation">2.1.2</a></td></tr>
+<tr><td><a>Attribution</a></td><td><a title="wasAttributedTo">wasAttributedTo</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation">2.1.3</a></td></tr>
+<tr><td><a>Association</a></td><td><a title="wasAssociatedWith">wasAssociatedWith</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation">2.1.3</a></td></tr>
+<tr><td><a>Delegation</a></td><td><a title="actedOnBehalfOf">actedOnBehalfOf</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation">2.1.3</a></td></tr>
 </table>
 </div>
 
@@ -704,6 +704,51 @@
 
 </section>
 
+    <section id="section-derivation"> 
+<h2>Derivation</h2>
+
+
+
+<p>Activities utilize entities and produce entities. In some cases, utilizing an entity influences the creation of another in some way. This notion of 'influence' is captured by derivations, defined as follows.
+</p>
+
+<p>
+<span class="glossary-ref" data-ref="glossary-derivation"  data-withspan="true"></span>
+
+
+
+
+
+<div class="anexample conceptexample" id="derivation-example">
+<p>Examples of derivation include  the transformation of a relational table into a
+linked data set, the transformation of a canvas into a painting, the transportation of a work of art from London to New York, and a physical transformation such as the melting of ice into water.</p>
+</div>
+
+
+<p>
+While the basic idea is simple, the concept of derivation can be quite
+subtle: implicit is the notion that the generated entity was affected
+in some way by the used entity.  
+
+If an artifact
+was used by an activity that also generated a new artifact, it does not always follow
+that the second artifact was derived from the first.  In the activity
+of creating a painting, an artist may have mixed some paint that was
+never actually applied to the canvas: the painting would typically
+not be considered a derivation from the unused paint.  
+<!-- The provenance
+model does not attempt to define what constitutes derivation; rather,
+it is considered to be something that is asserted, having been
+determined by unspecified means. -->
+PROV does not attempt to specify the conditions under which derivations
+exist; rather, derivation is considered to have been determined by unspecified means. 
+Thus, while a chain of usage and generation is necessary for a
+derivation to hold between entities, it is not sufficient; some
+form of influence occurring during the activities involved is also needed. 
+</p>
+</section>
+
+
 
 <section id="section-agents-attribution-association-delegation"> 
 <h2>Agents and Responsibility</h2>
@@ -789,49 +834,6 @@
 </div>
 </section>
 
-    <section id="section-derivation"> 
-<h2>Derivation</h2>
-
-
-
-<p>Activities utilize entities and produce entities. In some cases, utilizing an entity influences the creation of another in some way. This notion of 'influence' is captured by derivations, defined as follows.
-</p>
-
-<p>
-<span class="glossary-ref" data-ref="glossary-derivation"  data-withspan="true"></span>
-
-
-
-
-
-<div class="anexample conceptexample" id="derivation-example">
-<p>Examples of derivation include  the transformation of a relational table into a
-linked data set, the transformation of a canvas into a painting, the transportation of a work of art from London to New York, and a physical transformation such as the melting of ice into water.</p>
-</div>
-
-
-<p>
-While the basic idea is simple, the concept of derivation can be quite
-subtle: implicit is the notion that the generated entity was affected
-in some way by the used entity.  
-
-If an artifact
-was used by an activity that also generated a new artifact, it does not always follow
-that the second artifact was derived from the first.  In the activity
-of creating a painting, an artist may have mixed some paint that was
-never actually applied to the canvas: the painting would typically
-not be considered a derivation from the unused paint.  
-<!-- The provenance
-model does not attempt to define what constitutes derivation; rather,
-it is considered to be something that is asserted, having been
-determined by unspecified means. -->
-PROV does not attempt to specify the conditions under which derivations
-exist; rather, derivation is considered to have been determined by unspecified means. 
-Thus, while a chain of usage and generation is necessary for a
-derivation to hold between entities, it is not sufficient; some
-form of influence occurring during the activities involved is also needed. 
-</p>
-</section>
 
 </section>
 
@@ -998,8 +1000,8 @@
 <tr><td style="border-width: 0px; "></td><td>Component</td><td>Core <br>Structures</td><td>Overview</td><td>Specification</td><td>Description</td></tr> 
 <tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
 <tr><td style="	padding: 8px;">1</td><td style="text-align: left;">Entities and Activities</td><td>&#10004;</td><td><a href="#section-entity-activity">2.1.1</a></td><td><a href="#component1">5.1</a></td><td  style="text-align: left;">about entities and activities, and their interrelations</td></tr> 
-<tr><td>2</td><td style="text-align: left;">Agent and Responsibility</td><td>&#10004;</td><td><a href="#section-agents-attribution-association-delegation">2.1.2</a></td><td><a href="#component2">5.2</a></td><td style="text-align: left;">about agents and concepts ascribing responsibility to them</td></tr> 
-<tr><td>3</td><td style="text-align: left;">Derivation</td><td>&#10004;</td><td><a href="#section-derivation">2.1.3</a></td><td><a href="#component3">5.3</a></td><td  style="text-align: left;">about derivations and its subtypes</td></tr> 
+<tr><td>2</td><td style="text-align: left;">Derivation</td><td>&#10004;</td><td><a href="#section-derivation">2.1.2</a></td><td><a href="#component3">5.2</a></td><td  style="text-align: left;">about derivations and its subtypes</td></tr> 
+<tr><td>3</td><td style="text-align: left;">Agent and Responsibility</td><td>&#10004;</td><td><a href="#section-agents-attribution-association-delegation">2.1.3</a></td><td><a href="#component2">5.3</a></td><td style="text-align: left;">about agents and concepts ascribing responsibility to them</td></tr> 
 <tr><td>4</td><td style="text-align: left;">Alternate</td><td></td><td>&mdash;</td><td><a href="#component4">5.4</a></td><td  style="text-align: left;">about relations linking entities referring the same thing</td></tr> 
 <tr><td>5</td><td style="text-align: left;">Bundles</td><td></td><td><a href="#section-provenance-of-provnance">2.2.2</a></td><td><a href="#component5">5.5</a></td><td style="text-align: left;">about bundles, a mechanism to support provenance of provenance</td></tr> 
 <tr><td>6</td><td style="text-align: left;">Collections</td><td></td><td><a href="#section-collections">2.2.3</a></td><td><a href="#component6">5.6</a></td><td style="text-align: left;">about collections and concepts capturing their transformation, such as insertion and removal</td></tr> 
@@ -1848,10 +1850,222 @@
 
 </section>
 
+
 <section id="component2"> 
-<h3>Component 2: Agents and Responsibility</h3>
-
-<p>The second component of PROV-DM, depicted in  <a href="#figure-component2">Figure 6</a>, is concerned with <a title="agent">agents</a> and the notions of
+<h3>Component 2: Derivations</h3>
+
+
+
+<p>The third component of PROV-DM is concerned with: <a title="derivation">derivations</a> of <a title="entity">entities</a> from others; derivation subtypes <a>Revision</a>, <a>Quotation</a>, and <a>Original Source</a>; derivation-related <a>Trace</a>. 
+ <a href="#figure-component2">Figure 6</a> depicts the third component
+with PROV core structures in the yellow area, including two classes
+(<a>Entity</a>, <a>Activity</a>) and binary association
+(<a>Derivation</a>). PROV extended structures are found outside this
+area. UML association classes express expanded n-ary relations.
+</p>
+
+
+<div style="text-align: center;">
+<figure>
+<!-- <img src="images/Derivation.png" alt="derivation"/> -->
+<img src="uml/component3.png" alt="derivation"/>
+<figcaption id="figure-component2">Figure 6: Derivation Component Overview</figcaption>
+</figure>
+</div>
+
+<section id="term-derivation">
+<h4>Derivation</h4>
+
+
+
+
+
+<div class="glossary-ref" data-ref="glossary-derivation"></div>
+
+
+
+
+<p>According to <a href="#section-prov-overview">Section 2</a>, for an entity to be transformed from, created from, or resulting from an update to another, there must be some
+underpinning activities performing the necessary actions resulting in such a derivation.  
+A derivation can be described at various levels of precision. In its simplest form, derivation relates two entities. Optionally, attributes can be added to represent further information about the derivation.  If the derivation is the result of a single known activity, then this activity can also be optionally expressed. To provide a completely accurate description of the derivation, the generation and usage of the generated and used entities, respectively, can be provided, so as to make the derivation path, through usage, activity, and generation, explicit.  Optional information such as activity, generation, and usage can be linked to derivations to aid analysis of provenance and to facilitate provenance-based reproducibility. </p>
+
+
+<p><div class="attributes" id="attributes-derivation">A <dfn title="wasDerivedFrom">derivation</dfn><span class="withPn">, written <span class="pnExpression" id="pn-wasDerivedFrom">wasDerivedFrom(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class='attribute' id="derivation.id">id</span>:  an OPTIONAL identifier  for a derivation;</li> 
+<li><span class='attribute' id="derivation.generatedEntity">generatedEntity</span>: the identifier (<span class="name">e2</span>) of the entity generated by the derivation;</li>
+<li><span class='attribute' id="derivation.usedEntity">usedEntity</span>: the identifier (<span class="name">e1</span>) of the entity used by the derivation;</li>
+<li><span class='attribute' id="derivation.activity">activity</span>: an OPTIONAL identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
+<li><span class='attribute' id="derivation.generation">generation</span>: an OPTIONAL identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li> 
+<li><span class='attribute' id="derivation.usage">usage</span>: an OPTIONAL identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li> 
+<li><span class='attribute' id="derivation.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this derivation.</li>
+</ul>
+</div>
+
+
+
+<div class="anexample">
+<p>The following descriptions are about derivations between  <span class="name">e2</span> and  <span class="name">e1</span>, but no information is provided as to the identity of the activity (and usage and generation) underpinning the derivation. In the second line, a type attribute is also provided.</p>
+<pre class="codeexample">
+wasDerivedFrom(e2, e1)
+wasDerivedFrom(e2, e1, [prov:type="physical transform"])
+</pre>
+<p>The following description expresses that activity  <span class="name">a</span>, 
+using the entity <span class="name">e1</span> according to usage <span class="name">u1</span>,
+ derived the
+entity <span class="name">e2</span> and generated it according to generation
+ <span class="name">g2</span>. It is followed by descriptions for generation <span class="name">g2</span> and usage <span class="name">u1</span>.</p>
+<pre class="codeexample">
+wasDerivedFrom(e2, e1, a, g2, u1)
+wasGeneratedBy(g2; e2, a, -)
+used(u1; a, e1, -)
+</pre>
+<p>With such a comprehensive description of derivation, a program that analyzes provenance can identify the activity underpinning the derivation, it can identify how the original entity <span class="name">e1</span> was used by  the activity (e.g. for instance, which argument it was passed as, if the activity is the result of a function invocation), and which output the derived entity <span class="name">e2</span> was obtained from (say, for a function returning multiple results).</p>
+</div>
+
+
+
+
+</section>
+
+<section id="term-revision">
+<h3>Revision</h3>
+
+<p><span class="glossary-ref" data-ref="glossary-revision"></span></p>
+
+<p>Revision is a particular case of <a>derivation</a> of an entity into its revised version.</p>
+
+<!-- <p> A <dfn title="wasRevisionOf">revision</dfn> relation<span class="withPn">, written <span class="pnExpression">wasRevisionOf(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:</p>
+<ul>
+<li><span class='attribute' id="revision.id">id</span>: an OPTIONAL identifier for the relation;</li> 
+<li><span class='attribute' id="revision.newer">newer</span>: the identifier (<span class="name">e2</span>) of the revised  entity;
+<li><span class='attribute' id="revision.older">older</span>: the identifier (<span class="name">e1</span>) of the older entity;
+<li><span class='attribute' id="revision.activity">activity</span>: an OPTIONAL identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
+<li><span class='attribute' id="revision.generation">generation</span>: an OPTIONAL identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li> 
+<li><span class='attribute' id="revision.usage">usage</span>: an OPTIONAL identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li> 
+<li><span class='attribute' id="revision.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+-->
+
+
+<div class="anexample" id="anexample-revision">
+<p>
+Revisiting the example of <a href="#section-example-two">Section 4.2</a>,
+we can now state that the report 
+ <span class="name">tr:WD-prov-dm-20111215</span> was a revision of 
+ the report <span class="name">tr:WD-prov-dm-20111018</span>.
+<pre class="codeexample">
+entity(tr:WD-prov-dm-20111215, [ prov:type='rec54:WD'  ])
+entity(tr:WD-prov-dm-20111018, [ prov:type='rec54:WD'  ])
+wasDerivedFrom(tr:WD-prov-dm-20111215, tr:WD-prov-dm-20111018, [ prov:type='prov:WasRevisionOf' ])
+</pre>
+</div>
+
+
+
+</section>  <!-- end revision -->
+
+<section id="term-quotation">
+<h3>Quotation</h3>
+
+<p> 
+<span class="glossary-ref" data-ref="glossary-quotation"></span>
+</p>
+
+<p>Quotation
+ is a particular case of  <a>derivation</a> in which an entity is derived from an original entity by copying, or "quoting", some or all of it.</p>
+
+
+<!--
+<p>Quotation
+ is a particular case of  <a>derivation</a> in which entity <span class="name">e2</span> is derived from an original entity <span class="name">e1</span> by copying, or "quoting", some or all of it.
+  A <dfn title="wasQuotedFrom">quotation</dfn> relation<span class="withPn">, written <span class="pnExpression">wasQuotedFrom(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:</p>
+<ul>
+<li><span class='attribute' id="quotation.id">id</span>: an OPTIONAL identifier for the relation;</li> 
+<li><span class='attribute' id="quotation.quote">quote</span>:  an identifier (<span class="name">e2</span>) for the entity that represents the quote (the partial copy);
+<li><span class='attribute' id="quotation.original">original</span>: an identifier (<span class="name">e1</span>) for the original entity being quoted;
+<li><span class='attribute' id="quotation.activity">activity</span>: an OPTIONAL identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
+<li><span class='attribute' id="quotation.generation">generation</span>: an OPTIONAL identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li> 
+<li><span class='attribute' id="quotation.usage">usage</span>: an OPTIONAL identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li> 
+<li><span class='attribute' id="quotation.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+
+</ul>
+-->
+
+<div class="anexample" id="anexample-quotation">
+<p>
+The following paragraph is a quote from one of  <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/">the author's blogs</a>.
+<blockquote id="bl-dagstuhl"><em>
+"During the workshop, it became clear to me that the consensus based models (which are often graphical in nature) can not only be formalized but also be directly connected to these database focused formalizations. I just needed to get over the differences in syntax.  This could imply that we could have nice way to trace provenance across systems and through databases and be able to understand the mathematical properties of this interconnection."</em>
+</blockquote>
+<p>If <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/"><span class="name">wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/</span></a> denotes the original blog by agent <span class="name">ex:Paul</span>, and 
+ <a href="#bl-dagstuhl"><span class="name">dm:bl-dagstuhl</span></a> denotes the above paragraph, then the following descriptions express that the above paragraph was copied by agent <span class="name">ex:Luc</span> from a part of the blog, attributed to the agent <span class="name">ex:Paul</span>.</p>
+<pre class="codeexample">
+entity(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/)
+entity(dm:bl-dagstuhl)
+agent(ex:Luc)
+agent(ex:Paul)
+wasDerivedFrom(dm:bl-dagstuhl,
+               wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/,
+               [ prov:type='prov:WasQuotedFrom' ])
+wasAttributedTo(dm:bl-dagstuhl, ex:Luc)
+wasAttributedTo(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/, ex:Paul)
+</pre>
+
+</div>
+
+
+</section>  <!-- end quotation -->
+
+
+<section id="term-original-source">
+<h3>Original Source</h3>
+
+<p>
+<span class="glossary-ref" data-ref="glossary-original-source"></span>
+</p>
+
+<p>An <dfn>original source</dfn> relation is a particular case of <a>derivation</a> 
+that aims to give
+credit to the source that originated some information. It is recognized that it may be
+hard to determine which entity constitutes an original source. This definition is inspired by
+<span class="name">original-source</span> as defined in
+<a href="http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html">http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html</a>.</p>
+
+<!--
+<p> An <dfn title="hadOriginalSource">original source</dfn> relation<span class="withPn">, written <span class="pnExpression">hadOriginalSource(id; e2, e1, a, g2, u1, attrs)</span>,</span> has:</p>
+<ul>
+<li><span class='attribute' id="originalSource.id">id</span>:  an OPTIONAL identifier for the relation;</li> 
+<li><span class='attribute' id="originalSource.derived">derived</span>: an identifier (<span class="name">e2</span>) for the derived entity; </li>
+<li><span class='attribute' id="originalSource.source">source</span>: an identifier (<span class="name">e1</span>) for the original source entity;</li>
+<li><span class='attribute' id="originalSource.activity">activity</span>: an OPTIONAL identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
+<li><span class='attribute' id="originalSource.generation">generation</span>: an OPTIONAL identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li> 
+<li><span class='attribute' id="originalSource.usage">usage</span>: an OPTIONAL identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li> 
+<li><span class='attribute' id="originalSource.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+-->
+<div class="anexample">
+<p>
+Let us consider the concept introduced in the current section, identified as <a title="original source"><span class="name">dm:concept-original-source</span></a>, and
+the Google page <a href="http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html"><span class="name">go:credit-where-credit-is-due.html</span></a>, where the notion original-source was originally described (to the knowledge of the authors).
+<pre class="codeexample">
+entity(dm:concept-original-source)
+entity(go:credit-where-credit-is-due.html)
+wasDerivedFrom(dm:concept-original-source, go:credit-where-credit-is-due.html, 
+               [ prov:type='prov:HadOriginalSource' ])
+</pre>
+</div>
+
+
+</section>  <!-- end original source -->
+
+
+</section>
+
+<section id="component3"> 
+<h3>Component 3: Agents and Responsibility</h3>
+
+<p>The second component of PROV-DM, depicted in  <a href="#figure-component3">Figure 7</a>, is concerned with <a title="agent">agents</a> and the notions of
 <a>Attribution</a>, <a>Association</a>, <a>Delegation</a>, relating agents to entities, activities, and agents, respectively.
  Core structures are displayed in the yellow area and include three classes and three binary associations. Outside the yellow area, extended structures comprise and UML association classes to express expanded n-ary relations, and subclasses <a>Plan</a>, <a>Person</a>, <a title="software-agent">SofwareAgent</a>, and <a>Organization</a>. The subclasses are marked by the UML stereotype "prov:type" to indicate that that these are valid values for the attribute <a href="#term-attribute-type">prov:type</a>
 </p>
@@ -1861,7 +2075,7 @@
 <figure>
 <!-- <img src="images/Agents-Responsibility.png" alt="agents and responsibilities"/> -->
 <img src="uml/component2.png" alt="agents and responsibilities"/>
-<figcaption id="figure-component2">Figure 6: Agents and Responsibility Component Overview</figcaption>
+<figcaption id="figure-component3">Figure 7: Agents and Responsibility Component Overview</figcaption>
 </figure>
 </div>
 
@@ -2055,218 +2269,6 @@
 -->
 </section>
 
-
-
-</section>
-
-<section id="component3"> 
-<h3>Component 3: Derivations</h3>
-
-
-
-<p>The third component of PROV-DM is concerned with: <a title="derivation">derivations</a> of <a title="entity">entities</a> from others; derivation subtypes <a>Revision</a>, <a>Quotation</a>, and <a>Original Source</a>; derivation-related <a>Trace</a>. 
- <a href="#figure-component3">Figure 7</a> depicts the third component
-with PROV core structures in the yellow area, including two classes
-(<a>Entity</a>, <a>Activity</a>) and binary association
-(<a>Derivation</a>). PROV extended structures are found outside this
-area. UML association classes express expanded n-ary relations.
-</p>
-
-
-<div style="text-align: center;">
-<figure>
-<!-- <img src="images/Derivation.png" alt="derivation"/> -->
-<img src="uml/component3.png" alt="derivation"/>
-<figcaption id="figure-component3">Figure 7: Derivation Component Overview</figcaption>
-</figure>
-</div>
-
-<section id="term-derivation">
-<h4>Derivation</h4>
-
-
-
-
-
-<div class="glossary-ref" data-ref="glossary-derivation"></div>
-
-
-
-
-<p>According to <a href="#section-prov-overview">Section 2</a>, for an entity to be transformed from, created from, or resulting from an update to another, there must be some
-underpinning activities performing the necessary actions resulting in such a derivation.  
-A derivation can be described at various levels of precision. In its simplest form, derivation relates two entities. Optionally, attributes can be added to represent further information about the derivation.  If the derivation is the result of a single known activity, then this activity can also be optionally expressed. To provide a completely accurate description of the derivation, the generation and usage of the generated and used entities, respectively, can be provided, so as to make the derivation path, through usage, activity, and generation, explicit.  Optional information such as activity, generation, and usage can be linked to derivations to aid analysis of provenance and to facilitate provenance-based reproducibility. </p>
-
-
-<p><div class="attributes" id="attributes-derivation">A <dfn title="wasDerivedFrom">derivation</dfn><span class="withPn">, written <span class="pnExpression" id="pn-wasDerivedFrom">wasDerivedFrom(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:
-<ul>
-<li><span class='attribute' id="derivation.id">id</span>:  an OPTIONAL identifier  for a derivation;</li> 
-<li><span class='attribute' id="derivation.generatedEntity">generatedEntity</span>: the identifier (<span class="name">e2</span>) of the entity generated by the derivation;</li>
-<li><span class='attribute' id="derivation.usedEntity">usedEntity</span>: the identifier (<span class="name">e1</span>) of the entity used by the derivation;</li>
-<li><span class='attribute' id="derivation.activity">activity</span>: an OPTIONAL identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
-<li><span class='attribute' id="derivation.generation">generation</span>: an OPTIONAL identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li> 
-<li><span class='attribute' id="derivation.usage">usage</span>: an OPTIONAL identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li> 
-<li><span class='attribute' id="derivation.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this derivation.</li>
-</ul>
-</div>
-
-
-
-<div class="anexample">
-<p>The following descriptions are about derivations between  <span class="name">e2</span> and  <span class="name">e1</span>, but no information is provided as to the identity of the activity (and usage and generation) underpinning the derivation. In the second line, a type attribute is also provided.</p>
-<pre class="codeexample">
-wasDerivedFrom(e2, e1)
-wasDerivedFrom(e2, e1, [prov:type="physical transform"])
-</pre>
-<p>The following description expresses that activity  <span class="name">a</span>, 
-using the entity <span class="name">e1</span> according to usage <span class="name">u1</span>,
- derived the
-entity <span class="name">e2</span> and generated it according to generation
- <span class="name">g2</span>. It is followed by descriptions for generation <span class="name">g2</span> and usage <span class="name">u1</span>.</p>
-<pre class="codeexample">
-wasDerivedFrom(e2, e1, a, g2, u1)
-wasGeneratedBy(g2; e2, a, -)
-used(u1; a, e1, -)
-</pre>
-<p>With such a comprehensive description of derivation, a program that analyzes provenance can identify the activity underpinning the derivation, it can identify how the original entity <span class="name">e1</span> was used by  the activity (e.g. for instance, which argument it was passed as, if the activity is the result of a function invocation), and which output the derived entity <span class="name">e2</span> was obtained from (say, for a function returning multiple results).</p>
-</div>
-
-
-
-
-</section>
-
-<section id="term-revision">
-<h3>Revision</h3>
-
-<p><span class="glossary-ref" data-ref="glossary-revision"></span></p>
-
-<p>Revision is a particular case of <a>derivation</a> of an entity into its revised version.</p>
-
-<!-- <p> A <dfn title="wasRevisionOf">revision</dfn> relation<span class="withPn">, written <span class="pnExpression">wasRevisionOf(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:</p>
-<ul>
-<li><span class='attribute' id="revision.id">id</span>: an OPTIONAL identifier for the relation;</li> 
-<li><span class='attribute' id="revision.newer">newer</span>: the identifier (<span class="name">e2</span>) of the revised  entity;
-<li><span class='attribute' id="revision.older">older</span>: the identifier (<span class="name">e1</span>) of the older entity;
-<li><span class='attribute' id="revision.activity">activity</span>: an OPTIONAL identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
-<li><span class='attribute' id="revision.generation">generation</span>: an OPTIONAL identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li> 
-<li><span class='attribute' id="revision.usage">usage</span>: an OPTIONAL identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li> 
-<li><span class='attribute' id="revision.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
-</ul>
--->
-
-
-<div class="anexample" id="anexample-revision">
-<p>
-Revisiting the example of <a href="#section-example-two">Section 4.2</a>,
-we can now state that the report 
- <span class="name">tr:WD-prov-dm-20111215</span> was a revision of 
- the report <span class="name">tr:WD-prov-dm-20111018</span>.
-<pre class="codeexample">
-entity(tr:WD-prov-dm-20111215, [ prov:type='rec54:WD'  ])
-entity(tr:WD-prov-dm-20111018, [ prov:type='rec54:WD'  ])
-wasDerivedFrom(tr:WD-prov-dm-20111215, tr:WD-prov-dm-20111018, [ prov:type='prov:WasRevisionOf' ])
-</pre>
-</div>
-
-
-
-</section>  <!-- end revision -->
-
-<section id="term-quotation">
-<h3>Quotation</h3>
-
-<p> 
-<span class="glossary-ref" data-ref="glossary-quotation"></span>
-</p>
-
-<p>Quotation
- is a particular case of  <a>derivation</a> in which an entity is derived from an original entity by copying, or "quoting", some or all of it.</p>
-
-
-<!--
-<p>Quotation
- is a particular case of  <a>derivation</a> in which entity <span class="name">e2</span> is derived from an original entity <span class="name">e1</span> by copying, or "quoting", some or all of it.
-  A <dfn title="wasQuotedFrom">quotation</dfn> relation<span class="withPn">, written <span class="pnExpression">wasQuotedFrom(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:</p>
-<ul>
-<li><span class='attribute' id="quotation.id">id</span>: an OPTIONAL identifier for the relation;</li> 
-<li><span class='attribute' id="quotation.quote">quote</span>:  an identifier (<span class="name">e2</span>) for the entity that represents the quote (the partial copy);
-<li><span class='attribute' id="quotation.original">original</span>: an identifier (<span class="name">e1</span>) for the original entity being quoted;
-<li><span class='attribute' id="quotation.activity">activity</span>: an OPTIONAL identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
-<li><span class='attribute' id="quotation.generation">generation</span>: an OPTIONAL identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li> 
-<li><span class='attribute' id="quotation.usage">usage</span>: an OPTIONAL identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li> 
-<li><span class='attribute' id="quotation.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
-
-</ul>
--->
-
-<div class="anexample" id="anexample-quotation">
-<p>
-The following paragraph is a quote from one of  <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/">the author's blogs</a>.
-<blockquote id="bl-dagstuhl"><em>
-"During the workshop, it became clear to me that the consensus based models (which are often graphical in nature) can not only be formalized but also be directly connected to these database focused formalizations. I just needed to get over the differences in syntax.  This could imply that we could have nice way to trace provenance across systems and through databases and be able to understand the mathematical properties of this interconnection."</em>
-</blockquote>
-<p>If <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/"><span class="name">wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/</span></a> denotes the original blog by agent <span class="name">ex:Paul</span>, and 
- <a href="#bl-dagstuhl"><span class="name">dm:bl-dagstuhl</span></a> denotes the above paragraph, then the following descriptions express that the above paragraph was copied by agent <span class="name">ex:Luc</span> from a part of the blog, attributed to the agent <span class="name">ex:Paul</span>.</p>
-<pre class="codeexample">
-entity(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/)
-entity(dm:bl-dagstuhl)
-agent(ex:Luc)
-agent(ex:Paul)
-wasDerivedFrom(dm:bl-dagstuhl,
-               wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/,
-               [ prov:type='prov:WasQuotedFrom' ])
-wasAttributedTo(dm:bl-dagstuhl, ex:Luc)
-wasAttributedTo(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/, ex:Paul)
-</pre>
-
-</div>
-
-
-</section>  <!-- end quotation -->
-
-
-<section id="term-original-source">
-<h3>Original Source</h3>
-
-<p>
-<span class="glossary-ref" data-ref="glossary-original-source"></span>
-</p>
-
-<p>An <dfn>original source</dfn> relation is a particular case of <a>derivation</a> 
-that aims to give
-credit to the source that originated some information. It is recognized that it may be
-hard to determine which entity constitutes an original source. This definition is inspired by
-<span class="name">original-source</span> as defined in
-<a href="http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html">http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html</a>.</p>
-
-<!--
-<p> An <dfn title="hadOriginalSource">original source</dfn> relation<span class="withPn">, written <span class="pnExpression">hadOriginalSource(id; e2, e1, a, g2, u1, attrs)</span>,</span> has:</p>
-<ul>
-<li><span class='attribute' id="originalSource.id">id</span>:  an OPTIONAL identifier for the relation;</li> 
-<li><span class='attribute' id="originalSource.derived">derived</span>: an identifier (<span class="name">e2</span>) for the derived entity; </li>
-<li><span class='attribute' id="originalSource.source">source</span>: an identifier (<span class="name">e1</span>) for the original source entity;</li>
-<li><span class='attribute' id="originalSource.activity">activity</span>: an OPTIONAL identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
-<li><span class='attribute' id="originalSource.generation">generation</span>: an OPTIONAL identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li> 
-<li><span class='attribute' id="originalSource.usage">usage</span>: an OPTIONAL identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li> 
-<li><span class='attribute' id="originalSource.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
-</ul>
--->
-<div class="anexample">
-<p>
-Let us consider the concept introduced in the current section, identified as <a title="original source"><span class="name">dm:concept-original-source</span></a>, and
-the Google page <a href="http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html"><span class="name">go:credit-where-credit-is-due.html</span></a>, where the notion original-source was originally described (to the knowledge of the authors).
-<pre class="codeexample">
-entity(dm:concept-original-source)
-entity(go:credit-where-credit-is-due.html)
-wasDerivedFrom(dm:concept-original-source, go:credit-where-credit-is-due.html, 
-               [ prov:type='prov:HadOriginalSource' ])
-</pre>
-</div>
-
-
-</section>  <!-- end original source -->
-
 <section id="term-trace">
 <h3>Trace</h3>
 
@@ -2309,6 +2311,7 @@
 
 </section>
 
+
 </section>
 
 <section id="component4"> 
@@ -3180,13 +3183,13 @@
 <tr><td><a title="collection"><span class="name">prov:Collection</span></a></td><td><a href="#term-collection">Section 5.6.1</a></td><td><a>Entity</a></td></tr>
 <tr><td><a title="dictionary"><span class="name">prov:Dictionary</span></a></td><td><a href="#term-dictionary">Section 5.6.2</a></td><td><a>Entity</a></td></tr>
 <tr><td><a title="empty dictionary"><span class="name">prov:EmptyDictionary</span></a></td><td><a href="#term-dictionary">Section 5.6.2</a></td><td><a>Entity</a></td></tr>
-<tr><td><a title="original source"><span class="name">prov:HadOriginalSource</span></a></td><td><a href="#term-original-source">Section 5.3.4</a></td><td><a>Derivation</a></td></tr>
-<tr><td><a title="organization"><span class="name">prov:Organization</span></a></td><td><a href="#term-agent">Section 5.2.1</a></td><td><a>Agent</a></td></tr>
-<tr><td><a title="person"><span class="name">prov:Person</span></a></td><td><a href="#term-agent">Section 5.2.1</a></td><td><a>Agent</a></td></tr>
-<tr><td><a title="plan"><span class="name">prov:Plan</span></a></td> <td><a href="#term-entity">Section 5.2.3</a></td><td><a>Entity</a></td></tr>
-<tr><td><a title="software-agent"><span class="name">prov:SoftwareAgent</span></a></td><td><a href="#term-agent">Section 5.2.1</a></td><td><a>Agent</a></td></tr>
-<tr><td><a title="Quotation"><span class="name">prov:WasQuotedFrom</span></a></td><td><a href="#term-quotation">Section 5.3.3</a></td><td><a>Derivation</a></td></tr>
-<tr><td><a title="Revision"><span class="name">prov:WasRevisionOf</span></a></td><td><a href="#term-revision">Section 5.3.2</a></td><td><a>Derivation</a></td></tr>
+<tr><td><a title="original source"><span class="name">prov:HadOriginalSource</span></a></td><td><a href="#term-original-source">Section 5.2.4</a></td><td><a>Derivation</a></td></tr>
+<tr><td><a title="organization"><span class="name">prov:Organization</span></a></td><td><a href="#term-agent">Section 5.3.1</a></td><td><a>Agent</a></td></tr>
+<tr><td><a title="person"><span class="name">prov:Person</span></a></td><td><a href="#term-agent">Section 5.3.1</a></td><td><a>Agent</a></td></tr>
+<tr><td><a title="plan"><span class="name">prov:Plan</span></a></td> <td><a href="#term-entity">Section 5.3.3</a></td><td><a>Entity</a></td></tr>
+<tr><td><a title="software-agent"><span class="name">prov:SoftwareAgent</span></a></td><td><a href="#term-agent">Section 5.3.1</a></td><td><a>Agent</a></td></tr>
+<tr><td><a title="Quotation"><span class="name">prov:WasQuotedFrom</span></a></td><td><a href="#term-quotation">Section 5.2.3</a></td><td><a>Derivation</a></td></tr>
+<tr><td><a title="Revision"><span class="name">prov:WasRevisionOf</span></a></td><td><a href="#term-revision">Section 5.2.2</a></td><td><a>Derivation</a></td></tr>
 </table>
 
 </section>