pubrules
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Thu, 26 Jan 2012 21:44:21 +0000
changeset 1430 c3a3334fe169
parent 1429 185e56c37ade
child 1431 09d7c01b3c5b
pubrules
model/ProvenanceModel.html
--- a/model/ProvenanceModel.html	Wed Jan 25 17:48:44 2012 +0100
+++ b/model/ProvenanceModel.html	Thu Jan 26 21:44:21 2012 +0000
@@ -616,8 +616,10 @@
 the next section.</p>
 
 <div style="text-align: center;">
+  <figure>
   <img src="overview.png" alt="PROV-DM overview"/>
 <figcaption>PROV-DM overview</figcaption>
+  </figure>
 </div>
 
 <div class="note"> Overview diagram does not represent the sub-relations -- proposal to use a UML notation instead of ER.</div>
@@ -981,7 +983,7 @@
 <a>specialization record</a>, 
 <a>annotation record</a>, and
 <a>account record</a>.
-</a>
+</p>
 
 
 <p>
@@ -1489,11 +1491,11 @@
 </pre>
 </div>
 
-<p>
+<p/>
 <div class="interpretation-forward">
 For the interpretation of a generation record, see <a href="#generation-within-activity">generation-within-activity</a>.
 </div>
-</p>
+
 
 
 <!--
@@ -1507,11 +1509,11 @@
 </div> 
 -->
 
-<p>
+<p/>
 <div class="structural-forward">
 See <a href="#generation-uniqueness">generation-uniqueness</a> for a structural constraint on generation records.
 </div>
-</p>
+
 
 <!--
 <p>A given entity record can be referred to in a single generation record in the scope of a given <a href="#record-Account">account</a>.
@@ -2164,11 +2166,11 @@
 <span class="name">wasDerivedFrom(e2,e1,attrs)</span> and <span class="name">wasGeneratedBy(e2,t)</span>.
 </div>
 
-<p>
+<p/>
 <div class="structural-forward">
 See <a href="#derivation-use">derivation-use</a> for a structural constraint on derivation records.
 </div>
-</p>
+
 
 
 
@@ -2248,7 +2250,7 @@
 <li><em>general entity</em>: an identifier <span class="name">super</span> of the entity that is being specialised</li>
 <li><em>attrs</em>: an OPTIONAL set <span class="name">attrs</span> of attribute-value pairs to further describe this record.</li>
 </ul>
-</p>
+
 
 
 <p>
@@ -2761,8 +2763,7 @@
 <ul>
 <li> The attribute <dfn id="dfn-role"><span class="name">prov:role</span></dfn>  denotes the function of an entity with respect to an activity, in the context of a usage, generation,
 activity association, start, end record. The attribute <span class="name">prov:role</span> is allowed to occur multiple times in such records. The value associated with a <span
-class="name">prov:role</span> attribute MUST be conformant with  <span class="nonterminal">Literal</span>. </li>
-
+class="name">prov:role</span> attribute MUST be conformant with  <span class="nonterminal">Literal</span>. 
 <div class="anexample">
 <p>The following start record describes the role of the agent identified by <span class="name">ag</span> in this start relation with activity <span class="name">a</span>. </p>
 <pre class="codeexample">
@@ -2774,7 +2775,7 @@
 <li> The attribute <dfn id="dfn-type"><span class="name">prov:type</span></dfn>  provides further typing information for the element or relation asserted in the record. PROV-DM liberally
 defines a type as a category of things having common characteristics. PROV-DM is agnostic about the representation of types, and only states that
 the value associated with a <span class="name">prov:type</span> attribute MUST be conformant with  <span class="nonterminal">Literal</span>. The attribute <span class="name">prov:type</span>
-is allowed to occur multiple times in a record.</li>
+is allowed to occur multiple times in a record.
 
 <div class="anexample">
 <p>The following record declares an agent of type software agent</p>
@@ -2782,12 +2783,12 @@
    agent(ag, [prov:type="prov:SoftwareAgent" %% xsd:QName])
 </pre>
 </div>
-
+</li>
 
 <li> The  attribute <dfn id="dfn-steps"><span class="name">prov:steps</span></dfn>  defines the level of precision associated with a derivation record. The value associated with a <span
 class="name">prov:steps</span> attribute  MUST be   <span class="name">"single"</span> or <span class="name">"any"</span>. The attribute <span class="name">prov:step</span> occurs at most
 once in a derivation record. A derivation record without attribute <span class="name">prov:step</span> is considered to be equivalent to the same record extended with an extra attribute 
-<span class="name">prov:step</span> and associated value <span class="name">"any"</span>. </li>
+<span class="name">prov:step</span> and associated value <span class="name">"any"</span>.
 
 <div class="anexample">
 <p>The following record declares an imprecise-1 derivation, which is known to involve one activity, though its identity, usage details of <span class="name">ex:e1</span>, and generation
@@ -2796,6 +2797,7 @@
    wasDerivedFrom(ex:e2, ex:e1, [prov:steps="single"])
 </pre>
 </div>
+ </li>
 
 <li> The attribute <dfn id="dfn-label"><span class="name">prov:label</span></dfn> provides a human-readable representation of a PROV-DM element or relation.</li>
 
@@ -2981,8 +2983,10 @@
 <p>The following figure summarizes the additional relations described in subsections 6.1 to 6.7.</p>
 
 <div style="text-align: center;">
+<figure>
 <img src="sec6-summary.png" alt="common relations"/>
 <figcaption>PROV-DM Common Relations</figcaption>
+</figure>
 </div>
 
 <section id="record-traceability">
@@ -3170,8 +3174,10 @@
 class="name">a1</span>.</p>
 
 <div style="text-align: center;">
+<figure>
 <img src="informedByNonTransitive.png" alt="non transitivity of wasInformedBy" />
 <figcaption>Counter-example for transitivity of wasInformedBy</figcaption>
+</figure>
 </div>
 
 <p>
@@ -3470,9 +3476,7 @@
 
 </section>
 
-<!--------------------
-COLLECTIONS
----------------------->
+
 
 <section id="record-Collection">
 <h3>Collections</h3>
@@ -3490,28 +3494,28 @@
 The intent of the <em>collection</em> record types relations introduced in this section is to account for <strong>part-of</strong> relationships that may exist amongst entities. Specifically, this section:
 
 <ul>
-  <li>introduces a new built-in type <span class="name">collection</span>, and
-  <li>introduces relations that let asserters describe how the content of entities of type collection changes over time, as a consequence of insertion and deletion operations.
+  <li>introduces a new built-in type <span class="name">collection</span>, and </li>
+  <li>introduces relations that let asserters describe how the content of entities of type collection changes over time, as a consequence of insertion and deletion operations.</li>
   </ul>
 
-We adopt a very generic form of collection for the purpose, namely an abstract data types consisting of <strong>set of key-value pairs</strong>, often referred to as a <strong>map</strong>. This provides a generic indexing structure that can be used to model commonly used data structures, including associative lists (also known as "dictionaries" or maps in some programming languages), relational tables, ordered lists, and more (the specification of such specialized structures in terms of key-value pairs is out of the scope of this document).<p/>
-
-Keys and values used in collections are literals. This allows expressing nested collections, that is, collections whose values include entities of type collection.<p/>
-
-<p>The following relations and corresponding record types are introduced to model (a) insertion of a new key-value pair into a collection and (b) removal of a key-value pair from a collection.
+<p>We adopt a very generic form of collection for the purpose, namely an abstract data types consisting of <strong>set of key-value pairs</strong>, often referred to as a <strong>map</strong>. This provides a generic indexing structure that can be used to model commonly used data structures, including associative lists (also known as "dictionaries" or maps in some programming languages), relational tables, ordered lists, and more (the specification of such specialized structures in terms of key-value pairs is out of the scope of this document).</p>
+
+<p>Keys and values used in collections are literals. This allows expressing nested collections, that is, collections whose values include entities of type collection.</p>
+
+<p>The following relations and corresponding record types are introduced to model (a) insertion of a new key-value pair into a collection and (b) removal of a key-value pair from a collection.</p>
 
 <ul>
   <li>Record:  <span class="name">CollectionAfterInsertion(c2,c1, k, v)</span> denotes that collection  <span class="name">c2</span> represents the new state of collection <span class="name">c1</span>,
-following the insertion of pair <span class="name">(k,v)</span> into  <span class="name">c1</span>
+following the insertion of pair <span class="name">(k,v)</span> into  <span class="name">c1</span></li>
 
 <li>  Record: <span class="name">CollectionAfterRemoval(c2,c1, k)</span> denotes that collection  <span class="name">c2</span> represents the removal of pair <span class="name">(k,v)</span> from  <span class="name">c1</span>, where  <span class="name">v</span> is the value
-corresponding to key  <span class="name">k</span> in  <span class="name">c1</span>. 
+corresponding to key  <span class="name">k</span> in  <span class="name">c1</span>. </li>
 
 </ul>
 
 <p>
 Because these relations state the derivation of a collection from another, formally they are specializations of the precise-1  <a
-href="#Derivation-Relation"><strong>wasDerivedFrom</strong></a> relation.<p/>
+href="#Derivation-Relation"><strong>wasDerivedFrom</strong></a> relation.</p>
 
 The following entity types are introduced:
 
@@ -3544,10 +3548,9 @@
 </pre>
 </div>
 
-This representation of a collection's evolution makes no assumption regarding the underlying data structure used to store and manage collections. In particular, no assumptions are needed regarding the mutability of a data structure that is subject to updates.   In fact, the state of a collection (i.e., the set of key-value pairs it contains) at a given point in a sequence of operations is never stated explicitly. Rather, it can be obtained by querying the chain of derivation assertions involving insertions and removals. Entity type <span class="name">prov:type="emptyCollection"</span> can be used in this context as it marks the start of a sequence of collection operations.
-
-<p>Observations:
-
+<p>This representation of a collection's evolution makes no assumption regarding the underlying data structure used to store and manage collections. In particular, no assumptions are needed regarding the mutability of a data structure that is subject to updates.   In fact, the state of a collection (i.e., the set of key-value pairs it contains) at a given point in a sequence of operations is never stated explicitly. Rather, it can be obtained by querying the chain of derivation assertions involving insertions and removals. Entity type <span class="name">prov:type="emptyCollection"</span> can be used in this context as it marks the start of a sequence of collection operations.</p>
+
+<p>Observations:</p>
 <ul>
 
   <li> One can have multiple assertions regarding the state of a collection following a <em>set</em> of insertions, for example:<br/>
@@ -3575,7 +3578,8 @@
   <span class="name">CollectionAfterInsertion(c2, c, k2, v2) </span>      // c2 = { (k2 v2) }
   <span class="name">CollectionAfterInsertion(c3, c1, k3,v3) </span>      // c3 = { (k1,v1),  (k3,v3) }
 </pre>
-</div><p/>
+</div>
+</li>
 
 <li>Both relations are functional, in the sense that they represent a state change following a unique insertion/removal operation (or a unique set of them). Thus, from the pair of assertions: