--- a/model/ProvenanceModel.html Tue Sep 06 10:59:07 2011 +0100
+++ b/model/ProvenanceModel.html Tue Sep 06 14:47:19 2011 +0100
@@ -166,7 +166,7 @@
<section>
<h3>Encoding using the Provenance Abstract Syntax Notation</h3>
-In this section, the example is encoded according to the provenance data model (specified in section <a href="\data-model-concepts">concepts</a>) and expressed in the Provenance Abstract Syntax Notation. Details about the Provenance Abstract Syntax Notation can be found in <a href="#PASN-convention">appendix</a>.
+In this section, the example is encoded according to the provenance data model (specified in section <a href="#data-model-concepts">concepts</a>) and expressed in the Provenance Abstract Syntax Notation. Details about the Provenance Abstract Syntax Notation can be found in <a href="#PASN-convention">appendix</a>.
<p>
Entities (construct described in <a href="#concept-Entity">Section Entity</a>). The file in its various forms and its copies are modelled as entities.
<pre>
@@ -393,36 +393,77 @@
<div class='issue'>Conceptual model needs a high level overview <a href="http://www.w3.org/2011/prov/track/issues/86">ISSUE-86</a>.</div>
- <section id="concept-Entity">
+ <section id="concept-Entity">
<h3>Entity</h3>
-<p>An <dfn id="dfn-entity" title="Entity">Entity</dfn> represents an identifiable characterized thing.</p>
+<p>In PIDM, an <dfn id="dfn-entity" title="entity">entity expression</dfn> is a representation of an identifiable characterized thing.</p>
-<p>An entity assertion
+<p>
+In the Provenance Abstract Syntax Notation, an entity expression's text matches the <span class="nonterminal">entity</span> production of the grammar defined in this specification document.
+</p>
+
+<div class='grammar'>
+<span class="nonterminal">entity</span> :=
+<span class="name">entity</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="name">[</span>
+<span class="nonterminal">attribute-values</span>
+<span class="name">]</span>
+<span class="name">)</span><br/>
+<!-- -->
+<span class="nonterminal">attribute-values</span> :=
+<span class="nonterminal">attribute-value</span>
+|<span class="nonterminal">attribute-value</span> <span class="name">,</span> <span class="nonterminal">attribute-values</span>
+<br/>
+<span class="nonterminal">attribute-value</span> :=
+<span class="nonterminal">attribute</span>
+<span class="name">:</span>
+<span class="nonterminal">Literal</span>
+<br/>
+</div>
+
+
+
+<p>An instance of an entity expression, noted <span class="name">entity(id, [ attr1: val1, ...])</span> in the Provenance Abstract Syntax Notation:
+<ul>
+<li> contains an identifier <span class="name">id</span> denoting a characterized thing;</li>
+<li> contains a set of attribute-value pairs <span class="name">[ attr1: val1, ...]</span>, representing this characterized thing's situation in the world.</li>
+</ul>
+</p>
+
+<p>
+The assertion of an instance of an entity expression, <span class="name">entity(id, [ attr1: val1, ...])</span>, states, from a given asserter's viewpoint, the existence of an identifiable characterized thing, whose situation in the world is represented by the attribute-value pairs, which remain unchanged during a characterization interval, i.e. a continuous interval between two events in the world.
+</p>
+
+
+
+<p>
+The following entity assertion,
+<pre class="example">
+entity(e0, [ type: "File", location: "/shared/crime.txt", creator: "Alice" ])
+</pre>
+states the existence of a thing of type File and location /shared/crime.txt, and creator alice, denoted by identifier e0, during some characterization interval.
+</p>
+
+Further properties:
+<ul>
+<li>If an asserter wishes to characterize a thing with same attribute-value pairs over several intervals, then they are required to assert multiple entity expressions, each with its own identifier. </li>
+
+<li>There is no assumption that the set of attributes is complete and that the attributes are independent/orthogonal of each other.</li>
+
+<li>A characterization interval may collapse into a single instant</li>
+
+<li>An entity assertion
is about a characterized thing, whose situation in the world may be variant.
An entity assertion is made at a particular point and is invariant, in the sense that
its attributes are assigned a value as part of that assertion.
-</p>
+</li>
-<p>An entity assertion, noted <b>entity(id, [ attr: val, ...])</b>:
-<ul>
-<li> contains an identifier <b>id</b>;</li>
-<li> contains a set of attribute-value pairs <b>[ attr: val, ...]</b>.</li>
</ul>
-<p>
-<pre class="example">
-entity(e0, [ type: "File", location: "/shared/crime.txt", creator: "Alice" ])
-</pre>
-</p>
-
-
-<p>An entity assertion MUST describe a characterized thing over a continuous interval between two events in the world (which may collapse into a single instant).
-Characterizing a thing over multiple intervals requires multiple entity assertions, each with its own identifier. Some attributes may retain their values across multiple assertions.</p>
-
-<p>There is no assumption that the set of attributes is complete and
-that the attributes are independent/orthogonal of each other.</p>
@@ -448,12 +489,12 @@
<p>The activity that a process execution represents has a duration, delimited by its start and its end; hence, it occurs over a continuous time interval. However, the process execution representing the activity need not mention time information, nor duration, because they may not be known.</p>
-<p> A process execution assertion, noted <b>processExecution(id,rl,st,et)</b>:
+<p> A process execution assertion, noted <span class="name">processExecution(id,rl,st,et)</span>:
<ul>
-<li> contains an identifier <b>id</b>;
-<li> MAY contain a <a href="#concept-RecipeLink">recipe link</a> <b>rl</b>;
-<li> MAY contain a start time <b>st</b>;
-<li> MAY contain an end time <b>et</b>.
+<li> contains an identifier <span class="name">id</span>;
+<li> MAY contain a <a href="#concept-RecipeLink">recipe link</a> <span class="name">rl</span>;
+<li> MAY contain a start time <span class="name">st</span>;
+<li> MAY contain an end time <span class="name">et</span>.
</ul>
</p>
@@ -494,12 +535,12 @@
-<p>A Generation assertion, noted <b>wasGeneratedBy(e,pe,r,t)</b>:
+<p>A Generation assertion, noted <span class="name">wasGeneratedBy(e,pe,r,t)</span>:
<ul>
-<li> refers to an entity <b>e</b>, which represents the characterized thing that is created;
-<li> refers to a process execution <b>pe</b>;
-<li> contains a <a href="#concept-Role">role</a> <b>r</b>;
-<li> MAY contain a "generation time" <b>t</b>, the time at which the characterized thing was created.</p>
+<li> refers to an entity <span class="name">e</span>, which represents the characterized thing that is created;
+<li> refers to a process execution <span class="name">pe</span>;
+<li> contains a <a href="#concept-Role">role</a> <span class="name">r</span>;
+<li> MAY contain a "generation time" <span class="name">t</span>, the time at which the characterized thing was created.</p>
</ul>
</p>
@@ -514,19 +555,19 @@
If two process executions sequentially set different values to some attribute by means of two different generate events, then they generate distinct entities. Alternatively, for two process executions to generate an entity simultaneously, they would require some synchronization by which they agree the entity is released for use; the end of this synchronization would constitute the actual generation of the entity, but is performed by a single process execution. </p>
</p>
-<div class='constraint' id='generation-affects-attributes'><a name="PIL:0002">Given a process execution <b>pe</b>, entity <b>e</b>, role <b>r</b>, and optional time <b>t</b>,
-if the assertion <b>wasGeneratedBy(e,pe,r)</b>
-or <b>wasGeneratedBy(e,pe,r,t)</b> holds, the values of <em>some</em> of <b>e</b>'s
-attributes are determined by the activity denoted by <b>pe</b> and the
-entities used by <b>pe</b>.
+<div class='constraint' id='generation-affects-attributes'><a name="PIL:0002">Given a process execution <span class="name">pe</span>, entity <span class="name">e</span>, role <span class="name">r</span>, and optional time <span class="name">t</span>,
+if the assertion <span class="name">wasGeneratedBy(e,pe,r)</span>
+or <span class="name">wasGeneratedBy(e,pe,r,t)</span> holds, the values of <em>some</em> of <span class="name">e</span>'s
+attributes are determined by the activity denoted by <span class="name">pe</span> and the
+entities used by <span class="name">pe</span>.
Only some (possibly none) of the attributes values may be determined
since, in an open world, not all used entities may have been
asserted.</a> [<a href="../ontology/ProvenanceFormalModel.html#PIL:0002">PIL:0002</a>]
</div>
-<div class='constraint' id='generation-pe-ordering'><a name="PIL:0003">Given an assertion <b>wasGeneratedBy(x,pe,r)</b> or <b>wasGeneratedBy(x,pe,r,t)</b>, one can
-infer that the generation of the thing denoted by <b>x</b> precedes the end
-of <b>pe</b> and follows the beginning of <b>pe</b>.</a> [<a href="../ontology/ProvenanceFormalModel.html#PIL:0003">PIL:0003</a>]
+<div class='constraint' id='generation-pe-ordering'><a name="PIL:0003">Given an assertion <span class="name">wasGeneratedBy(x,pe,r)</span> or <span class="name">wasGeneratedBy(x,pe,r,t)</span>, one can
+infer that the generation of the thing denoted by <span class="name">x</span> precedes the end
+of <span class="name">pe</span> and follows the beginning of <span class="name">pe</span>.</a> [<a href="../ontology/ProvenanceFormalModel.html#PIL:0003">PIL:0003</a>]
</div>
@@ -550,12 +591,12 @@
<p><dfn id="dfn-Use">Use</dfn> represents the consumption of a characterized thing by an activity.</p>
-<p>A Use assertion, <b>used(pe,e,r,t)</b>:
+<p>A Use assertion, <span class="name">used(pe,e,r,t)</span>:
<ul>
-<li> refers to a process execution <b>pe</b>;
-<li> refers to an entity <b>e</b>, representing the characterized thing that is used;
-<li> contains a <a href="#concept-Role">role</a> <b>r</b>;
-<li> MAY contain a "use time" <b>t</b>, the time at which the characterized thing was used.</p>
+<li> refers to a process execution <span class="name">pe</span>;
+<li> refers to an entity <span class="name">e</span>, representing the characterized thing that is used;
+<li> contains a <a href="#concept-Role">role</a> <span class="name">r</span>;
+<li> MAY contain a "use time" <span class="name">t</span>, the time at which the characterized thing was used.</p>
</ul>
</p>
@@ -575,19 +616,19 @@
<div class='constraint' id='use-attributes'><a name="PIL:0005">
-Given a process execution <b>pe</b>, entity <b>e</b>, role <b>r</b>, and optional time <b>t</b>, if
- assertion <b>used(pe,e,r)</b> or <b>used(pe,e,r,t)</b> holds,
-the existence of the value of an attribute of <b>e</b>' is a
-pre-condition for the activity denoted by <b>pe</b> to terminate.</a>
+Given a process execution <span class="name">pe</span>, entity <span class="name">e</span>, role <span class="name">r</span>, and optional time <span class="name">t</span>, if
+ assertion <span class="name">used(pe,e,r)</span> or <span class="name">used(pe,e,r,t)</span> holds,
+the existence of the value of an attribute of <span class="name">e</span>' is a
+pre-condition for the activity denoted by <span class="name">pe</span> to terminate.</a>
[<a href="../ontology/ProvenanceFormalModel.html#PIL:0005">PIL:0005</a>]</div>
-<div class='constraint' id='use-pe-ordering'><a name="PIL:0006">Given a process execution <b>pe</b>, entity <b>e</b>, role <b>r</b>, and optional time <b>t</b>, if
- assertion <b>used(pe,e,r)</b> or <b>used(pe,e,r,t)</b> holds, one can
-infer that the use of the thing denoted by <b>e</b> precedes the end
-of <b>pe</b> and follows the beginning of <b>pe</b>. Furthermore, we
-can infer that the generation of the thing denoted by <b>e</b> always precedes
+<div class='constraint' id='use-pe-ordering'><a name="PIL:0006">Given a process execution <span class="name">pe</span>, entity <span class="name">e</span>, role <span class="name">r</span>, and optional time <span class="name">t</span>, if
+ assertion <span class="name">used(pe,e,r)</span> or <span class="name">used(pe,e,r,t)</span> holds, one can
+infer that the use of the thing denoted by <span class="name">e</span> precedes the end
+of <span class="name">pe</span> and follows the beginning of <span class="name">pe</span>. Furthermore, we
+can infer that the generation of the thing denoted by <span class="name">e</span> always precedes
its use.</a>
[<a href="../ontology/ProvenanceFormalModel.html#PIL:0006">PIL:0006</a>] </div>
@@ -616,18 +657,18 @@
<p>A process execution linked derivation, which, by definition of derivation, expresses that some characterized thing is transformed from, created from, or affected by another characterized thing, entails a process execution that transforms, creates or affects this characterized thing.</pe>
-<p>In its full form, a process-execution linked derivation assertion, noted <b>wasDerivedFrom(e2,e1,pe,r2,r1)</b>:
+<p>In its full form, a process-execution linked derivation assertion, noted <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span>:
<ul>
-<li> refers to an entity <b>e2</b>, denoting the used characterized thing;
-<li> refers to an entity <b>e1</b>, denoting the generated characterized thing;
-<li> refers to process execution <b>pe</b>;
-<li> contains a role <b>r2</b>.
-<li> contains a role <b>r1</b>.
+<li> refers to an entity <span class="name">e2</span>, denoting the used characterized thing;
+<li> refers to an entity <span class="name">e1</span>, denoting the generated characterized thing;
+<li> refers to process execution <span class="name">pe</span>;
+<li> contains a role <span class="name">r2</span>.
+<li> contains a role <span class="name">r1</span>.
</ul>
-This assertion expresses that the process execution <b>pe</b>, by
-using the thing denoted by <b>e1</b> with role <b>r1</b> derived the
-thing denoted by entity <b>e2</b> and generated it with
-role <b>r2</b>.
+This assertion expresses that the process execution <span class="name">pe</span>, by
+using the thing denoted by <span class="name">e1</span> with role <span class="name">r1</span> derived the
+thing denoted by entity <span class="name">e2</span> and generated it with
+role <span class="name">r2</span>.
</p>
<p>
@@ -635,16 +676,16 @@
</p>
<div class="inference">
-<a name="PIL:0010">If <b>wasDerivedFrom(e2,e1,pe,r2,r1)</b> holds, then
- <b>wasGeneratedBy(e2,pe,r2)</b> and <b>used(pe,e1,r1)</b> also
+<a name="PIL:0010">If <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span> holds, then
+ <span class="name">wasGeneratedBy(e2,pe,r2)</span> and <span class="name">used(pe,e1,r1)</span> also
hold. </a> [<a href="../ontology/ProvenanceFormalModel.html#PIL:0010">PIL:0010</a>]
</div>
-<p>For convenience, PIL allows for a compact, process-execution linked derivation assertion, written <b>wasDerivedFrom(e2,e1)</b>, which:
+<p>For convenience, PIL allows for a compact, process-execution linked derivation assertion, written <span class="name">wasDerivedFrom(e2,e1)</span>, which:
<ul>
-<li> refers to an entity <b>e2</b>, denoting the generated characterized thing;
-<li> refers to an entity <b>e1</b>, denoting the used characterized thing.
+<li> refers to an entity <span class="name">e2</span>, denoting the generated characterized thing;
+<li> refers to an entity <span class="name">e1</span>, denoting the used characterized thing.
</ul>
</p>
@@ -653,47 +694,47 @@
This is formalized by the following inference rule, referred to as <em>process execution introduction</em>:<br/>
<div class='inference'>
<a name="PIL:0009">
-If <b>wasDerivedFrom(e2,e1)</b> holds, then there exists a process execution <b>pe</b>, and roles <b>r1</b>,<b>r2</b>,
+If <span class="name">wasDerivedFrom(e2,e1)</span> holds, then there exists a process execution <span class="name">pe</span>, and roles <span class="name">r1</span>,<span class="name">r2</span>,
such that:
- <b>wasGeneratedBy(e2,pe,r2)</b> and <b>used(pe,e1,r1)</b>. [<a href="../ontology/ProvenanceFormalModel.html#PIL:0009">PIL:0009</a>]
+ <span class="name">wasGeneratedBy(e2,pe,r2)</span> and <span class="name">used(pe,e1,r1)</span>. [<a href="../ontology/ProvenanceFormalModel.html#PIL:0009">PIL:0009</a>]
</div></p>
-<p>If <b>e2</b> is derived from <b>e1</b>, then
-this means that the thing represented by <b>e1</b> has an influence on the thing represented by <b>e2</b>, which is captured by a dependency between their attribute values; it also implies temporal ordering. These are specified as follows:</p>
+<p>If <span class="name">e2</span> is derived from <span class="name">e1</span>, then
+this means that the thing represented by <span class="name">e1</span> has an influence on the thing represented by <span class="name">e2</span>, which is captured by a dependency between their attribute values; it also implies temporal ordering. These are specified as follows:</p>
-<div class='constraint' id='derivation-attributes'><a name="PIL:0007">Given a process execution <b>pe</b>, entities <b>e1</b> and <b>e2</b>, roles <b>r1</b> and <b>r2</b>, the assertion <b>wasDerivedFrom(e2,e1,pe,r2,r1)</b>
-or <b>wasDerivedFrom(e2,e1)</b> holds, <span class='conditional'>if and only if</span>:
+<div class='constraint' id='derivation-attributes'><a name="PIL:0007">Given a process execution <span class="name">pe</span>, entities <span class="name">e1</span> and <span class="name">e2</span>, roles <span class="name">r1</span> and <span class="name">r2</span>, the assertion <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span>
+or <span class="name">wasDerivedFrom(e2,e1)</span> holds, <span class='conditional'>if and only if</span>:
the values of some attributes
-of <b>e2</b> are partly or fully determined by the values of some
-attributes of <b>e1</b>.</a> [<a
+of <span class="name">e2</span> are partly or fully determined by the values of some
+attributes of <span class="name">e1</span>.</a> [<a
href="../ontology/ProvenanceFormalModel.html#PIL:0007">PIL:0007</a>] </div>
<div class='note'>Should this dependency of attributes be made explicit as argument of the derivation? By making it explicit, we would allow someone to verify the validity of the derivation.</div>
-<div class='constraint' id='derivation-use-generation-ordering'><a name="PIL:0008">Given a process execution <b>pe</b>, entities <b>e1</b> and <b>e2</b>, roles <b>r1</b> and <b>r2</b>, <span class='conditional'>if</span> the assertion <b>wasDerivedFrom(e2,e1,pe,r2,r1)</b>
-or <b>wasDerivedFrom(e2,e1)</b> holds, <span class='conditional'>then</span>
+<div class='constraint' id='derivation-use-generation-ordering'><a name="PIL:0008">Given a process execution <span class="name">pe</span>, entities <span class="name">e1</span> and <span class="name">e2</span>, roles <span class="name">r1</span> and <span class="name">r2</span>, <span class='conditional'>if</span> the assertion <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span>
+or <span class="name">wasDerivedFrom(e2,e1)</span> holds, <span class='conditional'>then</span>
the use
-of characterized thing denoted by <b>e1</b> precedes the generation of
-the characterized thing denoted by <b>e2</b>.</a> [<a href="../ontology/ProvenanceFormalModel.html#PIL:0008">PIL:0008</a>]
+of characterized thing denoted by <span class="name">e1</span> precedes the generation of
+the characterized thing denoted by <span class="name">e2</span>.</a> [<a href="../ontology/ProvenanceFormalModel.html#PIL:0008">PIL:0008</a>]
</div>
<p>
Note that inferring derivation from use and generation does not hold
-in general. Indeed, when a generation <b>wasGeneratedBy(e2,pe,r2)</b>
-precedes <b>used(pe,e1,r1)</b>, for
-some <b>e1</b>, <b>e2</b>, <b>r1</b>, <b>r2</b>, and <b>pe</b>, one
-cannot infer derivation <b>wasDerivedFrom(e2,e1,pe,r2,r1)</b>
-or <b>wasDerivedFrom(e2,e1)</b> since the values of attributes
-of <b>e2</b> cannot possibly be determined by the values of attributes
-of <b>e1</b>, given the creation of <b>e2</b> precedes the use
-of <b>e1</b>.
+in general. Indeed, when a generation <span class="name">wasGeneratedBy(e2,pe,r2)</span>
+precedes <span class="name">used(pe,e1,r1)</span>, for
+some <span class="name">e1</span>, <span class="name">e2</span>, <span class="name">r1</span>, <span class="name">r2</span>, and <span class="name">pe</span>, one
+cannot infer derivation <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span>
+or <span class="name">wasDerivedFrom(e2,e1)</span> since the values of attributes
+of <span class="name">e2</span> cannot possibly be determined by the values of attributes
+of <span class="name">e1</span>, given the creation of <span class="name">e2</span> precedes the use
+of <span class="name">e1</span>.
</p>
<p>
@@ -704,21 +745,21 @@
<p>A further inference is permitted from the compact version of derivation:
<div class='inference'>
-<a name="PIL:0011">Given a process execution <b>pe</b>, entities <b>e1</b> and <b>e2</b>, and role <b>r2</b>,
-if <b>wasDerivedFrom(e2,e1)</b> and <b>wasGeneratedBy(e2,pe,r2)</b> hold, then there exists a role <b>r1</b>,
-such that <b>used(pe,e1,r1)</b> also holds.</a>
+<a name="PIL:0011">Given a process execution <span class="name">pe</span>, entities <span class="name">e1</span> and <span class="name">e2</span>, and role <span class="name">r2</span>,
+if <span class="name">wasDerivedFrom(e2,e1)</span> and <span class="name">wasGeneratedBy(e2,pe,r2)</span> hold, then there exists a role <span class="name">r1</span>,
+such that <span class="name">used(pe,e1,r1)</span> also holds.</a>
[<a href="../ontology/ProvenanceFormalModel.html#PIL:0011">PIL:0011</a>]
</div>
-This inference is justified by the fact that <b>e2</b> is generated by at most one process execution. Hence, this process execution is also the one that used <b>e1</b>.
+This inference is justified by the fact that <span class="name">e2</span> is generated by at most one process execution. Hence, this process execution is also the one that used <span class="name">e1</span>.
</p>
<div class='note'>There is a suggestion by Simon that this notion of derivation is only meaningful in the context of an account. <a href="http://lists.w3.org/Archives/Public/public-prov-wg/2011Aug/0101.html">See email</a>. It is not clear it is the case anymore. However, the inference above is only meaning full if unicity of generation hold.</div>
<p>We note that the "symmetric" inference, does not hold.
-From <b>wasDerivedFrom(e2,e1)</b> and <b>used(pe,e1)</b>, one cannot
-derive <b>wasGeneratedBy(e2,pe,r2)</b> because <b>e1</b> may be used by
-many process execution, not all of them generating <b>e2</b>.</p>
+From <span class="name">wasDerivedFrom(e2,e1)</span> and <span class="name">used(pe,e1)</span>, one cannot
+derive <span class="name">wasGeneratedBy(e2,pe,r2)</span> because <span class="name">e1</span> may be used by
+many process execution, not all of them generating <span class="name">e2</span>.</p>
@@ -732,30 +773,30 @@
<p>A process execution independent derivation states the existence of a derivation, by any means whether direct or not, and regardless of any process executions. </p>
-<p>A process execution independent derivation, written <b>wasEventuallyDerivedFrom (e2, e1)</b>,
+<p>A process execution independent derivation, written <span class="name">wasEventuallyDerivedFrom (e2, e1)</span>,
<ul>
-<li> refers to an entity <b>e2</b>, denoting the used characterized thing;
-<li> refers to an entity <b>e1</b>, denoting the generated characterized thing;
+<li> refers to an entity <span class="name">e2</span>, denoting the used characterized thing;
+<li> refers to an entity <span class="name">e1</span>, denoting the generated characterized thing;
</ul>
-<p>If <b>e2</b> is derived (wasEventuallyDerivedFrom) from <b>e1</b>, then
-this means that the thing represented by <b>e1</b> has an influence on the thing represented by <b>e2</b>,
+<p>If <span class="name">e2</span> is derived (wasEventuallyDerivedFrom) from <span class="name">e1</span>, then
+this means that the thing represented by <span class="name">e1</span> has an influence on the thing represented by <span class="name">e2</span>,
which at the minimum implies temporal ordering, specified as follows:</p>
<div class='constraint' id='derivation-generation-generation-ordering'>
- <a name="PIL:0012">Given two entities <b>e1</b> and <b>e2</b>, if the assertion <b>wasEventuallyDerivedFrom(e2,e1)</b>
+ <a name="PIL:0012">Given two entities <span class="name">e1</span> and <span class="name">e2</span>, if the assertion <span class="name">wasEventuallyDerivedFrom(e2,e1)</span>
holds, then:
-generation of the characterized thing denoted by <b>e1</b> precedes the generation of
-the characterized thing denoted by <b>e2</b>.</a>
+generation of the characterized thing denoted by <span class="name">e1</span> precedes the generation of
+the characterized thing denoted by <span class="name">e2</span>.</a>
[<a href="../ontology/ProvenanceFormalModel.html#PIL:0012">PIL:0012</a>]
</div>
-<p>Note that temporal ordering is between generations of <b>e1</b>
-and <b>e2</b>, as opposed to process execution linked derivation,
-which implies temporal ordering between the use of <b>e1</b> and
-generation of <b>e2</b> (see <a href="#derivation-use-generation-ordering">derivation-use-generation-ordering</a>). Indeed, in the case of
-wasEventuallyDerivedFrom, nothing is known about the use of <b>e1</b>,
+<p>Note that temporal ordering is between generations of <span class="name">e1</span>
+and <span class="name">e2</span>, as opposed to process execution linked derivation,
+which implies temporal ordering between the use of <span class="name">e1</span> and
+generation of <span class="name">e2</span> (see <a href="#derivation-use-generation-ordering">derivation-use-generation-ordering</a>). Indeed, in the case of
+wasEventuallyDerivedFrom, nothing is known about the use of <span class="name">e1</span>,
since there is no associated process execution.</p>
<div class='note'>Should we link wasEventuallyDerivedFrom to attributes as we did for wasDerivedFrom? If so, this type of inference should be presented upfront, for both.</div>
@@ -771,20 +812,20 @@
<p>
-If <b>wasDerivedFrom(e2,e1)</b> holds because attribute <b>a2.1</b> of <b>e2</b> is determined by attribute <b>a1.1</b> of <b>e1</b>,
-and if <b>wasDerivedFrom(e3,e2)</b> holds because attribute <b>a3.1</b>of <b>e3</b> is determined by attribute <b>a2.2</b> of <b>e1</b>, it is not necessarily the case that an attribute of <b>e3</b> is determined by an attribute of <b>e1</b>, so, an asserter may not be able to assert <b>wasDerivedFrom(e3,e1)</b>. Hence, constraints on attributes invalidate transitivity in the general case.
+If <span class="name">wasDerivedFrom(e2,e1)</span> holds because attribute <span class="name">a2.1</span> of <span class="name">e2</span> is determined by attribute <span class="name">a1.1</span> of <span class="name">e1</span>,
+and if <span class="name">wasDerivedFrom(e3,e2)</span> holds because attribute <span class="name">a3.1</span>of <span class="name">e3</span> is determined by attribute <span class="name">a2.2</span> of <span class="name">e1</span>, it is not necessarily the case that an attribute of <span class="name">e3</span> is determined by an attribute of <span class="name">e1</span>, so, an asserter may not be able to assert <span class="name">wasDerivedFrom(e3,e1)</span>. Hence, constraints on attributes invalidate transitivity in the general case.
</p>
-<p>However, there is sense that <b>e3</b> still depends on <b>e1</b>, since <b>e3</b> could not be generated without <b>e1</b> existing. Hence, we introduce a weaker notion of derivation, which is transitive.</p>
+<p>However, there is sense that <span class="name">e3</span> still depends on <span class="name">e1</span>, since <span class="name">e3</span> could not be generated without <span class="name">e1</span> existing. Hence, we introduce a weaker notion of derivation, which is transitive.</p>
<p>The relationship <dfn id="dfn-dependedOn">dependedOn</dfn> is defined as follows:
<ul>
-<li>If <b>wasDerivedFrom(e2,e1)</b> or <b>wasDerivedFrom(e2,e1,pe,r2,r1)</b> holds, then <b>dependedOn(e2,e1)</b>.</li>
-<li>If <b>wasEventuallyDerivedFrom(e2,e1)</b> holds, then <b>dependedOn(e2,e1)</b>.</li>
-<li>If <b>dependedOn(e3,e2)</b> and <b>dependedOn(e2,e1)</b> hold, then <b>dependedOn(e3,e1)</b>.</li>
+<li>If <span class="name">wasDerivedFrom(e2,e1)</span> or <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span> holds, then <span class="name">dependedOn(e2,e1)</span>.</li>
+<li>If <span class="name">wasEventuallyDerivedFrom(e2,e1)</span> holds, then <span class="name">dependedOn(e2,e1)</span>.</li>
+<li>If <span class="name">dependedOn(e3,e2)</span> and <span class="name">dependedOn(e2,e1)</span> hold, then <span class="name">dependedOn(e3,e1)</span>.</li>
</ul>
-<p>We note that <b>dependedOn</b> cannot be asserted but can only be inferred.</p>
+<p>We note that <span class="name">dependedOn</span> cannot be asserted but can only be inferred.</p>
</section>
@@ -813,9 +854,9 @@
<p>An <dfn id="dfn-Agent">agent</dfn> represents a characterized thing capable of
activity.</p>
-<p> An agent construct, <b>agent(e)</b>:
+<p> An agent construct, <span class="name">agent(e)</span>:
<ul>
-<li> refers to an entity <b>e</b>
+<li> refers to an entity <span class="name">e</span>
</ul>
</p>
@@ -841,11 +882,11 @@
<p> <dfn id="dfn-Control">Control</dfn> represents the involvement of an agent or an entity in a process execution; a role qualifies this involvement.</p>
-<p>A Control assertion, noted <b>wasControlledBy(pe,ag,r)</b>:
+<p>A Control assertion, noted <span class="name">wasControlledBy(pe,ag,r)</span>:
<ul>
-<li> refers to a process execution <b>pe</b>;
-<li> refers to an agent or an entity <b>ag</b>;
-<li> contains a role <b>r</b>.
+<li> refers to a process execution <span class="name">pe</span>;
+<li> refers to an agent or an entity <span class="name">ag</span>;
+<li> contains a role <span class="name">r</span>.
</ul>
</p>
@@ -883,7 +924,7 @@
-->
</p>
-<p>An wasComplementOf assertion is denoted <b>wasComplementOf(B,A)</b>, where A and B are two entities.
+<p>An wasComplementOf assertion is denoted <span class="name">wasComplementOf(B,A)</span>, where A and B are two entities.
<p>
<pre class="example">
@@ -997,7 +1038,7 @@
the writing of these assertions when a role is unknown by the
asserter, syntactic notations MAY allow these to be written without a role. In such a case, a default, uniquely named role from the set
'unspecified role' will be assumed. A countable set of unique labels can be used to denote unspecified roles, as in:
-<b>unspecified0</b>, <b>unspecified1</b>, <b>unspecified2</b>, ....
+<span class="name">unspecified0</span>, <span class="name">unspecified1</span>, <span class="name">unspecified2</span>, ....
<pre class="example">
used(pe,e) expands to used(pe,e,unspecified1)
@@ -1050,39 +1091,39 @@
<p>
-An instance of a <b>wasInformedBy</b> construct, written as
-<b>wasInformedBy(pe2,pe1)</b> in the Provenance Abstract Syntax Notation:
+An instance of a <span class="name">wasInformedBy</span> construct, written as
+<span class="name">wasInformedBy(pe2,pe1)</span> in the Provenance Abstract Syntax Notation:
<ul>
-<li> refers to a process execution <b>pe2</b>;
-<li> refers to a process execution <b>pe1</b>
+<li> refers to a process execution <span class="name">pe2</span>;
+<li> refers to a process execution <span class="name">pe1</span>
</ul>
-and expresses information flow ordering between <b>pe2</b> and <b>pe1</b>.
-The meaning of the <b>wasInformedBy</b> construct is specified as follows.
+and expresses information flow ordering between <span class="name">pe2</span> and <span class="name">pe1</span>.
+The meaning of the <span class="name">wasInformedBy</span> construct is specified as follows.
-<div class='constraint' id='wasInformedBy'>Given two process executions denoted by <b>pe1</b> and <b>pe2</b>,
- the construct <b>wasInformedBy(pe2,pe1)</b>
+<div class='constraint' id='wasInformedBy'>Given two process executions denoted by <span class="name">pe1</span> and <span class="name">pe2</span>,
+ the construct <span class="name">wasInformedBy(pe2,pe1)</span>
holds, <span class='conditional'>if and only if</span>
- there is an entity denoted by <b>e</b> and roles <b>r1</b> and <b>r2</b>,
-such that <b>wasGeneratedBy(e,pe1,r1)</b> and <b>used(pe2,e,r2)</b> hold.
+ there is an entity denoted by <span class="name">e</span> and roles <span class="name">r1</span> and <span class="name">r2</span>,
+such that <span class="name">wasGeneratedBy(e,pe1,r1)</span> and <span class="name">used(pe2,e,r2)</span> hold.
</div>
<p>
-An instance of an <b>wasScheduledAfter</b> construct, written as
-<b>wasScheduledAfter(pe2,pe1)</b> in the Provenance Abstract Syntax Notation:
+An instance of an <span class="name">wasScheduledAfter</span> construct, written as
+<span class="name">wasScheduledAfter(pe2,pe1)</span> in the Provenance Abstract Syntax Notation:
<ul>
-<li> refers to a process execution <b>pe2</b>;
-<li> refers to a process execution <b>pe1</b>,
+<li> refers to a process execution <span class="name">pe2</span>;
+<li> refers to a process execution <span class="name">pe1</span>,
</ul>
-and expresses control ordering between <b>pe2</b> and <b>pe1</b>.
-The meaning of the <b>wasScheduledAfter</b> construct is as follows.
+and expresses control ordering between <span class="name">pe2</span> and <span class="name">pe1</span>.
+The meaning of the <span class="name">wasScheduledAfter</span> construct is as follows.
-<div class='constraint' id='wasScheduledAfter'>Given two process executions denoted by <b>pe1</b> and <b>pe2</b>,
- the construct <b>wasScheduledAfter(pe2,pe1)</b>
+<div class='constraint' id='wasScheduledAfter'>Given two process executions denoted by <span class="name">pe1</span> and <span class="name">pe2</span>,
+ the construct <span class="name">wasScheduledAfter(pe2,pe1)</span>
holds, <span class='conditional'>if and only if</span>
- there are two entities denoted by <b>e1</b> and <b>e2</b> and roles <b>r1</b> and <b>r2</b>,
-such that <b>wasControlledBy(pe1,e1,r1)</b> and <b>wasControlledBy(pe2,e2,r2)</b> and <b>wasDerivedFrom(e2,e1)</b>.
+ there are two entities denoted by <span class="name">e1</span> and <span class="name">e2</span> and roles <span class="name">r1</span> and <span class="name">r2</span>,
+such that <span class="name">wasControlledBy(pe1,e1,r1)</span> and <span class="name">wasControlledBy(pe2,e2,r2)</span> and <span class="name">wasDerivedFrom(e2,e1)</span>.
</div>
@@ -1096,31 +1137,31 @@
<p> <dfn id="dfn-Revision">Revision</dfn> represents the creation of a characterized thing considered to be a variant of another. Deciding whether something is made available as a revision of something else usually involves an agent who is responsible for declaring that the former is variant of the latter. </p>
-<p>An assertion wasRevisionOf, noted <b>wasRevisionOf(e2,e1,ag)</b>:
+<p>An assertion wasRevisionOf, noted <span class="name">wasRevisionOf(e2,e1,ag)</span>:
<ul>
-<li> refers to an entity <b>e2</b>, denoting a newer version of a thing;
-<li> refers to an entity <b>e1</b>, denoting a older version of a thing;
-<li> MAY refer to a responsible agent <b>ag</b>.
+<li> refers to an entity <span class="name">e2</span>, denoting a newer version of a thing;
+<li> refers to an entity <span class="name">e1</span>, denoting a older version of a thing;
+<li> MAY refer to a responsible agent <span class="name">ag</span>.
</ul>
</p>
<p>
-From an assertion <b>wasRevisionOf(new,old,ag)</b>, one can infer that:
+From an assertion <span class="name">wasRevisionOf(new,old,ag)</span>, one can infer that:
<ul>
-<li> The characterized thing denoted by <b>new</b> is derived from the characterized thing denoted by <b>old</b>
-<li> There exists an entity <b>X</b>, such that:
+<li> The characterized thing denoted by <span class="name">new</span> is derived from the characterized thing denoted by <span class="name">old</span>
+<li> There exists an entity <span class="name">X</span>, such that:
<ul>
-<li> <b>new</b> wasComplementOf <b>X</b>;
-<li> <b>old</b> wasComplementOf <b>X</b>;
-<li> <b>X</b> MAY have been asserted.
+<li> <span class="name">new</span> wasComplementOf <span class="name">X</span>;
+<li> <span class="name">old</span> wasComplementOf <span class="name">X</span>;
+<li> <span class="name">X</span> MAY have been asserted.
</ul>
</ul>
</p>
-<p><b>wasRevisionOf</b> is a strict sub-relation
- of <b>wasDerivedFrom</b> since two entities <b>e2</b> and <b>e1</b>
- may satisfy <b>wasDerivedFrom(e2,e1)</b> without being a variant of
+<p><span class="name">wasRevisionOf</span> is a strict sub-relation
+ of <span class="name">wasDerivedFrom</span> since two entities <span class="name">e2</span> and <span class="name">e1</span>
+ may satisfy <span class="name">wasDerivedFrom(e2,e1)</span> without being a variant of
each other.
</p>
@@ -1136,20 +1177,20 @@
<p> <dfn id="dfn-Participation">Participation</dfn> represents the involvment of a thing in an activity. It can be asserted or inferred.</p>
-<p>The construct <dfn id="dfn-hadParticipant">hadParticipant</dfn>, noted <b>hadParticipant(pe,e)</b>,
+<p>The construct <dfn id="dfn-hadParticipant">hadParticipant</dfn>, noted <span class="name">hadParticipant(pe,e)</span>,
<ul>
-<li> refers to a process execution <b>pe</b>;
-<li> refers to an entity <b>e</b>;
+<li> refers to a process execution <span class="name">pe</span>;
+<li> refers to an entity <span class="name">e</span>;
</ul>
<div class='constraint' id='participation'>
<a name="PIL:0014">
-Given a process execution <b>pe</b> and entity <b>e</b>, <b>hadParticipant(pe,e)</b> holds <span class='conditional'>if and only if</span>:
+Given a process execution <span class="name">pe</span> and entity <span class="name">e</span>, <span class="name">hadParticipant(pe,e)</span> holds <span class='conditional'>if and only if</span>:
<ul>
-<li> <b>used(pe,e)</b> holds, or</li>
-<li> <b>wasControlledBy(pe,e)</b> holds, or</li>
-<li> <b>wasComplementOf(e1,e)</b> holds for some entities <b>e1</b>, and
- <b>hadParticipant(pe,e1)</b> some process execution <b>pe</b>.</li>
+<li> <span class="name">used(pe,e)</span> holds, or</li>
+<li> <span class="name">wasControlledBy(pe,e)</span> holds, or</li>
+<li> <span class="name">wasComplementOf(e1,e)</span> holds for some entities <span class="name">e1</span>, and
+ <span class="name">hadParticipant(pe,e1)</span> some process execution <span class="name">pe</span>.</li>
</ul>
</a> [<a
href="../ontology/ProvenanceFormalModel.html#PIL:0014">PIL:0014</a>]
@@ -1172,10 +1213,10 @@
<p>Such meta-information may be asserter, date of creation, justification for assertions, and cryptographic signature. </p>
-<p>A provenance container construct, noted <b>provenanceContainer(id, constructs)</b>:
+<p>A provenance container construct, noted <span class="name">provenanceContainer(id, constructs)</span>:
<ul>
-<li> contains an identifier <b>id</b>;</li>
-<li> contains a set of provenance constructs <b>constructs</b>.</li>
+<li> contains an identifier <span class="name">id</span>;</li>
+<li> contains a set of provenance constructs <span class="name">constructs</span>.</li>
</ul>
<p>How general meta-information is expressed is beyond the scope of this specification, except for a few key metatypes specified in the <a href="#concept-Account">Account</a> construct.</p>
@@ -1198,11 +1239,11 @@
-<p>An account construct, noted <b>account(id, asserter, constructs)</b>:
+<p>An account construct, noted <span class="name">account(id, asserter, constructs)</span>:
<ul>
-<li> contains an identifier <b>id</b>;</li>
-<li> refers to an agent <b>asserter</b>;</li>
-<li> contains a set of provenance constructs <b>constructs</b>.</li>
+<li> contains an identifier <span class="name">id</span>;</li>
+<li> refers to an agent <span class="name">asserter</span>;</li>
+<li> contains a set of provenance constructs <span class="name">constructs</span>.</li>
</ul>
</p>
@@ -1249,16 +1290,16 @@
Quotation represents the repeating or copying of some part of a characterized thing.
-<p> An assertion wasQuoteOf, noted <b> wasQuoteOf(e2,e1,ag,ag2)</b>:
+<p> An assertion wasQuoteOf, noted <span class="name"> wasQuoteOf(e2,e1,ag,ag2)</span>:
<ul>
-<li>refers to an entity <b>e2</b>, denoting the quote;
-<li>refers to an entity <b>e1</b>, denoting the entity being quoted;
-<li>MAY refer to an agent who is doing the quoting <b>ag</b>;
-<li>MAY refer to the agent that is quoted <b>ag</b>
+<li>refers to an entity <span class="name">e2</span>, denoting the quote;
+<li>refers to an entity <span class="name">e1</span>, denoting the entity being quoted;
+<li>MAY refer to an agent who is doing the quoting <span class="name">ag</span>;
+<li>MAY refer to the agent that is quoted <span class="name">ag</span>
</ul>
</p>
<p>
-<b>wasQuoteOf</b> is a sub-relation of <b>wasRevisionOf</b>
+<span class="name">wasQuoteOf</span> is a sub-relation of <span class="name">wasRevisionOf</span>
</p>
</section>
@@ -1268,14 +1309,14 @@
Attribution represents that a characterized thing is ascribed to an agent.
-<p> An assertion wasAttributedTo, noted <b> wasAttributedTo(e1,ag)</b>:
+<p> An assertion wasAttributedTo, noted <span class="name"> wasAttributedTo(e1,ag)</span>:
<ul>
-<li>refers to an entity <b>e2</b>, denoting the entity;
-<li>refers to an agent who the entity is attributed to <b>ag</b>.
+<li>refers to an entity <span class="name">e2</span>, denoting the entity;
+<li>refers to an agent who the entity is attributed to <span class="name">ag</span>.
</ul>
</p>
<p>
-<b>wasQuoteOf</b> is a strict sub-relation of <b>wasEventuallyDerivedFrom</b>
+<span class="name">wasQuoteOf</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>
</p>
@@ -1285,14 +1326,14 @@
<h3>Summary</h3>
Represents a characterized thing that is a synopsis or abbreviation of another entity.
-<p> An assertion wasSummaryOf, noted <b> wasSummaryOf(e2,e1)</b>:
+<p> An assertion wasSummaryOf, noted <span class="name"> wasSummaryOf(e2,e1)</span>:
<ul>
-<li>refers to an entity <b>e2</b>, denoting the summary;
-<li>refers to an entity <b>e1</b>, denoting the entity being summarized.
+<li>refers to an entity <span class="name">e2</span>, denoting the summary;
+<li>refers to an entity <span class="name">e1</span>, denoting the entity being summarized.
</ul>
</p>
<p>
-<b>wasSummaryOf</b> is a strict sub-relation of <b>wasEventuallyDerivedFrom</b>
+<span class="name">wasSummaryOf</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>
</p>
@@ -1303,14 +1344,14 @@
Represents a characterized thing in which another characterized thing first appeared.
-<p> An assertion hasOriginalSource, noted <b> hasOriginalSource(e2,e1)</b>:
+<p> An assertion hasOriginalSource, noted <span class="name"> hasOriginalSource(e2,e1)</span>:
<ul>
-<li>refers to an entity <b>e2</b>, denoting the entity that first appeared;
-<li>refers to an entity <b>e1</b>, denoting the entity where that entity first appeared.
+<li>refers to an entity <span class="name">e2</span>, denoting the entity that first appeared;
+<li>refers to an entity <span class="name">e1</span>, denoting the entity where that entity first appeared.
</ul>
</p>
<p>
-<b>hasOriginalSource</b> is a strict sub-relation of <b>wasEventuallyDerivedFrom</b>
+<span class="name">hasOriginalSource</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>
</p>
@@ -1348,7 +1389,7 @@
<section id='PASN-convention'>
<h3>Provenance Abstract Syntax Notation Conventions</h3>
<ul>
-<li>Constructs are expressed as <b>name(arg0, arg1, ...)</b>, where the name of the construct occurs first, and is followed by its arguments.</li>
+<li>Constructs are expressed as <span class="name">name(arg0, arg1, ...)</span>, where the name of the construct occurs first, and is followed by its arguments.</li>
<li>For use, generation, and derivation event, the first argument is the 'effect' (i.e. most recent item) and the second argument is the 'cause' (i.e. least recent item). This order is compatible with the temporal layout of the graphical notation.
</li>
<li> Preliminary BNF grammar for the Provenance Abstract Syntax Notation
@@ -1467,7 +1508,7 @@
|<span class="nonterminal">number</span>
|<span class="nonterminal">time</span><br/>
<br/>
-<div>
+</div>
</li>
</ul>
</section>