more on bundles
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Wed, 09 May 2012 08:45:02 +0100
changeset 2737 e8d864347471
parent 2736 31e2dc0de82d
child 2738 8dfc26684ea0
more on bundles
model/glossary.html
model/glossary.js
model/working-copy/wd6-bundle.html
--- a/model/glossary.html	Tue May 08 22:18:15 2012 +0100
+++ b/model/glossary.html	Wed May 09 08:45:02 2012 +0100
@@ -203,8 +203,12 @@
 The entity is no longer available for use after invalidation. Any generation or usage of an entity precedes its invalidation.</span>
 
 
-<span class="glossary" id="glossary-bundle">  
-A <dfn id="concept-bundle">bundle</dfn> is a set of provenance descriptions. A named bundle has an identifier that identifies a unique set of descriptions.   
+<span class="glossary" id="glossary-bundle">
+A <dfn id="concept-bundle">bundle</dfn> is a set of provenance
+descriptions and an entity to allow provenance of provenance to be
+expressed. In contrast to an anonymous bundle, a named bundle has an
+identifier that is intended to identify a set of descriptions
+uniquely.
 </span>
 
 <span class="glossary" id="glossary-provenance-locator">  
--- a/model/glossary.js	Tue May 08 22:18:15 2012 +0100
+++ b/model/glossary.js	Wed May 09 08:45:02 2012 +0100
@@ -3,7 +3,7 @@
 //  with <script src="glossary.js" class="remove"></script>
 //Insert glossary definitions with the following 
 // <div class="glossary-ref" ref="glossary-generation"></div>
-glossary_hg='http://dvcs.w3.org/hg/prov/file/0edfb676dec8/model/glossary.html';
+glossary_hg='http://dvcs.w3.org/hg/prov/file/62b51f0d8a50/model/glossary.html';
 glossary_string= 
 ' ' + 
 '<html> ' + 
@@ -210,8 +210,12 @@
 'The entity is no longer available for use after invalidation. Any generation or usage of an entity precedes its invalidation.</span> ' + 
 ' ' + 
 ' ' + 
-'<span class="glossary" id="glossary-bundle">   ' + 
-'A <dfn id="concept-bundle">bundle</dfn> is a set of provenance descriptions. A named bundle has an identifier that identifies a unique set of descriptions.    ' + 
+'<span class="glossary" id="glossary-bundle"> ' + 
+'A <dfn id="concept-bundle">bundle</dfn> is a set of provenance ' + 
+'descriptions and an entity to allow provenance of provenance to be ' + 
+'expressed. In contrast to an anonymous bundle, a named bundle has an ' + 
+'identifier that is intended to identify a set of descriptions ' + 
+'uniquely. ' + 
 '</span> ' + 
 ' ' + 
 '<span class="glossary" id="glossary-provenance-locator">   ' + 
--- a/model/working-copy/wd6-bundle.html	Tue May 08 22:18:15 2012 +0100
+++ b/model/working-copy/wd6-bundle.html	Wed May 09 08:45:02 2012 +0100
@@ -311,7 +311,7 @@
 
 <p>
 <span class="glossary-ref" data-ref="glossary-bundle"  data-withspan="true">
-</span>A bundle is an entity to allow provenance of provenance to be expressed.
+</span>
 
 <div class="conceptexample" id="bundle-example">
 <p>
@@ -358,11 +358,10 @@
 <section id="section-example-c"> 
 <h3>Attribution of Provenance</h3>
 
-<p>The two previous sections  provide  two different perspectives on the provenance of a document. By design, the PROV approach allows for the provenance of a subject to be provided by multiple sources. For users to decide whether they can place their trust in the document, they may want to analyze its provenance, but also determine
-who the provenance is attributed to, and when it was
+<p>The two previous sections  offer two different perspectives on the provenance of a document.  PROV allows for multiple source to provide the provenance of a subject. For users to decide whether they can place their trust in the document, they may want to analyze its provenance, but also determine who the provenance is attributed to, and when it was
 generated, etc. In other words, we need to be able to express the provenance of provenance.</p>
 
-<p>PROV-DM offers a construct to bundle up provenance descriptions and name them. </p>
+<p>PROV-DM offers a construct to name a bundle of provenance descriptions. </p>
 
 <pre class="codeexample">
 bundle ex:author-view
@@ -465,7 +464,7 @@
 </ul>
 <p>When specified, the identifier <span class="name">id</span> identifies a unique set of descriptions.</p>
 
-<p>A bundle without identifier is referred to as a default bundle. Since a default bundle lacks an identifier, descriptions about such type of bundles cannot be expressed, and provenance cannot be associated with them. A default bundle is merely a packaging mechanism for provenance descriptions when provenance of provenance does not have to be expressed.</p>
+<p>A bundle without identifier is referred to as an anonymous bundle. Since anonymous bundles lack  identifiers, it becomes harder to associate provenance descriptions with such them. An anonymous bundle is merely a packaging mechanism for provenance descriptions when provenance of provenance does not have to be expressed. Provenance descriptions that are not explicitly included in a named bundle implicitly belong to the anonymous bundle. </p>
 </section>
 
 
@@ -507,7 +506,7 @@
 <p>Let us assume that Bob observed the creation of <span class="name">ex:report1</span>.
 A first bundle can be expressed.</p>
 <pre class="codeexample"> 
-bundle uuid:01
+bundle bob:bundle1
   entity(ex:report1, [ prov:type="report", ex:version=1 ])
   wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)
 end
@@ -517,7 +516,7 @@
 Alice observed the creation of <span class="name">ex:report2</span> and its derivation from <span class="name">ex:report1</span>.
 A separate bundle can also be expressed.</p>
 <pre class="codeexample"> 
-bundle uuid:02
+bundle alice:bundle2
   entity(ex:report1)
   entity(ex:report2, [ prov:type="report", ex:version=2 ])
   wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)
@@ -525,24 +524,26 @@
 end
 </pre>
 
-<p>The first bundle contains the descriptions corresponding to  Bob observing the creation of <span class="name">ex:report1</span>. Its provenance can be described.</p>
+<p>The first bundle contains the descriptions corresponding to  Bob observing the creation of <span class="name">ex:report1</span>. Its provenance can be described as follows.</p>
 <pre class="codeexample"> 
-entity(uuid:01, [prov:type='prov:Bundle'])
-wasGeneratedBy(uuid:01, -, 2012-05-24T10:30:00)
-wasAttributedTo(uuid:01, ex:Bob)
+entity(bob:bundle1, [prov:type='prov:Bundle'])
+wasGeneratedBy(bob:bundle1, -, 2012-05-24T10:30:00)
+wasAttributedTo(bob:bundle1, ex:Bob)
 </pre>
+<p>These descriptions implicitly belong to an anonymous bundle.</p>
 
 <p>In contrast, the second bundle is attributed to Alice who
 observed the derivation of <span class="name">ex:report2</span> from <span class="name">ex:report1</span>.</p>
 <pre class="codeexample"> 
-entity(uuid:02, [ prov:type='prov:Bundle' ])
-wasGeneratedBy(uuid:02, -, 2012-05-25T11:15:00)
-wasAttributedBTo(uuid:02, ex:Bob)
+entity(alice:bundle2, [ prov:type='prov:Bundle' ])
+wasGeneratedBy(alice:bundle2, -, 2012-05-25T11:15:00)
+wasAttributedBTo(alice:bundle2, ex:Bob)
 </pre>
+<p>Likewise, these descriptions also implicitly belong to an anonymous bundle.</p>
 </div>
 
 <div class="anexample" id="anexample-provenance-aggregation">
-<p>A provenance aggretator could merge two bundles, resulting in a novel bundle, whose provenance is described as follows.</p>
+<p>A provenance aggregator could merge two bundles, resulting in a novel bundle, whose provenance is described as follows.</p>
 <pre class="codeexample"> 
 bundle uuid:03
   entity(ex:report1, [ prov:type="report", ex:version=1 ])
@@ -553,12 +554,13 @@
   wasDerivedFrom(ex:report2, ex:report1)
 end
 
-entity(uuid:03, [ prov:type='prov:Bundle' ])
-wasAttributedTo(uuid:03, ex:Aggregator)
-wasDerivedFrom(uuid:03, uuid:01)
-wasDerivedFrom(uuid:03, uuid:02)
+entity(agg:bundle3, [ prov:type='prov:Bundle' ])
+agent(ex:aggregator01, [ prov:type='ex:Aggregator' ])
+wasAttributedTo(agg:bundle3, ex:aggregator01)
+wasDerivedFrom(agg:bundle3, bob:bundle1)
+wasDerivedFrom(agg:bundle3, alice:bundle2)
 </pre>
-<p>The new bundle is given a new identifier <span class="name">uuid:03</span> and is attributed to the <span class="name">ex:Aggregator</span> agent.
+<p>The new bundle is given a new identifier <span class="name">agg:bundle3</span> and is attributed to the <span class="name">ex:aggregator01</span> agent.
 </div>
 
 
@@ -570,7 +572,7 @@
 
 
 In <a href="#anexample-provenance-of-provenance">Example anexample-provenance-of-provenance</a>, we initially presented a scenario involving two entities <span class="name">report1</span> and <span class="name">report2</span>, and showed how the descriptions can be organized into two bundles.  There is no explicit indication that the second bundle "continues" the description offered by the first bundle.  Given that bundles may be retrieved separately [[PROV-AQ]], it is not obvious for a provenance consumer to navigate descriptions across bundles.  To aid consumers,
- Bob may wish to express that there is further provenance information about <span class="name">report1</span> in bundle <span class="name">uuid:01</span>.  To this end, PROV introduces the notion of provenance locator, inspired by [[PROV-AQ]].
+ Alice may wish to express that there is further provenance information about <span class="name">report1</span> in bundle <span class="name">bob:bundle1</span>.  To this end, PROV introduces the notion of provenance locator, inspired by [[PROV-AQ]].
 
 
 <p><div class="glossary-ref" data-ref="glossary-provenance-locator"></div></p>
@@ -579,7 +581,7 @@
 <div class="attributes" id="attributes-hasProvenanceIn">
 A <dfn title="hasProvenanceIn">provenance locator</dfn>,
 written
-<span class="pnExpression">hasProvenance(id, subject, bundle, target, service, prov, attrs)</span>, has:
+<span class="pnExpression">hasProvenanceIn(id, subject, bundle, target, service, prov, attrs)</span>, has:
 <ul>
 <li><span class='attribute' id="prov.localtor.id">id</span>: an identifier for a provenance locator; </li>
 <li><span class='attribute' id="prov.locator.subject">subject</span>:  an identifier denoting something (entity, activity, agent, or relatation instance);</li>
@@ -589,7 +591,7 @@
 <li><span class='attribute' id="prov.locator.provenance">provenance</span>:  an OPTIONAL URI (<span class="name">prov</span>), which when dereferenced, allows access to provenance descriptions (referred to as <a href="http://www.w3.org/TR/prov-aq/#dfn-provenance-uri">Provenance-URI</a> in [[PROV-AQ]]);
 <li><span class='attribute' id="prov.locator.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this locator.</li>
 </ul>
-<p>In <span class="pnExpression">hasProvenance(id, subject, bundle, target, service, prov, attrs)</span>, <span class="name">service</span> and <span class="name">prov</span> are both optional and mutually exclusive: if specified, either <span class="name">service</span> or <span class="name">prov</span> is provided.</p>
+<p>In <span class="pnExpression">hasProvenanceIn(id, subject, bundle, target, service, prov, attrs)</span>, <span class="name">service</span> and <span class="name">prov</span> are both optional and mutually exclusive: if specified, either <span class="name">service</span> or <span class="name">prov</span> is provided.</p>
 </div>
 
 <p>A provenance locator specifies a context, referred to
@@ -597,16 +599,16 @@
 about something.</p>
 
 <p>When the subject and optional target denote entities,
-a provenance locator not only provides a located context, but it also expresses a <a>specialization</a> relation between the entity denoted by <span class="name">subject</span> and the  entity described in the located context. This is a specialization since the entity denoted by <span class="name">subject</span> is more constrained in the current context than in the located one.</p>
+a provenance locator not only provides a located context, but it also expresses an <a>alternate</a> relation between the entity denoted by <span class="name">subject</span> and the  entity described in the located context. This is a alternate since the entity denoted by <span class="name">subject</span> in the current context presents other aspects than the entity in the located one.</p>
 
 <div class="anexample" id="anexample-provenance-locator">
-<p>According to the following provenance locator, provenance descriptions about <span class="name">ex:report1</span> can be found in bundle <span class="name">uuid:01</span>.</p>
+<p>According to the following provenance locator, provenance descriptions about <span class="name">ex:report1</span> can be found in bundle <span class="name">bob:bundle1</span>.</p>
 <pre class="codeexample"> 
-hasProvenanceIn(ex:report1, uuid:01, -, -, -)
+hasProvenanceIn(ex:report1, bob:bundle1, -, -, -)
 </pre>
-<p>According to the following provenance locator, provenance descriptions about <span class="name">ex:report1</span> can be found in bundle <span class="name">uuid:01</span>, in a provenance service identified by the provided URI.</p>
+<p>According to the following provenance locator, provenance descriptions about <span class="name">ex:report1</span> can be found in bundle <span class="name">bob:bundle1</span>, which is available from the provenance service identified by the provided URI.</p>
 <pre class="codeexample"> 
-hasProvenanceIn(ex:report1, uuid:01, -, "http://example.com/service"^xsd:anyURI, -)
+hasProvenanceIn(ex:report1, bob:bundle1, -, "http://example.com/service"^xsd:anyURI, -)
 </pre>
 <p>According to the following provenance locator, provenance descriptions about <span class="name">ex:report1</span> can be found in resource identified by the provided URI.</p>
 <pre class="codeexample"> 
@@ -620,7 +622,7 @@
 <p>The first bundle can be expressed with all Bob's observations about the creation of <span class="name">ex:report1</span>.
 </p>
 <pre class="codeexample"> 
-bundle uuid:04
+bundle bob:bundle4
   entity(ex:report1, [ prov:type="report", ex:version=1 ])
   wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)
 end
@@ -628,17 +630,17 @@
 
 <p>Likewise, Alice's observation about the derivation of  <span class="name">ex:report2</span>  from <span class="name">ex:report1</span>, is expressed in a separate bundle.</p>
 <pre class="codeexample"> 
-bundle uuid:05
+bundle alice:bundle5
   entity(ex:report1)
-  hasProvenanceIn(ex:report1, uuid:04, -, -, -)
+  hasProvenanceIn(ex:report1, bob:bundle4, -, -, -)
   entity(ex:report2, [ prov:type="report", ex:version=2 ])
   wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)
   wasDerivedFrom(ex:report2, ex:report1)
 end
 </pre>
-<p>In bundle <span class="name">uuid:05</span>, there is a description for entity <span class="name">ex:report1</span>, and 
-a provenance locator pointing to bundle <span class="name">uuid:04</span>.  
-The locator indicates that some provenance description for <span class="name">ex:report1</span> can be found in bundle <span class="name">uuid:04</span>. The purpose of the locator is twofold. First, it allows for <a href="http://www.w3.org/TR/prov-aq/#incremental-provenance-retrieval">incremental navigation</a> of provenance [[PROV-AQ]].  Second, it makes entity <span class="name">ex:report1</span> described in <span class="name">uuid:05</span> a <a>specialization</a> of <span class="name">ex:report1</span> described in <span class="name">uuid:04</span>.
+<p>In bundle <span class="name">alice:bundle5</span>, there is a description for entity <span class="name">ex:report1</span>, and 
+a provenance locator pointing to bundle <span class="name">bob:bundle4</span>.  
+The locator indicates that some provenance description for <span class="name">ex:report1</span> can be found in bundle <span class="name">bob:bundle4</span>. The purpose of the locator is twofold. First, it allows for <a href="http://www.w3.org/TR/prov-aq/#incremental-provenance-retrieval">incremental navigation</a> of provenance [[PROV-AQ]].  Second, it makes entity <span class="name">ex:report1</span> described in <span class="name">alice:bundle5</span> an <a>alternate</a> of <span class="name">ex:report1</span> described in <span class="name">bob:bundle4</span>.
 </p>
 
 </div>
@@ -646,40 +648,40 @@
 <div class="anexample" id="aexample-note">
 <p>Consider that the following bundle of descriptions, in which derivation and generations have been identified.
 <pre class="codeexample"> 
-bundle uuid:06
+bundle obs:bundle6
   entity(ex:report1, [prov:type="report", ex:version=1])
   wasGeneratedBy(ex:g1; ex:report1,-,2012-05-24T10:00:01)
   entity(ex:report2, [prov:type="report", ex:version=2])
   wasGeneratedBy(ex:g2; ex:report2,-,2012-05-25T11:00:01)
   wasDerivedFrom(ex:d; ex:report2, ex:report1)
 endBundle
-entity(uuid:06, [ prov:type='prov:Bundle' ])
-wasAttributedTo(uuid:06, ex:Observer)
+entity(obs:bundle6, [ prov:type='prov:Bundle' ])
+wasAttributedTo(obs:bundle6, ex:observer01)
 </pre>
-Bundle <span class="name">uuid:06</span> is rendered by a visualisation tool.  It may useful for the tool configuration for this bundle to be shared along with the provenance descriptions, so that other users can render provenance as it was originally rendered.  The original  bundle obviously cannot be changed. However, one can create a new bundle, as follows.
+Bundle <span class="name">obs:bundle6</span> is rendered by a visualisation tool.  It may useful for the tool configuration for this bundle to be shared along with the provenance descriptions, so that other users can render provenance as it was originally rendered.  The original  bundle obviously cannot be changed. However, one can create a new bundle, as follows.
 <pre class="codeexample"> 
-bundle uuid:07
-  entity(uuid:07, [ prov:type='viz:Configuration', prov:type='prov:Bundle' ])
-  wasAttributedTo(uuid:07, viz:Visualizer)
+bundle tool:bundle7
+  entity(tool:bundle7, [ prov:type='viz:Configuration', prov:type='prov:Bundle' ])
+  wasAttributedTo(tool:bundle7, viz:Visualizer)
 
   entity(ex:report1, [viz:color="orange"])
-  hasProvenanceIn(ex:report1, uuid:06, -, -, -)
+  hasProvenanceIn(ex:report1, obs:bundle6, -, -, -)
 
   entity(ex:report2, [viz:color="blue"])
-  hasProvenanceIn(ex:report2, uuid:06, -, -, -)
+  hasProvenanceIn(ex:report2, obs:bundle6, -, -, -)
 
   wasDerivedBy(ex:d; ex:report2, ex:report1, [viz:style="dotted"])
-  hasProvenanceIn(ex:d, uuid:06, -, -, -)
+  hasProvenanceIn(ex:d, obs:bundle6, -, -, -)
 endBundle
 </pre>
 
-<p>In bundle <span class="name">uuid:07</span>, the prefix <span class="name">viz</span> is used for naming visualisation-specific attributes, types or values.</p>
+<p>In bundle <span class="name">tool:bundle7</span>, the prefix <span class="name">viz</span> is used for naming visualisation-specific attributes, types or values.</p>
 
-<p>Bundle <span class="name">uuid:07</span> is given type <span class="name">viz:Configuration</span> to indicate that it consists of descriptions that pertain to the configuration of the visualisation tool. This type attribute can be used for searching bundles containing visualization-related descriptions.
+<p>Bundle <span class="name">tool:bundle7</span> is given type <span class="name">viz:Configuration</span> to indicate that it consists of descriptions that pertain to the configuration of the visualisation tool. This type attribute can be used for searching bundles containing visualization-related descriptions.
 </p>
 
-<p>Specializations of the entities <span class="name">ex:report1</span> and <span class="name">ex:report2</span> have a visualisation attribute for the color to be used when rendering these entities. 
-Likewise, the derivation has a style attribute. To be able to express this specialization of the derivation, it is necessary for it to have an identifier in the first place (<span class="name">ex:d</span>).</p>
+<p>Alternates of the entities <span class="name">ex:report1</span> and <span class="name">ex:report2</span> have a visualization attribute for the color to be used when rendering these entities. 
+Likewise, the derivation has a style attribute. To be able to express this alternate of the derivation, it is necessary for it to have an identifier in the first place (<span class="name">ex:d</span>).</p>
 </div>
 
 </section>