added collections -- manual merge
authorPaolo Missier <pmissier@acm.org>
Fri, 16 Sep 2011 14:55:10 +0100
changeset 308 8be7e9ea81f0
parent 307 613c14ae9c48 (current diff)
parent 306 bfb038619604 (diff)
child 309 102a1a84bbb4
added collections -- manual merge
model/ProvenanceModel.html
--- a/model/ProvenanceModel.html	Fri Sep 16 14:43:16 2011 +0100
+++ b/model/ProvenanceModel.html	Fri Sep 16 14:55:10 2011 +0100
@@ -293,7 +293,12 @@
 </div>
 -->
 
+<<<<<<< local
 The following diagram provides a high level overview of the PROV-DM. Examples of a set of provenance assertions that conform to this schema are provided in the next section.
+=======
+<p>
+The following diagram provides a very high level overview of the PROV-DM. Examples of a set of provenance assertions that conform to this schema are provided in the next section.</p>
+>>>>>>> other
 
   <img src="overview.png" align="center"/>
 
@@ -312,10 +317,10 @@
 
 The model includes two additional entity types: <strong>qualifiers</strong> and <strong>annotations</strong>. These are both structured as sets of attribute-value pairs.
  <ul><li> Qualifiers can be associated to relations, namely <strong>use</strong> and <strong>wasGeneratedBy</strong>, in order to further characterise their nature. <strong>Role</strong> is a standard qualifier.
-<li>  Annotations are used to provide additional, "free-form" information regarding <strong>any</strong> construct of the model, with no prescribed meaning. The difference between attributes and annotations is further clarified <a href="#expression-annotation">here</a>. 
+<li>  Annotations are used to provide additional, "free-form" information regarding <strong>any</strong> identifiable construct of the model, with no prescribed meaning. The difference between attributes and annotations is further clarified <a href="#expression-annotation">here</a>. 
 </ul>
     
-Attributes and extensions are the main <strong>extensibility points</strong> in the model: individual interest groups  are expected to extend PROV-DM by introducing new sets of attributes and annotations as needed to address applications-specific provenance modelling requirements. 
+Attributes, qualifiers,  and annotation are the main <strong>extensibility points</strong> in the model: individual interest groups  are expected to extend PROV-DM by introducing new sets of attributes, qualifiers, and annotations as needed to address applications-specific provenance modelling requirements. 
     
 
     </section> 
@@ -444,7 +449,7 @@
 Used Expressions (described in <a href="#expression-Use">Section Use</a>): use is the event by which a file is read by a process execution. 
 
 Likewise, to describe the modalities according to which the various entities are used by a given process execution, a qualifier  (construct described in <a href="#expression-qualifier">Section Qualifier</a>) is introduced.  Illustrations of such qualifiers are: 
-<span class="name">e1</span> is used in the context of  <span class="name">pe1</span>'s <span class="name">load</span> functionality; <span class="name">e2</span> is used by <span class="name">pe2</span> in the context of its attach functionality; <span class="name">e3</span> is used on the standard input by <span class="name">pe5</span>. 
+<span class="name">e1</span> is used in the context of  <span class="name">pe1</span>'s <span clasfs="name">load</span> functionality; <span class="name">e2</span> is used by <span class="name">pe2</span> in the context of its attach functionality; <span class="name">e3</span> is used on the standard input by <span class="name">pe5</span>. 
 <pre>
 used(pe1,e1,qualifier(fct="load"))
 used(pe3,e2,qualifier(fct="load"))
@@ -770,7 +775,7 @@
 <pre class="example">
 entity(e1, [employee= "1234", name= "Alice"])  and agent(e1)
 
-entity(e2) and wasControlledBy(pe,e2)
+entity(e2) and wasControlledBy(pe,e2,qualifier(role="author"))
 </pre>
 the entity expression identified by <span class="name">e1</span> is accompanied of an explicit assertion of an agent expression, and this assertion holds irrespective of process executions it may be involved in. On the contrary, from the entity expression identified  by <span class="name">e2</span>, one can inferred an agent expression, as per the following inference.
 </p>
@@ -898,22 +903,22 @@
 The rationale for this constraint is as follows.
 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. This unicity constraint is formalized as follows.
 
-<div class='constraint' id='generation-unicity'>Given an entity denoted by <span class="name">e</span>, two process executions denoted by <span class="name">pe1</span> and <span class="name">pe2</span>, and two roles <span class="name">r1</span> and <span class="name">r2</span>,
-<span class='conditional'>if</span> the expressions <span class="name">wasGeneratedBy(e,pe1,r1)</span> and <span class="name">wasGeneratedBy(e,pe2,r2)</span> exist in the scope of a given account,
-<span class='conditional'>then</span> <span class="name">pe1</span>=<span class="name">pe2</span>  and <span class="name">r1</span>=<span class="name">r2</span>.
+<div class='constraint' id='generation-unicity'>Given an entity expression denoted by <span class="name">e</span>, two process execution expressions denoted by <span class="name">pe1</span> and <span class="name">pe2</span>, and two qualifiers <span class="name">q1</span> and <span class="name">q2</span>,
+<span class='conditional'>if</span> the expressions <span class="name">wasGeneratedBy(e,pe1,q1)</span> and <span class="name">wasGeneratedBy(e,pe2,q2)</span> exist in the scope of a given account,
+<span class='conditional'>then</span> <span class="name">pe1</span>=<span class="name">pe2</span>  and <span class="name">q1</span>=<span class="name">q2</span>.
 </div> 
 
 
 A generation event SHOULD have some visibility on the attributes of the generated entity, as expressed by the following constraint.
 
 
-<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>,
+<div class='constraint' id='generation-affects-attributes'><a name="PIL:0002">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
-attributes are determined by the activity denoted by <span class="name">pe</span> and the
-entities used by <span class="name">pe</span>.
+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
-since, in an open world, not all used entities may have been
+since, in an open world, not all used entitie expressions may have been
 asserted.</a>  [<a href="../ontology/ProvenanceFormalModel.html#PIL:0002">PIL:0002</a>]
 </div>
 
@@ -1490,7 +1495,7 @@
  the expression <span class="name">wasScheduledAfter(pe2,pe1)</span>
 holds, <span class='conditional'>if and only if</span>
  there are two entity expressions denoted by <span class="name">e1</span> and <span class="name">e2</span>,
-such that <span class="name">wasControlledBy(pe1,e1,[role="end"])</span> and <span class="name">wasControlledBy(pe2,e2,[role="start"])</span> and <span class="name">wasDerivedFrom(e2,e1)</span>.
+such that <span class="name">wasControlledBy(pe1,e1,qualifier(role="end"))</span> and <span class="name">wasControlledBy(pe2,e2,qualifier(role="start"))</span> and <span class="name">wasDerivedFrom(e2,e1)</span>.
 </div>
 This definition assumes that the activities represented by process execution expressions identified by <span class="name">pe1</span> and <span class="name">pe2</span> are controlled by some agents, represented by expressions identified by <span class="name">e1</span> and <span class="name">e2</span>, where the first agent terminates (control qualifier <span class="name">qualifier(role="end")</span>) the first activity, and the second initiates (control qualifier <span class="name">qualifier(role="start")</span>) the second.  The second agent being "derived" from the first enforces  temporal ordering. 
 
@@ -1736,7 +1741,7 @@
           ...
           wasGeneratedBy(e0,pe0,outFile)     
           ...
-          wasControlledBy(pe4,a5, [role=communicator])  )
+          wasControlledBy(pe4,a5, qualifier(role=communicator))  )
 </pre>
 contains the set of provenance expressions of section <a href="#example-prov-asn-encoding">example-prov-asn-encoding</a>, is asserted by agent <span class="name">http://x.com/asserter</span>, and is identified by identifier <span class="name">acc0</span>.
 </p>
@@ -1891,7 +1896,7 @@
 <span class="nonterminal">qualifier</span>&nbsp;:=  
 <span class="name">qualifier</span>
 <span class="name">(</span>
-<span class="nonterminal">name-values</span> <br/>
+<span class="nonterminal">name-values</span> <span class="name">)</span> <br/>
 <!--   -->
 <span class="nonterminal">name-values</span>&nbsp;:=  
 <span class="nonterminal">name-value</span>
@@ -1901,7 +1906,7 @@
 <span class="nonterminal">name</span>
 <span class="name">=</span>
 <span class="nonterminal">Literal</span>
-<span class="name">)</span></div>
+</div>
 
 
 <p>Use, generation, and control expressions MUST contain a qualifier. A qualifier's sequence of name-value pairs MAY be empty. </p>
@@ -1930,14 +1935,20 @@
 </ul>
 </p>
 
-
+<p>The PROV data model introduces a specific qualifier <span class="name">role</span> to denote the function of a characterized thing with respect to an activity, in the context of a use/generation/control relation. The value associated with a <span class="name">role</span> attribute MUST be conformant with  <span class="nonterminal">Literal</span>. </p>
+
+
+<p>
+The following control expression qualifies the role of the agent  identified by <span class="name">a5</span> in this control relation. 
+<pre class="example">
+          wasControlledBy(pe4,a5, qualifier(role="communicator"))
+</pre>
+</p>
 
 <div class='resolved'>Decide the level of requirements: MUST/SHOULD and justify. This is <a href="http://www.w3.org/2011/prov/track/issues/40">ISSUE-40</a> and <a href="http://www.w3.org/2011/prov/track/issues/41">ISSUE-41</a>. The circumstances in which the requirement is of type must MUST are now made explicit. </div>
 
 
 
-
-
 </section>
 
 <section id="expression-attribute">
@@ -2093,7 +2104,7 @@
 
 
 <p>
-Location is an OPTIONAL attribute of entity expressions and process execution expressions.  The value associated with a location attribute is expected to be a location.
+Location is an OPTIONAL attribute of entity expressions and process execution expressions.  The value associated with a  attribute <span class="name">location</span> MUST be a <span class="nonterminal">Literal</span>, expected to denote a location.
 </p>
 
 
@@ -2213,6 +2224,8 @@
 They consist of ordered sequence of name-value pairs. Such names
 are also qualified by a namespace.</li>
 
+<p>The PROV DM namespace (TBD) declares a reserved qualifier: <tt>role</tt>.</li>
+
 <li>Namespaces allow attributes and names to be qualified. </li>
 
 <li>Domain specific values can be expressed by means of typed literals. </li>