--- a/model/ProvenanceModel.html Thu Oct 06 11:11:51 2011 +0100
+++ b/model/ProvenanceModel.html Thu Oct 06 12:15:36 2011 +0100
@@ -974,8 +974,8 @@
<div class='constraint' id='generation-affects-attributes'>Given an identifier <span class="name">pe</span> for a process execution expression, an identifier <span class="name">e</span> for an entity expression, qualifier <span class="name">q</span>, and optional time <span class="name">t</span>,
-<span class='conditional'>if</span> the assertion <span class="name">wasGeneratedBy(e,pe,r)</span>
-or <span class="name">wasGeneratedBy(e,pe,r,t)</span> holds, <span class='conditional'>then</span> the values of <em>some</em> of <span class="name">e</span>'s
+<span class='conditional'>if</span> the assertion <span class="name">wasGeneratedBy(e,pe,p)</span>
+or <span class="name">wasGeneratedBy(e,pe,q,t)</span> holds, <span class='conditional'>then</span> the values of <em>some</em> of <span class="name">e</span>'s
attributes are determined by the activity represented by process execution expression identified by <span class="name">pe</span> and the
entity expressions used by <span class="name">pe</span>.
Only some (possibly none) of the attributes values may be determined
@@ -986,7 +986,7 @@
The assertion of a generation event implies ordering of events in the world.
-<div class='constraint' id='generation-pe-ordering'><span class='conditional'>If</span> an assertion <span class="name">wasGeneratedBy(x,pe,r)</span> or <span class="name">wasGeneratedBy(x,pe,r,t)</span>, <span class='conditional'>then</span> generation of the thing denoted by <span class="name">x</span> precedes the end
+<div class='constraint' id='generation-pe-ordering'><span class='conditional'>If</span> an assertion <span class="name">wasGeneratedBy(x,pe,q)</span> or <span class="name">wasGeneratedBy(x,pe,q,t)</span>, <span class='conditional'>then</span> 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>.
</div>
@@ -1152,7 +1152,7 @@
<p>The following derivation assertions</p>
<pre class="example">
-wasDerivedFrom(e5,e3,pe4,qualifier(channel=out),qualifier(channel=in))
+wasDerivedFrom(e5,e3,pe4,qualifier(channel="out"),qualifier(channel="in"))
wasDerivedFrom(e3,e2)
</pre>
<p>
@@ -1170,8 +1170,8 @@
</p>
<div class="constraint" id='derivation-events'>
-<span class='conditional'>If</span> <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span> holds, <span class='conditional'>then</span>
- <span class="name">wasGeneratedBy(e2,pe,r2)</span> and <span class="name">used(pe,e1,r1)</span> also
+<span class='conditional'>If</span> <span class="name">wasDerivedFrom(e2,e1,pe,q2,q1)</span> holds, <span class='conditional'>then</span>
+ <span class="name">wasGeneratedBy(e2,pe,q2)</span> and <span class="name">used(pe,e1,q1)</span> also
hold.
</div>
@@ -1210,10 +1210,10 @@
<p>
Note that inferring derivation from use and generation does not hold
-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>
+in general. Indeed, when a generation <span class="name">wasGeneratedBy(e2,pe,q2)</span>
+precedes <span class="name">used(pe,e1,q1)</span>, for
+some <span class="name">e1</span>, <span class="name">e2</span>, <span class="name">q1</span>, <span class="name">q2</span>, and <span class="name">pe</span>, one
+cannot infer derivation <span class="name">wasDerivedFrom(e2,e1,pe,q2,q1)</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
@@ -1225,7 +1225,7 @@
<div class='constraint' id='derivation-use'>
<p>Given a process execution expression identified by <span class="name">pe</span>, entity expressions identified by <span class="name">e1</span> and <span class="name">e2</span>, and qualifier <span class="name">q2</span>,
<span class='conditional'>if</span> <span class="name">wasDerivedFrom(e2,e1)</span> and <span class="name">wasGeneratedBy(e2,pe,q2)</span> hold, <span class='conditional'>then</span> there exists a qualifier <span class="name">q1</span>,
-such that <span class="name">used(pe,e1,r1)</span> also holds.
+such that <span class="name">used(pe,e1,q1)</span> also holds.
</div>
<p>This inference is justified by the fact that the characterized thing represented by entity expression identified by <span class="name">e2</span> is generated by at most one activity in a given account (see <a href="#generation-unicity">generation-unicity</a>). Hence, this process execution expression is also the one referred to in the use expression of <span class="name">e1</span>.
</p>
@@ -1234,7 +1234,7 @@
<p>We note that the "symmetric" inference, does not hold.
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 identifier <span class="name">e1</span> may occur in use expressions referring to
+derive <span class="name">wasGeneratedBy(e2,pe,q2)</span> because identifier <span class="name">e1</span> may occur in use expressions referring to
many process execution expressions, but they may not be referred to in generation expressions containing identifier <span class="name">e2</span>.</p>
@@ -1278,9 +1278,9 @@
contains or implies the existence of a process execution expression. Hence, from
the former, we can infer the latter.</p>
<div class='constraint' id='derivation-linked-independent'>
-Given two entity expressions denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the assertion <span class="name">wasEventuallyDerivedFrom(e2,e1)</span>
+Given two entity expressions 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)</span> or <span class="name">wasDerivedFrom(e2,e1,pe,q12,q1)</span>
holds, <span class='conditional'>then</span> the
- the assertion <span class="name">wasEventuallyDerivedFrom(e2,e1)</span> also holds.
+ the expression <span class="name">wasEventuallyDerivedFrom(e2,e1)</span> also holds.
</div>
<p>Hence, a process-execution independent derivation expression can be directly asserted or can be inferred (by means of <a href="#derivation-linked-independent">derivation-linked-independent</a>).</p>
@@ -1292,6 +1292,7 @@
+
</section>
<section>
@@ -1330,6 +1331,8 @@
<div class='issue'>Should derivation have a time? Which time? This is <a href="http://www.w3.org/2011/prov/track/issues/43">ISSUE-43</a>.</div>
+<div class='issue'>TODO: transitivity problem? This is <a href="http://www.w3.org/2011/prov/track/issues/43">ISSUE-xxx</a>.</div>
+
</section>
@@ -1369,7 +1372,7 @@
<p>
The following control assertion</p>
<pre class="example">
-wasControlledBy(pe3,a4,[role=author])
+wasControlledBy(pe3,a4,qualifier[role="author"])
</pre>
<p>states that the activity, represented by the process execution expression denoted by <span class="name">pe3</span> saw the involvement of a characterized thing, represented by entity expression denoted by <span class="name">a4</span> in the capacity of author. This specification defines the qualifier name <span class="name">role</span> (see Section <a href="#expression-qualifier">Qualifier</a>) to denote the function of a characterized thing with respect to an activity.
</p>
@@ -1803,7 +1806,7 @@
...
processExecution(pe0,create-file,t)
...
- wasGeneratedBy(e0,pe0,outFile)
+ wasGeneratedBy(e0,pe0,qualifier())
...
wasControlledBy(pe4,a5, qualifier(role="communicator")) )
</pre>
@@ -1856,7 +1859,7 @@
...
processExecution(pe1,create-file,t1)
...
- wasGeneratedBy(e0,pe1,outFile)
+ wasGeneratedBy(e0,pe1,qualifier(fct="create"))
... )
</pre>
<p>with identifier <span class="name">acc2</span>, containing assertions by asserter by <span class="name">http://example.org/asserter2</span> stating that thing represented by entity expression identified by <span class="name">e0</span> was generated by an activity represented by process execution expression identified by <span class="name">pe1</span> instead of <span class="name">pe0</span> in the previous account <span class="name">acc0</span>. If accounts <span class="name">acc0</span> and <span class="name">acc2</span> are merged together, the resulting set of expressions violates <a href="#generation-unicity">generation-unicity</a>.</p>
@@ -1870,12 +1873,12 @@
http://example.org/asserter1,
entity(e0, [ type="File", location="/shared/crime.txt", creator="Alice" ])
processExecution(pe0,create-file,t)
- wasGeneratedBy(e0,pe0,outFile)
+ wasGeneratedBy(e0,pe0,qualifier())
account(acc4,
http://example.org/asserter2,
entity(e1, [ type="File", location="/shared/crime.txt", creator="Alice", content="" ])
processExecution(pe0,copy-file,t)
- wasGeneratedBy(e1,pe0,outFile)
+ wasGeneratedBy(e1,pe0,qualifier(fct="create"))
isComplement(e1,e0)))
</pre>
<p>Alternatively, a process execution expression identified by <span class="name">pe0</span> occurs in each of the two accounts. Therefore, each process execution expression is asserted in a separate scope, and therefore may represent different activities in the world.