--- a/model/working-copy/wd5-prov-dm-constraints-revised.html Thu Apr 19 15:26:52 2012 +0100
+++ b/model/working-copy/wd5-prov-dm-constraints-revised.html Thu Apr 19 18:47:07 2012 +0100
@@ -225,52 +225,6 @@
the PROV-DM specification [[PROV-DM]] that defines a data model for
provenance on the Web. </p>
-<!-- Commented out since seems redundant -- jcheney
-<div class="note"> Revise list to match SOTD. Seems redundant.
- </div>
-<p>This specification is one of several specifications, referred to as the PROV family of specifications, defining the various aspects
-that are necessary to achieve the vision of inter-operable exchange of provenance:</p>
-<ul>
-<li>A data model for provenance, which is presented in three documents:
-<ul>
-<li> PROV-DM (part I): the provenance data model itself, expressed in natural language [[PROV-DM]];
-<li> PROV-CONSTRAINTS (part II): inferences and constraints on
- valid PROV-DM data (this document);
-<li> PROV-N (part III): a notation to express instances of that data model for human consumption [[PROV-N]];
-</ul>
-</li>
-<li>PROV-O: the PROV ontology, an OWL-RL ontology allowing the mapping of PROV to RDF [[!PROV-O]];</li>
-<li>PROV-AQ: the mechanisms for accessing and querying provenance [[PROV-AQ]];</li>
-<li>PROV-PRIMER: a primer for the PROV approach [[PROV-PRIMER]];</li>
-<li>PROV-SEM: semantics of the PROV-DM data model [[PROV-SEM]];</li>
-</ul>
-
-<div class="note">
- Revise this section to match the revised document structure.
- </div>
--->
-
- <!--
-<p>PROV-DM is essentially defined without any constraints
-[[PROV-DM]]. This document introduces a further set of concepts useful
-for understanding the rationale for the data model, defines inferences
-over PROV-DM data, and defines constraints that valid provenance descriptions should follow. </p>
-
-
-<p>In [[PROV-DM]], a data model for provenance has been defined
-without introducing any constraints on provenance. First we introduce and refine various PROV-DM concepts such as attributes, event, entity, entity, interval, accounts. Using these notions, we explore the constraints
-that the PROV-DM data model has to satisfy. </p>
-
-<p>Several types of constraints are specified.</p>
-<ul>
-<li>Definitional constraints are constraints directly following the definition of concepts in the PROV data model (<a href="#definitional-constraints">Section 4</a>). </li>
-<li>Account constraints have to be satisfied by provenance descriptions in the context of a given account (<a href="#account-constraints">Section 5</a>)</li>
-<li>Event ordering constraints provide a "temporal interpretation" for provenance descriptions (<a href="#interpretation">Section 6</a>)</li>
-<li>Structural constraints are further constraints to be satisfied by generation descriptions (<a href="#structural-constraints">Section 7</a>)</li>
-<li>Collection constraints are the constraints that hold for collections (<a href="#collection-constraints">Section 8</a>)</li>
-</ul>
-
--->
<section id="conventions">
@@ -289,14 +243,13 @@
<h3>Purpose of this document</h3>
-<p>
-PROV-DM is a conceptual data model for provenance (realizable using
-PROV-N, PROV-RDF, or PROV-XML). However, nothing in the PROV-DM specification [[PROV-DM]] forces PROV
-descriptions to be meaningful, that is, to correspond
-to a consistent history of objects and interactions. Furthermore,
-nothing in the PROV-DM specification enables applications to perform
-inferences over provenance descriptions.
-</p>
+<p> PROV-DM is a conceptual data model for provenance (realizable
+using different serializations such as PROV-N, PROV-O, or PROV-XML).
+However, nothing in the PROV-DM specification [[PROV-DM]] forces PROV
+descriptions to be meaningful, that is, to correspond to a consistent
+history of objects and interactions. Furthermore, nothing in the
+PROV-DM specification enables applications to perform inferences over
+provenance descriptions. </p>
<p> This document specifies <em>inferences</em> over PROV descriptions that
applications MAY employ, including definitions of some provenance
@@ -313,9 +266,9 @@
class="sectionRef"></a>), and then
considers two kinds of validity constraints (<a href="#constraints"
class="sectionRef"></a>): <em>structural constraints</em> that
-prescribe properties of <dfn title="PROV instance">PROV instances</dfn> that can be checked directly
+prescribe properties of PROV descriptions that can be checked directly
by inspecting the syntax, and <em>event ordering</em> constraints that
-require that the records in a <a>PROV instance</a> are consistent with a
+require that the records in a <a>PROV description</a> are consistent with a
sensible ordering of events relating the activities, entities and
agents involved. In separate sections we consider additional
constraints specific to collections and accounts (<a
@@ -328,7 +281,7 @@
The specification also describes how the inferences, definitions, and
constraints should be used (<a href="#compliance"
class="sectionRef"></a>). Briefly, a PROV compliant application is
-allowed (but not required) to treat two <a title="PROV instance">PROV instances</a> as the same
+allowed (but not required) to treat two PROV descriptions the same
if they are equal after applying the inference rules and possibly
reordering expressions, and we can define a canonical form for <a title="PROV instance">PROV
instances</a> obtained by applying all possible inference rules. In
@@ -374,9 +327,9 @@
<p>
In this section, we describe <a title="inference">inferences</a> and <a title="definition">definitions</a> that MAY be used on
provenance data, and a notion of <a
-title="equivalence">equivalence</a> on <a title="PROV instance">PROV instances</a>.
+title="equivalence">equivalence</a> on PROV descriptions.
An <dfn id="inference">inference</dfn> is a rule that can be applied
- to PROV descriptions to add new provenance expressions. A <dfn
+ to PROV descriptions to add new PROV expressions. A <dfn
id="definition">definition</dfn> is a rule that states that a
provenance expression is equivalent to some other expressions; thus,
defined provenance expressions can be replaced by their definitions,
@@ -386,50 +339,48 @@
<p> Inferences have the following general form:
<div class='inference' id='inference-example'>
<span class='conditional'>IF</span> <span class="name">hyp_1</span> and ... and
-<span class="name">hyp_k</span> <span class='conditional'>THEN</span> there exists <span class="name">a_1</span>,..., <span class="name">a_m</span> such that <span class="name">conclusion_1</span> ... <span class="name">conclusion_n</span>.
+<span class="name">hyp_k</span> <span class='conditional'>THEN</span>
+ there exists <span class="name">a_1</span> and ... and <span
+ class="name">a_m</span> such that <span
+ class="name">conclusion_1</span> and ... and <span class="name">conclusion_n</span>.
</div>
- This means that if provenance expressions matching <span class="name">hyp_1</span>... <span class="name">hyp_k</span>
- can be found in a <a>PROV instance</a>, we can add the expressions
+ This means that if all of the provenance expressions matching <span class="name">hyp_1</span>... <span class="name">hyp_k</span>
+ can be found in a PROV description, we can add all of the expressions
<span class="name">concl_1</span> ... <span class="name">concl_n</span> to the instance, possibly after generating fresh
identifiers <span class="name">a_1</span>,...,<span class="name">a_m</span> for unknown objects. These fresh
identifiers might later be found to be equal to known identifiers;
- they play a similar role in PROV-DM to existential variables in logic.
+ these fresh identifiers play a similar role in PROV descriptions to existential variables in logic.
</p>
<div class='note'>
TODO: Is this re-inventing blank nodes in PROV-DM, and do we want to
do this? A lot of the inferences have existentially quantified
conclusions (and there is some theory that supports this).
+
+ TODO: Make sure conjunctive reading of conclusion is clear.
</div>
<p> Definitions have the following general form:
<div class='definition' id='definition-example'>
<span class="name">defined_exp</span> holds <span class='conditional'>IF AND ONLY IF </span>
- there exists <span class="name">a_1</span>,..., <span class="name">a_m</span> such that <span class="name">defining_exp_1</span> ... <span class="name">defining_exp_n</span>.
+ there exists <span class="name">a_1</span>,..., <span
+ class="name">a_m</span> such that <span
+ class="name">defining_exp_1</span> and ... and <span class="name">defining_exp_n</span>.
</div>
This means that a provenance expression defined_exp is defined in
terms of other expressions. This can be viewed as a two-way
inference: If <span class="name">defined_exp</span>
- can be found in a <a>PROV instance</a>, we can add the expressions
+ can be found in a PROV description, we can add all of the expressions
<span class="name">defining_exp_1</span> ... <span class="name">defining_exp_n</span> to the instance, possibly after generating fresh
identifiers <span class="name">a_1</span>,...,<span class="name">a_m</span> for unknown objects. Conversely, if there
exist identifiers <span class="name">a_1</span>...<span class="name">a_m</span> such that <span class="name">defining_exp_1</span>
- ... <span class="name">defining_exp_n</span> hold in the instance, we can add the defined
+ and ... and <span class="name">defining_exp_n</span> hold in the instance, we can add the defined
expression <span class="name">def_exp</span>. When an expression is defined in terms of
others, it is in a sense redundant; it is safe to replace it with
its definition.
</p>
-<p>Applications that process provenance MAY use these definitions or
-inferences. Moreover, they SHOULD apply all applicable inferences
-before determining whether an <a>PROV instance</a> is <a
- title="valid">valid</a>. In particular, applications that generate
-provenance SHOULD check that the generated provenance is valid even if
-some of these inferences or definitions are applied to it by another
-application.
-</p>
-
<section>
@@ -473,8 +424,8 @@
<p>Start of <span class="name">a2</span> by activity <span
class="name">a1</span> is <a title="definition">defined</a> as follows.</p>
-<div class='definition' id='wasStartedBy-definition'>Given two activities with identifiers <span class="name">a1</span> and <span class="name">a2</span>,
- <span class="name">wasStartedBy(a2,a1)</span>
+<div class='definition' id='wasStartedByActivity-definition'>Given two activities with identifiers <span class="name">a1</span> and <span class="name">a2</span>,
+ <span class="name">wasStartedByActivity(a2,a1)</span>
holds <span class='conditional'>IF AND ONLY IF</span>
there exists an entity <span class="name">e</span>
such that
@@ -570,7 +521,8 @@
-<p>A revision needs to satisfy the following constraint, linking the two entities by a derivation, and stating them to be a specialization of a third entity.</p>
+<p>A revision admits the following inference, linking the two entities
+ by a derivation, and stating them to be alternates.</p>
<div class='inference' id='wasRevision'>
Given two identifiers <span class="name">e1</span> and <span class="name">e2</span> identifying two entities, and an identifier <span class="name">ag</span> identifying an agent,
@@ -691,7 +643,7 @@
have <span class='name'>specializationOf(e,e)</span>.
</div>
-<div class='inference' id="specialization-transitive">
+<div class='inference' id="specialization-antisymmetric">
For any
entities <span class='name'>e1</span>, <span
class='name'>e2</span>,
@@ -830,7 +782,7 @@
For the purpose of checking inferences and constraints, we define a
-notion of <a>equivalence</a> of <a title="PROV instance">PROV instances</a>. Equivalence is
+notion of <a>equivalence</a> of PROV descriptions. Equivalence is
has the following characteristics:
@@ -842,8 +794,8 @@
<li> Redundant expressions are merged according to uniqueness
constraints. </li>
<li>
- The order of provenance expressions is irrelevant to the meaning of a <a>PROV instance</a>. That is, a
- <a>PROV instance</a> is equivalent to any other instance obtained by
+ The order of provenance expressions is irrelevant to the meaning of a PROV description. That is, a
+ PROV description is equivalent to any other instance obtained by
permuting its expressions.
</li>
<li>
@@ -902,10 +854,10 @@
<p>
-We define the <dfn>normal form</dfn> of a <a>PROV instance</a> as the set
+We define the <dfn>normal form</dfn> of a PROV description as the set
of provenance expressions resulting from merging all of the overlapping
expressions in the instance and applying all possible inference rules
-to this set. Formally, we say that two <a title="PROV instance">PROV instances</a> are
+to this set. Formally, we say that two PROV descriptions are
<dfn>equivalent</dfn> if they have the same normal form (that is,
after applying all possible inference rules, the two instances produce
the same set of PROV-DM expressions.)
@@ -934,7 +886,7 @@
<p>
-This section defines a collection of constraints on <a title="PROV instance">PROV instances</a>. An <a>PROV instance</a> is <dfn id="dfn-valid">valid</dfn>
+This section defines a collection of constraints on PROV descriptions. An PROV description is <dfn id="dfn-valid">valid</dfn>
if, after applying all possible inference and definition rules from
<a href="#inferences">Section 2</a>, the resulting instance
satisfies all of the constraints specified in this section.
@@ -953,7 +905,7 @@
<li> and <em>event ordering constraints</em> that say that it
should be possible to arrange the
events (generation, usage, invalidation, start, end) described in a
- <a>PROV instance</a> into a partial order that corresponds to a sensible
+ PROV description into a partial order that corresponds to a sensible
"history" (for example, an entity should not be generated after it
is used).
</li>
@@ -994,7 +946,7 @@
</div>
<p> We assume that the various identified objects of PROV-DM have
- unique expressions describing them within a <a>PROV instance</a>.
+ unique expressions describing them within a PROV description.
</p>
<div class='constraint' id='entity-unique'>
<p>Given an entity identifier <span class="name">e</span>, there is at
@@ -1069,25 +1021,6 @@
</div>
-<!--
-<div class='note'>TODO: Move this back to the place where it is first referenced.</div>
-<p>A further inference is permitted from derivations with an explicit activity and no usage: </p>
-<div class='inference' id='derivation-use'>
-<p>Given an activity <span class="name">a</span>, entities denoted by <span class="name">e1</span> and <span class="name">e2</span>, and sets of attribute-value
-pairs <span class="name">dAttrs</span>, <span class="name">gAttrs</span>,
-<span class='conditional'>IF</span> <span class="name">wasDerivedFrom(e2,e1, a, dAttrs)</span> and <span class="name">wasGeneratedBy(e2,a,-,gAttrs)</span> hold, <span
-class='conditional'>THEN</span> <span class="name">used(a,e1,-,uAttrs)</span> also holds
-for some set of attribute-value pairs <span class="name">uAttrs</span>.
-</div>
-<p>This inference is justified by the fact that the entity denoted by <span class="name">e2</span> is generated by at most one activity
-(see <a href="#generation-uniqueness">generation-uniqueness</a>). Hence, this activity is also the one referred to by the usage of <span class="name">e1</span>.
-</p>
-
-
-<p>We note that the converse inference, does not hold.
-From <span class="name">wasDerivedFrom(e2,e1)</span> and <span class="name">used(a,e1,-)</span>, one cannot
-derive <span class="name">wasGeneratedBy(e2,a,-)</span> because identifier <span class="name">e1</span> may occur in usages performed by many activities, which may have not generated the entity denoted by <span class="name">e2</span>.</p>
--->
</section> <!-- uniqueness-constraints-->
@@ -1200,11 +1133,6 @@
event</a>. This is
illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (a) and expressed by constraint <a href="#start-precedes-end">start-precedes-end</a>.</p>
<div class='constraint' id='start-precedes-end'>
- <!--
- The
-<a title="activity start event">start event</a> of any
-activity <a>precedes</a> its <a title="activity end event">end
- event</a>.-->
<span class="conditional">IF</span>
<span class="name">wasStartedBy(start,a,-,-)</span>
and
@@ -1221,15 +1149,7 @@
illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (b) and expressed by constraint <a href="#usage-within-activity">usage-within-activity</a>.</p>
<div class='constraint' id='usage-within-activity'>
- <!--
- Given an activity with identifier <span class="name">a</span>, an entity with identifier <span class="name">e</span>, a set
-of attribute-value pairs <span class="name">attrs</span>, and optional time <span class="name">t</span>, <span class='conditional'>IF</span>
- <span class="name">used(a,e,attrs,t)</span> holds, <span class='conditional'>THEN</span> the following ordering constraint holds:
- the <a title="entity usage event">usage</a> of the entity denoted by <span class="name">e</span> <a>precedes</a> the <a title="activity end event">end</a> of
-activity denoted by <span class="name">a</span> and <a>follows</a> its
- <a title="activity start event">start</a>.
- -->
- <ol>
+<ol>
<li>
<span class="conditional">IF</span>
<span class="name">used(use,a,e,-,-)</span>
@@ -1260,16 +1180,7 @@
illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (c) and expressed by constraint <a href="#generation-within-activity">generation-within-activity</a>.</p>
<div class='constraint' id='generation-within-activity'>
- <!--
- Given an activity with identifier <span class="name">a</span>, an entity with identifier <span class="name">e</span>, a set
-of attribute-value pairs <span class="name">attrs</span>, and optional time <span class="name">t</span>, <span class='conditional'>IF</span> <span
-class="name">wasGeneratedBy(e,a,attrs,t)</span> holds, <span class='conditional'>THEN</span> the following ordering constraint also holds: the <a title="entity generation
-event">generation</a> of the entity denoted by <span class="name">e</span> <a>precedes</a> the <a title="activity end event">end</a>
-of activity <span class="name">a</span> and <a>follows</a> the <a
- title="activity start event">start</a> of <span
- class="name">a</span>.
- -->
- <ol>
+ <ol>
<li>
<span class="conditional">IF</span>
<span class="name">wasGeneratedBy(gen,a,e,-,-)</span>
@@ -1301,14 +1212,7 @@
illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (d) and expressed by constraint <a href="#wasInformedBy-ordering">wasInformedBy-ordering</a>.</p>
<div class='constraint' id='wasInformedBy-ordering'>
- <!--
-Given two activities denoted by <span class="name">a1</span> and <span class="name">a2</span>, <span class='conditional'>IF</span> <span
-class="name">wasInformedBy(a2,a1)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraint holds:
-the <a title="activity start event">start event</a> of the activity denoted by <span class="name">a1</span> <a>precedes</a> the <a title="activity end event">end event</a> of
-the activity denoted by <span class="name">a2</span>.
--->
- <span class="conditional">IF</span>
+ <span class="conditional">IF</span>
<span class="name">wasInformedBy(a2,a1)</span>
and
<span class="name">wasStartedBy(start,a1,-,-)</span>
@@ -1329,14 +1233,7 @@
<div class='constraint' id='wasStartedByActivity-ordering'>
- <!--
-Given two activities denoted by <span class="name">a1</span> and <span class="name">a2</span>, <span class='conditional'>IF</span> <span
-class="name">wasStartedBy(a2,a1)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraint holds: the
-<a title="activity start event">start</a> event of the activity denoted by <span class="name">a1</span> <a>precedes</a> the <a title="activity start event">start event</a> of
-the activity denoted by <span class="name">a2</span>.
- -->
- <span class="conditional">IF</span>
+ <span class="conditional">IF</span>
<span class="name">wasStartedByActivity(a2,a1)</span>
and
<span class="name">wasStartedBy(start1,a1,-,-)</span>
@@ -1378,12 +1275,7 @@
invalidated without being used.)</p>
<div class='constraint' id='generation-precedes-invalidation'>
- <!--The <a
- title="entity generation event">generation</a> of an entity always
-<a>precedes</a> its <a title="entity invalidation
- event">invalidation</a>.
- -->
- <span class="conditional">IF</span>
+ <span class="conditional">IF</span>
<span class="name">wasGeneratedBy(gen,e,_,_)</span>
and
<span class="name">wasInvalidatedBy(inv,e,-,-)</span>
@@ -1399,10 +1291,7 @@
illustrated by Subfigure <a href="#ordering-entity-fig">ordering-entity-fig</a> (a) and expressed by constraint <a href="#generation-precedes-usage">generation-precedes-usage</a>.</p>
<div class='constraint' id='generation-precedes-usage'>
- <!--
- The <a title="entity generation event">generation</a> of an entity always
-<a>precedes</a> any of its <a title="entity usage event">usages</a>.-->
- <span class="conditional">IF</span>
+ <span class="conditional">IF</span>
<span class="name">wasGeneratedBy(gen,e,_,_)</span>
and
<span class="name">used(use,_,e,-)</span>
@@ -1417,11 +1306,7 @@
<p>All usages of an entity precede its invalidation, which is captured by constraint <a href="#usage-precedes-invalidation">usage-precedes-invalidation</a> (without any explicit graphical representation).</p>
<div class='constraint' id='usage-precedes-invalidation'>
- <!--
- Any <a title="entity usage event">usage</a> of an entity always
-<a>precedes</a> its <a title="entity invalidation
- event">invalidation</a>.-->
- <span class="conditional">IF</span>
+ <span class="conditional">IF</span>
<span class="name">used(use,_,e,-)</span>
and
<span class="name">wasInvalidatedBy(inv,e,_,_)</span>
@@ -1450,16 +1335,7 @@
<div class='constraint' id='derivation-usage-generation-ordering'>
- <!--
- Given an activity with identifier <span class="name">a</span>, entities with identifier <span
-class="name">e1</span> and <span class="name">e2</span>, a generation identified by <span class="name">g2</span>, and a usage identified by <span class="name">u1</span>, <span
-class='conditional'>IF</span> <span class="name">wasDerivedFrom(e2,e1,a,g2,u1,attrs)</span>
- holds, <span class='conditional'>THEN</span>
-the following ordering constraint holds:
-the <a title="entity usage event">usage</a>
-of entity denoted by <span class="name">e1</span> <a>precedes</a> the <a title="entity generation event">generation</a> of
-the entity denoted by <span class="name">e2</span>.-->
- <span class="conditional">IF</span>
+ <span class="conditional">IF</span>
<span class="name">wasDerivedFrom(d,e2,e1,a,g2,u1,-)</span>
<span class="conditional">THEN</span>
<span class="name">u1</span>
@@ -1476,15 +1352,7 @@
<div class='constraint'
id='derivation-generation-generation-ordering'>
- <!--
-Given two entities denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>IF</span> <span
-class="name">wasDerivedFrom(e2,e1, attrs)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraint holds:
-the <a title="entity generation event">generation event</a> of the entity denoted by <span class="name">e1</span> <a>precedes</a> the <a title="entity generation event">generation event</a>
-of
-the entity denoted by <span class="name">e2</span>.
- -->
- <span class="conditional">IF</span>
+ <span class="conditional">IF</span>
<span class="name">wasDerivedFrom(e2,e1,attrs)</span>
and
<span class="name">wasGeneratedBy(gen1,e1,_,_)</span>
@@ -1509,15 +1377,7 @@
<div class='constraint' id='wasStartedBy-ordering'>
-<!--Given an activity denoted by <span class="name">a</span> and an entity
-denoted by <span class="name">e</span>, <span class='conditional'>IF</span> <span
-class="name">wasStartedBy(a,e)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraints hold: the
-<a title="activity start event">start</a> event of the activity denoted by <span class="name">a</span> <a>follows</a> the <a title="entity generation event">generation event</a> for entity <span class="name">e</span>, and
-<a>precedes</a> the invalidation event of
-the same entity.-->
-
- <ol>
+ <ol>
<li>
<span class="conditional">IF</span>
<span class="name">wasStartedBy(start,a,e,-)</span>
@@ -1545,14 +1405,7 @@
<div class='constraint' id='wasEndedBy-ordering'>
- <!--
-Given an activity denoted by <span class="name">a</span> and an entity denoted by <span class="name">e</span>, <span class='conditional'>IF</span> <span
-class="name">wasEndedBy(a,e)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraints hold: the
-<a title="activity end event">end</a> event of the activity denoted by <span class="name">a</span> <a>follows</a> the <a title="entity generation event">generation event</a> for entity <span class="name">e</span>, and
-<a>precedes</a> the invalidation event of
-the same entity.-->
- <ol>
+ <ol>
<li>
<span class="conditional">IF</span>
<span class="name">wasEndedBy(end,a,e,-)</span>
@@ -1612,16 +1465,7 @@
<div class='constraint' id='wasAssociatedWith-ordering'>
-<!--Given an activity denoted by <span class="name">a</span> and an agent denoted by <span class="name">ag</span>, <span class='conditional'>IF</span> <span
-class="name">wasAssociatedWith(a,ag)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraints hold: the
-<a title="activity start event">start</a> event of the activity denoted by <span class="name">a</span>
-precedes the invalidation event of
-the agent denoted by <span class="name">ag</span>, and
- the <a title="entity generation event">generation event</a> for agent denoted by <span class="name">ag</span>
-<a>precedes</a> the activity <a title="activity end event">end</a>
- event.-->
- <ol> <li>
+ <ol> <li>
<span class="conditional">IF</span>
<span class="name">wasAssociatedWith(a,ag)</span>
and
@@ -1659,16 +1503,7 @@
<div class='constraint' id='wasAttributedTo-ordering'>
-<!--Given an entity denoted by <span class="name">e</span> and an agent denoted by <span class="name">ag</span>, <span class='conditional'>IF</span> <span
-class="name">wasAttributedTo(e,ag)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraints hold: the
-<a title="entity generation event">generation</a> event of the entity denoted by <span class="name">e</span>
-precedes the invalidation event of
-the agent denoted by <span class="name">ag</span>, and
- the <a title="entity generation event">generation event</a> for agent denoted by <span class="name">ag</span>
-<a>precedes</a> the entity <a title="entity invalidation
- event">invalidation</a> event.-->
- <ol> <li>
+ <ol> <li>
<span class="conditional">IF</span>
<span class="name">wasAttributedTo(e,ag)</span>
and
@@ -1700,17 +1535,7 @@
<div class='constraint' id='actedOnBehalfOf-ordering'>
- <!--
-Given two agents <span class="name">ag1</span> and <span class="name">ag2</span>, <span class='conditional'>IF</span> <span
-class="name">actedOnBehalfOf(ag2,ag1)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraints hold: the
-<a title="entity generation event">generation</a> event of the agent denoted by <span class="name">ag2</span>
-precedes the invalidation event of
-agent <span class="name">ag1</span>, and
- the <a title="entity generation event">generation event</a> for agent denoted by <span class="name">ag1</span>
-<a>precedes</a> <a title="entity invalidation event">invalidation</a>
- event for <span class="name">ag2</span>.-->
- <span class="conditional">IF</span>
+ <span class="conditional">IF</span>
<span class="name">actedOnBehalfOf(ag2,ag1)</span>
and
<span class="name">wasGeneratedBy(gen,ag1,-,-)</span>
@@ -2025,7 +1850,7 @@
application MAY apply the inferences and definitions in <a
href="#inferences" class='sectionRef'></a>.</li>
<li>An application SHOULD process <a>equivalent</a> PROV-DM instances in the same way, described in <a href="#equivalence" class="sectionRef"></a>
- <li>When determining whether a <a>PROV instance</a> is <a>valid</a>, an
+ <li>When determining whether a PROV description is <a>valid</a>, an
application MUST check that all of the
constraints of <a href="#constraints" class="sectionRef"></a> are
satisfied on the <a>normal form</a> of the instance.</li>
@@ -2033,7 +1858,7 @@
use, the application SHOULD produce <a>valid</a> provenance. </li>
</ul>
<div class="note">
- Should we specify a way for <a title="PROV instance">PROV instances</a> to say whether they
+ Should we specify a way for PROV descriptions to say whether they
are meant to be validated or not? Seems outside the scope of this document.
</div>
@@ -2065,11 +1890,6 @@
</p>
<p>
-<!--From a provenance viewpoint, it is important to identify a
-<em>partial state</em> of something, i.e. something with some aspects
-that have been fixed, so that it becomes possible to express its
-provenance, and what causes that thing, with these specific
-aspects.-->
To describe the provenance of things that can change over
time, PROV-DM uses the concept of <i>entities</i> with fixed
attributes. From a provenance viewpoint, it is important to identify
@@ -2081,11 +1901,6 @@
thing with some associated partial state.
Attributes in PROV-DM are used to fix certain aspects of entities.</p>
-<!--<p>Attributes in PROV-DM describe some aspects of entities.
-Indeed, we previously defined
-entities as things one wants to provide provenance for;
-we refine this definition as follows, using attribute-values to describe entities' partial states, and linking them to the very existence of entities.</p>
--->
<p>
An <dfn>entity</dfn> is a thing one wants to provide provenance for
@@ -2100,8 +1915,7 @@
created and describe the entity's situation and (partial) state
during an entity's lifetime.</p>
-<p><!--An entity fixes some aspects of a thing and its situation in the
-world.-->
+<p>
A different entity (perhaps representing a different user or
system perspective) may fix other aspects of the same thing, and its provenance
may be different. Different entities that are aspects of the same
@@ -2290,14 +2104,6 @@
designed to minimize assumptions about time. </p>
-<!--<p>Furthermore, consider two activities that started at the same time
-instant. Just by referring to that instant, we cannot distinguish
-which activity start we refer to. This is particularly relevant if we
-try to explain that the start of these activities had different
-reasons. We need to be able to refer to the start of an activity as a
-first class concept, so that we can talk about it and about its
-relation with respect to other similar starts. </p>
--->
<p>Hence, to talk about the constraints on valid PROV-DM data, we
refer to <a title="instantaneous event">instantaneous events</a> that correspond to interactions
@@ -2493,13 +2299,15 @@
-->
<!-- LocalWords: QName derivedByRemovalFrom EmptyCollection wasVersionOf dm
-->
-<!-- LocalWords: RecsWD formedness workflow ness operability CSP
+<!-- LocalWords: RecsWD formedness workflow ness operability CSP versa hyp YY
-->
<!-- LocalWords: disambiguating lifecycle conformant minimalistic Lamport fo
-->
-<!-- LocalWords: reflexivity antisymmetry timelines timespan WG
+<!-- LocalWords: reflexivity antisymmetry timelines timespan WG concl inv
-->
<!-- LocalWords: continuant occurrent modalities toyota womanInRedDress
-->
<!-- LocalWords: customerInChairAt manWithGlasses customerInChair
-->
+<!-- LocalWords: wasStartedByActivity antisymmetric wasInvalidatedBy
+ -->