--- a/model/comments/issue-459-stian.txt Wed Aug 08 10:11:41 2012 +0100
+++ b/model/comments/issue-459-stian.txt Wed Aug 08 11:04:21 2012 +0100
@@ -1383,7 +1383,11 @@
>
>
+Figure issue. @Luc?
+
69.
+
+
> > First, we consider derivations, where the activity and usage are known.
> -->
> First, we consider derivations where the activity and usage are known. In
@@ -1434,6 +1438,8 @@
>
>
+Done.
+
71.
> Unique variables to avoid confusion:
>
@@ -1448,6 +1454,9 @@
>
>
+Since these are two separate inferences, there is no real possibility
+of confusion, but fine.
+
72.
>
> > Constraint 44 (wasEndedBy-ordering)
@@ -1460,6 +1469,8 @@
>
>
+Done
+
73.
>
>
@@ -1478,13 +1489,19 @@
> document.
>
+I revised the section to point out that an agent could be an activity.
+
+@Luc discuss?
+
74.
>
> Figure 5a) is very difficult to understand, as the extent of the two
> triangles is not shown. Could this be added, such as in 2a)?
>
-74.
+@Luc figure
+
+75.
>
> > The agent may be generated, or may only become associated with the activity, after the activity start:
>
@@ -1500,7 +1517,9 @@
> "is required to" -> "MUST"
>
-75.
+Done
+
+76.
>
> > Constraint 47 (wasAssociatedWith-ordering)
> > > > > > > > IF
@@ -1516,7 +1535,9 @@
> add note that _pl above MAY be -.
>
-76.
+Done (clarified that _pl may be -).
+
+77.
> Make identifiers unique in second line:
>
> IF wasAssociatedWith(_assoc;a,ag,_pl,_attrs) and
@@ -1525,7 +1546,10 @@
>
>
-77.
+Seems unnecessary but fine.
+
+
+78.
> > An entity that was attributed to an agent must have some overlap with the agent.
>
@@ -1591,7 +1615,7 @@
This is ISSUE-471
-78.
+79.
>
> 5.4:
>
@@ -1604,8 +1628,9 @@
> typeOf(c) AND 'prov:Collection' ∈ typeOf(c) AND 'prov:EmptyCollection'
> ∈ typeOf(c).
+Done.
-79.
+80.
>
> > IF wasDerivedFrom(id; e2, e1, a, g2, u1, attrs) THEN 'entity' ∈
> typeOf(e2) AND 'entity' ∈ typeOf(e1) AND 'activity' ∈ typeOf(a).
@@ -1616,7 +1641,9 @@
> typeOf(e2) AND 'entity' ∈ typeOf(e1)
>
-80.
+Done.
+
+81.
>
> > > IF wasAssociatedWith(id;a,ag,pl,attrs) THEN 'activity' ∈
> typeOf(a) AND 'agent' ∈ typeOf(ag) AND 'entity' ∈ typeOf(pl).
@@ -1627,7 +1654,9 @@
> 'agent' ∈ typeOf(ag)
>
-81.
+Done.
+
+82.
>
> > > Note that there is no disjointness between entities and
> agents. This is because one might want to make statements about
@@ -1638,7 +1667,9 @@
> Similarly, an agent might in some cases be expressed rather as an activity.
>
-82.
+Added clarification.
+
+83.
>
> > 6. Normalization, Validity, and Equivalence
@@ -1655,7 +1686,9 @@
> to point 4.
-83.
+This is ISSUE-465
+
+84.
>
> > (Replacing two different names with equal names does change the meaning.)
@@ -1664,13 +1697,19 @@
>
-84.
+Done
+
+85.
>
> > D. References
>
> Why is PROV-DM not a normative reference?
>
+
+Done (and PROV-N)
+
>
> -- Stian Soiland-Reyes, myGrid team School of Computer Science The University of Manchester
>
>
+
--- a/model/prov-constraints.html Wed Aug 08 10:11:41 2012 +0100
+++ b/model/prov-constraints.html Wed Aug 08 11:04:21 2012 +0100
@@ -443,7 +443,7 @@
<p>This specification identifies <a
href="http://www.w3.org/2005/10/Process-20051014/tr#cfi">features at
-risk</a> related to the at-risk Mention feature of [[PROV-DM]]:
+risk</a> related to the at-risk Mention feature of [[!PROV-DM]]:
<a class="rule-text" href="#mention-specialization-inference"><span>TBD</span></a> and
<a class="rule-text" href="#unique-mention"><span>TBD</span></a>.
These might be removed from PROV-CONSTRAINTS.</p>
@@ -486,7 +486,7 @@
<p>
Provenance is a record that describes the people, institutions, entities, and activities involved in producing, influencing, or delivering a piece of data or a thing.
This document complements
- the PROV-DM specification [[PROV-DM]] that defines a data model for
+ the PROV-DM specification [[!PROV-DM]] that defines a data model for
provenance on the Web. </p>
@@ -580,7 +580,7 @@
requirements for compliance with this document, which are specified in
detail in the rest of the document. </p>
-<p> <a href="#inferences">Section 4</a> presents definitions and inferences. Definitions allow replacing shorthand notation in [[PROV-N]]
+<p> <a href="#inferences">Section 4</a> presents definitions and inferences. Definitions allow replacing shorthand notation in [[!PROV-N]]
with more explicit and complete statements; inferences allow adding
new facts representing implicit knowledge about the structure of
provenance. </p>
@@ -615,8 +615,8 @@
applications by ruling out nonsensical or inconsistent information.
</p>
-<p>This document assumes familiarity with [[PROV-DM]] and employs the
-[[PROV-N]] notation.
+<p>This document assumes familiarity with [[!PROV-DM]] and employs the
+[[!PROV-N]] notation.
</p>
</section>
@@ -2805,11 +2805,19 @@
</p>
</div>
-<p>Note that event ordering is between generations of <span class="name">e1</span>
+<div class="remark">
+ <p>This constraint, similar to constraint 38, requires the derived
+ entity to be generated strictly following the generation of the
+ original entity. This follows from the [[PROV-DM]] definition of
+ derivation: <em>A derivation is a transformation of an entity into
+ another, an update of an entity resulting in a new one, or the
+ construction of a new entity based on a pre-existing entity</em>, thus
+ the derived entity must be newer than the original entity.</p>
+ <p>The event ordering is between generations of <span class="name">e1</span>
and <span class="name">e2</span>, as opposed to derivation where usage is known,
which implies ordering between the usage of <span class="name">e1</span> and
generation of <span class="name">e2</span>. </p>
-
+</div>
<hr />
<p id='wasStartedBy-ordering_text'>
@@ -2833,7 +2841,7 @@
<span class="conditional">IF</span>
<span class="name">wasStartedBy(start; _a,e,_a1,_t1,_attrs1)</span>
and
-<span class="name">wasInvalidatedBy(inv; e,_a2,_t2,_attrs2)</span>
+<span class="name">wasInvalidatedBy(inv; e,_a3,_t3,_attrs3)</span>
<span class="conditional">THEN</span>
<span class="name">start</span>
<a title="precedes">precedes</a>
@@ -2865,7 +2873,7 @@
<span class="conditional">IF</span>
<span class="name">wasEndedBy(end; _a,e,_a1,_t1,_attrs1)</span>
and
-<span class="name">wasInvalidatedBy(inv; e,_a2,_t2,_attrs2)</span>
+<span class="name">wasInvalidatedBy(inv; e,_a3,_t3,_attrs3)</span>
<span class="conditional">THEN</span>
<span class="name">end</span>
<a title="precedes">precedes</a>
@@ -2943,12 +2951,18 @@
<hr />
-<p id='wasAssociatedWith-ordering_text'>An activity that was associated with an agent must have some overlap with the agent. The agent may be generated, or may only become associated with the activity, after the activity start: so, the agent is required to exist before the activity end. Likewise, the agent may be destructed, or may terminate its association with the activity, before the activity end: hence, the agent invalidation is required to happen after the activity start.
+<p id='wasAssociatedWith-ordering_text'>An activity that was
+associated with an agent must have some overlap with the agent. The
+agent MUST have been generated, or MUST have become
+associated with the activity, after the activity start: so, the agent MUST exist before the activity end. Likewise, the agent may be destructed, or may terminate its association with the activity, before the activity end: hence, the agent invalidation is required to happen after the activity start.
This is
illustrated by <a href="#ordering-agents">Figure 5</a> (a) and expressed by <a class="rule-ref" href="#wasAssociatedWith-ordering"><span>TBD</span></a>.</p>
<div class='constraint' id='wasAssociatedWith-ordering'>
+ <p>
+In the following inferences, <span class="name">_pl</span> MAY be
+ <span class="name">-</span>.
<ol> <li>
<span class="conditional">IF</span>
<span class="name">wasAssociatedWith(_assoc; a,ag,_pl,_attrs)</span>
@@ -2964,9 +2978,9 @@
<span class="conditional">IF</span>
<span class="name">wasAssociatedWith(_assoc; a,ag,_pl,_attrs)</span>
and
-<span class="name">wasGeneratedBy(gen; ag,_a1,_t1,_attrs1)</span>
+<span class="name">wasGeneratedBy(gen; ag,_a3,_t3,_attrs3)</span>
and
-<span class="name">wasEndedBy(end; a,_e2,_a2,_t2,_attrs2)</span>
+<span class="name">wasEndedBy(end; a,_e4,_a4,_t4,_attrs4)</span>
<span class="conditional">THEN</span>
<span class="name">gen</span>
<a title="precedes">precedes</a>
@@ -2981,7 +2995,7 @@
<hr />
<p id='wasAttributedTo-ordering_text'>An entity that was attributed to an agent must have some overlap
-with the agent. The agent is required to exist before the entity
+with the agent. The agent MUST exist before the entity
invalidation. Likewise, the entity generation must precede the agent destruction.
This is
illustrated by <a href="#ordering-agents">Figure 5</a> (b) and expressed by <a class="rule-ref" href="#wasAttributedTo-ordering"><span>TBD</span></a>.</p>
@@ -3285,6 +3299,13 @@
<span class="name">'entity' ∈ typeOf(e1)</span> AND
<span class="name">'activity' ∈ typeOf(a)</span>.
+<li>
+<span class='conditional'>IF</span>
+ <span class='name'>wasDerivedFrom(id; e2, e1, -, -, -, attrs)</span>
+<span class='conditional'>THEN</span>
+<span class="name">'entity' ∈ typeOf(e2)</span> AND
+<span class="name">'entity' ∈ typeOf(e1)</span> AND
+<span class="name">'activity' ∈ typeOf(a)</span>.
<li>
<span class='conditional'>IF</span>
@@ -3302,6 +3323,13 @@
<span class="name">'agent' ∈ typeOf(ag)</span> AND
<span class="name">'entity' ∈ typeOf(pl)</span>.
+<li>
+<span class='conditional'>IF</span>
+ <span class='name'>wasAssociatedWith(id; a,ag,-,attrs)</span>
+<span class='conditional'>THEN</span>
+<span class="name">'activity' ∈ typeOf(a)</span> AND
+<span class="name">'agent' ∈ typeOf(ag)</span>.
+
@@ -3357,6 +3385,7 @@
<span class='name'>entity(c,[prov:type='prov:EmptyCollection'])</span>
<span class='conditional'>THEN</span>
<span class="name">'entity' ∈ typeOf(c)</span> AND
+<span class="name">'prov:Collection' ∈ typeOf(c)</span>AND
<span class="name">'prov:EmptyCollection' ∈ typeOf(c)</span>.
</ul>
@@ -3380,12 +3409,13 @@
</div>
<div class="remark">
There is no disjointness between entities and agents. This is because one might want to make statements about the provenance of an agent, by making it an entity.
- Therefore, users MAY assert both <span
+ For example, one can assert both <span
class="name">entity(a1)</span> and <span
class="name">agent(a1)</span> in a valid PROV instance.
Similarly, there is no disjointness between activities and
- agents, and it is possbile to assert that an object is both an
- activity and an agent in a valid PROV instance.
+ agents, and one can assert both <span
+ class="name">activity(a1)</span> and <span
+ class="name">agent(a1)</span> in a valid PROV instance.
<!-- However, it is RECOMMENDED that users refrain from using the same identifier for an entity and an agent unless they refer to the same thing. -->
</div>
@@ -3523,7 +3553,8 @@
</li>
<li>The particular choices of names of existential variables are irrelevant to the meaning
of an instance; that is, the names can be permuted without changing
- the meaning. (Replacing two different names with equal names does
+ the meaning. (Replacing two different names with equal names,
+ however, can
change the meaning.)</li>
<li>
Applying inference rules, definitions, and uniqueness constraints preserves equivalence. That is, a <a>PROV