--- a/model/prov-dm.html Wed May 23 22:39:46 2012 -0400
+++ b/model/prov-dm.html Thu May 24 11:07:41 2012 +0100
@@ -30,7 +30,7 @@
}
table.thinborder td {
border-width: 1px;
- padding: 0px;
+ padding: 2px;
border-style: solid;
border-color: gray;
-moz-border-radius: ;
@@ -204,7 +204,7 @@
wgURI: "http://www.w3.org/2011/prov/",
// name (with the @w3c.org) of the public mailing to which comments are due
- wgPublicList: "public-prov-wg",
+ wgPublicList: "public-prov-comments",
// URI of the patent status for this WG, for Rec-track documents
// !!!! IMPORTANT !!!!
@@ -222,7 +222,7 @@
<section id="abstract">
<p>
-PROV-DM, the PROV data model, is a data model for provenance that describes
+PROV-DM, the PROV conceptual data model, is a data model for provenance that describes
the entities, people and activities involved in
producing a piece of data or thing.
PROV-DM distinguishes core structures, forming the essence of provenance descriptions, from
@@ -232,7 +232,7 @@
(2) agents bearing responsibility for entities that were generated and activities that happened;
(3) derivations of entities from entities;
(4) properties to link entities that refer to the same thing;
-(5) notion of bundle, a mechanism to support provenance of provenance;
+(5) a notion of bundle, a mechanism to support provenance of provenance; and,
(6) collections forming a logical structure for its members.
</p>
@@ -251,6 +251,15 @@
</section>
<section id="sotd">
+<h4>Last Call</h4>
+<p>This is the fifth public release of the PROV-DM document.
+Publication as Last Call working draft means that
+the Working Group believes that it has satisfied the relevant technical requirements outlined in its charter on this document. The design is not expected to change significantly, going forward, and now is the key time for external review, before the implementation phase.</p>
+<h4>Please Comment By (date TBD)</h4>
+The PROV Working group seeks public feedback on this Working Draft.
+The end date of the Last Call review period is TBD, and we would appreciate comments by that date to public-prov-comments@w3.org
+</p>
+
<h4>PROV Family of Specifications</h4>
This document is part of the PROV family of specifications, a set of specifications defining various aspects that are necessary to achieve the vision of inter-operable
interchange of provenance information in heterogeneous environments such as the Web. The specifications are:
@@ -273,10 +282,6 @@
<li>Readers seeking to implement other PROV serializations
should focus on PROV-DM and PROV-CONSTRAINTS. PROV-O, PROV-N, PROV-XML offer examples of mapping to RDF, text, and XML, respectively.</li>
</ul>
-
-
-<h4>Fourth Public Working Draft</h4>
-<p>This is the fourth public release of the PROV-DM document. Following feedback, the Working Group has decided to reorganize this document substantially, separating the data model from its contraints and the notation used to illustrate it. The PROV-DM release is synchronized with the release of the PROV-O, PROV-PRIMER, PROV-N, and PROV-CONSTRAINTS documents. We are now clarifying the entry path to the PROV family of specifications.</p>
</section>
@@ -316,19 +321,20 @@
<p>
We
-consider a core data model for provenance that allows domain and application specific representations of provenance to be translated into such a data model and <em>interchanged</em> between systems.
-Thus, heterogeneous systems can export their native provenance into such a core data model, and applications that need to make sense of provenance in heterogeneous systems can then import it,
+consider a generic data model for provenance that allows domain and application specific representations of provenance to be translated into such a data model and <em>interchanged</em> between systems.
+Thus, heterogeneous systems can export their native provenance into such a core data model, and applications that need to make sense of provenance can then import it,
process it, and reason over it.</p>
+<!--
<p>A set of specifications, referred to as the PROV family of specifications, define the various aspects
that are necessary to achieve this vision in an interoperable
way:</p>
<ul>
<li>A data model for provenance, which is presented in three documents:
<ul>
-<li> PROV-DM (part I): the provenance data model, informally described (this document);
-<li> PROV-CONSTRAINTS (part II): constraints underpinning the data model [[PROV-CONSTRAINTS]];
-<li> PROV-N (part III): a notation to express instances of that data model for human consumption [[PROV-N]];
+<li> PROV-DM: the provenance data model, informally described (this document);
+<li> PROV-CONSTRAINTS: constraints underpinning the data model [[PROV-CONSTRAINTS]];
+<li> PROV-N: 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>
@@ -337,12 +343,23 @@
<li>PROV-SEM: semantics of the PROV-DM data model [[PROV-SEM]];</li>
<li>PROV-XML: an XML schema for the PROV data model.</li>
</ul>
+-->
<p>
-The PROV data model is a domain-agnostic model, but with clear extensibility points allowing further domain-specific and
+The PROV data model distinguishes <em>core structures</em> from
+<em>extended structures</em>: core structures form the essence of
+provenance descriptions, and are commonly found in various
+domain-specific vocabularies. Extended structures enhance and refine core
+structures with more expressive capabilities to cater for more
+advanced uses of provenance.
+The PROV data model, comprising both core and extended structures, is a domain-agnostic model, but with clear extensibility points allowing further domain-specific and
application-specific extensions to be defined.
-The PROV data model is structured according to six components covering various aspects of provenance:</p>
+</p>
+
+
+<p>
+The PROV data model has a modular design and is structured according to six components covering various facets of provenance:</p>
<ul>
<li> component 1: entities and activities, and the time at which they were created, used, or ended;
<li> component 2: agents bearing responsibility for entities that were generated and activities that happened;
@@ -353,19 +370,19 @@
</ul>
-<p>This specification presents the key concepts of the PROV Data Model, and
+<p>This specification presents the concepts of the PROV Data Model, and
provenance types and relations, without specific concern for how they are applied.
With these, it becomes possible to write useful provenance descriptions, and publish or embed them alongside the data they relate to. </p>
<p>However, if something about which provenance is expressed is subject to change, then it is challenging to express its provenance precisely (e.g. the data from which a daily weather report is derived changes from day to day).
- To address this challenge, a <em>refinement</em> is proposed to enrich simple provenance, with extra descriptions that help qualify the specific subject of provenance and provenance itself, with attributes and temporal information, intended to satisfy a comprehensive set of constraints. These aspects are covered in the companion specification [[PROV-CONSTRAINTS]].
+ To address this challenge, it is proposed to enrich simple provenance, with refined descriptions that help qualify the specific subject of provenance and provenance itself, with attributes and temporal information, intended to satisfy a comprehensive set of constraints. These aspects are covered in the companion specification [[PROV-CONSTRAINTS]].
</p>
<section id="structure-of-this-document">
<h3>Structure of this Document</h3>
-<p><a href="#section-prov-overview">Section 2</a> provides an overview of the PROV Data Model, distinguishing a CORE set of types and relations, commonly found in provenance descriptions, from extended structures catering for advanced uses.</p>
+<p><a href="#section-prov-overview">Section 2</a> provides an overview of the PROV Data Model, distinguishing a core set of types and relations, commonly found in provenance descriptions, from extended structures catering for advanced uses. It also introduces a modular organization of the data model in components. </p>
<p><a href="#prov-notation">Section 3</a> overviews the Provenance Notation used to illustrate examples of provenance descriptions.</p>
@@ -380,7 +397,7 @@
<p><a href="#extensibility-section">Section 6</a> summarizes PROV-DM extensibility points.</p>
-<p><a href="#valid-provenance">Section 7</a> introduces the idea that constraints can be applied to the PROV data model to refine provenance descriptions; these are covered in the companion specification [[PROV-CONSTRAINTS]].</p>
+<p><a href="#valid-provenance">Section 7</a> introduces the idea that constraints can be applied to the PROV data model to validate provenance descriptions; these are covered in the companion specification [[PROV-CONSTRAINTS]].</p>
</section>
@@ -403,7 +420,7 @@
<table class="thinborder" style="margin-left: auto; margin-right: auto;">
<caption id="namespace-table">Table 1: Prefix and Namespaces used in this specification</caption>
<tr><td><a><b>prefix</b></a></td><td><b>namespace uri</b></td> <td><b>definition</b></td></tr>
-<tr><td><a>prov</a></td><td>http://www.w3.org/ns/prov#</td><td>The PROV namespace (see Section <a href="#term-NamespaceDeclaration">4.7.1</a>)</td></tr>
+<tr><td><a>prov</a></td><td>http://www.w3.org/ns/prov#</td><td>The PROV namespace (see Section <a href="#term-NamespaceDeclaration">5.7.1</a>)</td></tr>
<tr><td><a>xsd</a></td><td>http://www.w3.org/2000/10/XMLSchema#</td><td>XML Schema Namespace [[!XMLSCHEMA-2]]</td></tr>
<tr><td><a>rdf</a></td><td>http://www.w3.org/1999/02/22-rdf-syntax-ns#</td><td>The RDF namespace [[!RDF-CONCEPTS]]</td></tr>
<tr><td><a>(others)</a></td><td>(various)</td><td>All other namespace prefixes are used in examples only. <br/> In particular, URIs starting with "http://example.com" represent<br/> some application-dependent URI [[!URI]]</td></tr>
@@ -412,7 +429,7 @@
<p>
Examples throughout this document use the PROV-N Provenance
- Notation, briefly introduced in <a href="#prov-notation">Section 3</a> and specified fully in separate document [[PROV-N]].</p>
+ Notation, briefly introduced in <a href="#prov-notation">Section 3</a> and specified fully in a separate document [[PROV-N]].</p>
</section>
@@ -425,7 +442,7 @@
<h1>PROV Overview</h1>
<p>This section introduces provenance concepts with informal descriptions and illustrative
-examples. PROV distinguishes <em>core structures</em>, forming the essence of provenance descriptions, from <em>extended structures</em> catering for more advanced uses of provenance. Core and extended structures are respectively presented in <a href="#core-structures">Section 2.1</a> and <a href="#section-extended-structures">Section 2.2</a>. Furthermore, the PROV data model is organized according to components, which are thematic groupings of concepts, overviewed in <a href="#section-overview-components">Section 2.3</a>.
+examples. PROV distinguishes <em>core structures</em>, forming the essence of provenance descriptions, from <em>extended structures</em> catering for more advanced uses of provenance. Core and extended structures are respectively presented in <a href="#core-structures">Section 2.1</a> and <a href="#section-extended-structures">Section 2.2</a>. Furthermore, the PROV data model is organized according to components, which form thematic groupings of concepts (see <a href="#section-overview-components">Section 2.3</a>).
</p>
@@ -435,7 +452,7 @@
<p>The core of PROV consists of essential provenance structures commonly found in provenance descriptions.
It is summarized graphically by
the UML diagram of <a href="#prov-core-structures">Figure 1</a>,
-illustrating three types (entity, activity, and agent) and how they relate to each other. In the core of PROV, all relations are binary. </p>
+illustrating three types (entity, activity, and agent) and how they relate to each other. In the core of PROV, all associations are binary. </p>
<div style="text-align: center; ">
@@ -446,9 +463,9 @@
</figure>
</div>
-<p>The rest of this section introduces the concepts found in PROV Core structures.
-They are summarized in <a href="#overview-types-and-relations">Table 2</a>, where they are grouped according to
-the types and relations the PROV conceptual data model.
+<p>The concepts found in the core of PROV are introduced in the rest of this section.
+They are summarized in <a href="#overview-types-and-relations">Table 2</a>, where they are categorized as
+ type or relation.
The first column lists concepts, the second column indicates whether a concept maps to a type or a relation, whereas the third column contains the corresponding name. Names of relations have a verbal form in the past tense to express what happened in the past, as opposed to what may or will happen.
</p>
@@ -533,7 +550,7 @@
</div>
<p>Activities and entities are associated with each other in two different ways: activities utilize entities and activities produce entities. The act of utilizing or producing an entity may have a duration.
- The term 'generation' refers to the completion of the act of producing; likewise, the term 'usage' refers to the beginning of the act of utilizing entities. Thus, we define the following notions of generation and usage. </p>
+ The term 'generation' refers to the completion of the act of producing; likewise, the term 'usage' refers to the beginning of the act of utilizing entities. Thus, we define the following concepts of generation and usage. </p>
<p>
<div class="glossary-ref" data-ref="glossary-generation" data-withspan="true">
@@ -587,7 +604,7 @@
<div class="conceptexample" id="agent-example">
<p>
-Software for checking the use of grammar in a document may be defined as an agent of a document preparation activity, and at the same time one can describe its provenance, including for instance the vendor and the version history.
+Software for checking the use of grammar in a document may be defined as an agent of a document preparation activity; one can also describe its provenance, including for instance the vendor and the version history.
A site selling books on the Web, the services involved in the processing of orders, and the companies hosting them are also agents.
</p>
</div>
@@ -651,7 +668,7 @@
-<p>Activities utilize entities and produce entities. In some cases, utilizing an entity influences the creation of another in some way. This notion is captured by derivations, defined as follows.</p>
+<p>Activities utilize entities and produce entities. In some cases, utilizing an entity influences the creation of another in some way. This notion of 'influence' is captured by derivations, defined as follows.</p>
<p>
<span class="glossary-ref" data-ref="glossary-derivation" data-withspan="true"></span>
@@ -672,7 +689,7 @@
<p>While the core of PROV focuses on essential provenance structures commonly found in provenance descriptions, extended structures
are designed to support more advanced uses of provenance.
-The purpose of this section is twofold. First, mechanisms to specify these extended structures are introduced. Second, two further categories of provenance structures are overviewed: they cater for provenance of provenance and collections, respectively.</p>
+The purpose of this section is twofold. First, mechanisms to specify these extended structures are introduced. Second, two further kinds of provenance structures are overviewed: they cater for provenance of provenance and collections, respectively.</p>
@@ -736,7 +753,7 @@
<div class="conceptexample" id="association-example2">
<p>An example of association between an activity and an agent involving a plan is:
-an XSLT transform launched by a user based on an XSL style sheet (a plan).
+an XSLT transform (an activity) launched by a user (an agent) based on an XSL style sheet (a plan).
</div>
</section>
@@ -748,10 +765,9 @@
<p>Some concepts exhibit both a core use, expressed as
binary relation, and an extended use, expressed as n-ary relation. In
some cases, mapping the concept to a relation, whether binary or
-n-ary, is not sufficient: instead, it may be required to able to
-identify an instance of such concept.</p>
-
-<p>In such circumstances, PROV-DM allows an optional identifier to be
+n-ary, is not sufficient: instead, it may be required to
+identify an instance of such concept. In those cases, PROV-DM allows for
+an optional identifier to be
expressed to identify an instance of an association between two or
more elements. This optional identifier can then be used to refer to
an instance as part of other concepts.</p>
@@ -823,13 +839,13 @@
is further organized according to components, grouping concepts in a
thematic manner. </p>
-<p> <a href="#components-overview">Table 3</a> enumerates the six components, five of which have already been implicitly overviewed in this section. All components offer extended structures, whereas the first three only offer core structures.
+<p> <a href="#components-overview">Table 3</a> enumerates the six components, five of which have already been implicitly overviewed in this section. All components specify extended structures, whereas only the first three define core structures.
<div id="components-overview-div" style="text-align: center;">
<table class="thinborder" style="margin-left: auto; margin-right: auto;">
<caption id="components-overview">Table 3: Components Overview</caption>
<tr><td></td><td>Component</td><td>Core <br>Structures</td><td>Overview</td><td>Specification</td><td>Description</td></tr>
-<tr><td>1</td><td style="text-align: left;">Entities and Activities</td><td>✔</td><td><a href="#section-entity-activity">2.1.1</a></td><td><a href="#component1">5.1</a></td><td style="text-align: left;">about entities and activities, and their interrelations</td></tr>
+<tr><td style=" padding: 8px;">1</td><td style="text-align: left;">Entities and Activities</td><td>✔</td><td><a href="#section-entity-activity">2.1.1</a></td><td><a href="#component1">5.1</a></td><td style="text-align: left;">about entities and activities, and their interrelations</td></tr>
<tr><td>2</td><td style="text-align: left;">Agent and Responsibility</td><td>✔</td><td><a href="#section-agents-attribution-association-responsibility">2.1.2</a></td><td><a href="#component2">5.2</a></td><td style="text-align: left;">about agents and concepts ascribing responsibility to them</td></tr>
<tr><td>3</td><td style="text-align: left;">Derivation</td><td>✔</td><td><a href="#section-derivation">2.1.3</a></td><td><a href="#component3">5.3</a></td><td style="text-align: left;">about derivations and its subtypes</td></tr>
<tr><td>4</td><td style="text-align: left;">Alternate</td><td></td><td>—</td><td><a href="#component4">5.4</a></td><td style="text-align: left;">about relations linking entities referring the same thing</td></tr>
@@ -858,13 +874,13 @@
<li>
PROV-N <em>optional arguments</em> need not be specified:
-the general rule for optional arguments is that, if none of them are used in the expression, then they are simply omitted, resulting in a simpler expression. However, it may be the case that only some of the optional arguments need to be specified. Because the position of the arguments in the expression matters, in this case an additional marker must be used to indicate that a particular term is not available. The syntactic marker '<span class="name">-</span>' is used for this purpose.
+the general rule for optional arguments is that, if none of them are used in the expression, then they are simply omitted, resulting in a simpler expression. However, it may be the case that only some of the optional arguments need to be specified. Because the position of the arguments in the expression matters, in this case, an additional marker must be used to indicate that a particular term is not available. The syntactic marker '<span class="name">-</span>' is used for this purpose.
</li>
<li>Most expressions
include an identifier
and a set of attribute-value pairs; both are optional unless otherwise specified. By convention, the identifier occurs in the <em>first position</em>, and the set of attribute-value pairs in the <em>last position</em>.
-Consistent with the convention on arguments, the marker <span class="name">-</span> can be used when the identifier is not available, or can be omitted altogether with no ambiguity arising.
+Consistent with the convention on arguments, the marker '<span class="name">-</span>' can be used when the identifier is not available, or can be omitted altogether with no ambiguity arising. To further disambiguate expressions that contains an optional identifier, the optional identifier or marker must be followed by '<span class="name">;</span>'.
</li>
</ul>
@@ -884,7 +900,7 @@
used(a1,e1)
wasGeneratedBy(e2,a1)
</pre>
-The same description, but with an explicit identifier <span class="name">u1</span> for the usage, and the syntactic marker <span class="name">-</span> to mark the absence of identifier in the generation.
+The same descriptions, but with an explicit identifier <span class="name">u1</span> for the usage, and the syntactic marker '<span class="name">-</span>' to mark the absence of identifier in the generation. Both are followed by '<span class="name">;</span>'.
<pre class="codeexample" >
used(u1;a1,e1)
wasGeneratedBy(-;e2,a1)
@@ -1188,6 +1204,7 @@
<table class="thinborder" style="margin-left: auto; margin-right: auto;">
<caption id="prov-dm-types-and-relations">Table 4: PROV-DM Types and Relations</caption>
<tr><td><a><b>Type or Relation Name</b></a></td><td><b>Representation in the PROV-N notation</b></td><td><b>Component</b></td></tr>
+<tr><td style="border-width: 0px; "></tr>
<tr class="component1-color"><td class="essential"><a>Entity</a></td><td><a title="dfn-Entity" class="essential">entity(id, [ attr1=val1, ...])</a></td><td rowspan="8"><a href="#component1">Component 1: entities/activities</a></td></tr>
<tr class="component1-color"><td class="essential"><a>Activity</a></td><td><a title="dfn-Activity" class="essential">activity(id, st, et, [ attr1=val1, ...])</a></td></tr>
<tr class="component1-color"><td class="essential"><a>Generation</a></td><td><a title="wasGeneratedBy"><span class="essential">wasGeneratedBy(</span>id;<span class="essential">e,a</span>,t,attrs<span class="essential">)</span></a></td></tr>
@@ -1196,7 +1213,8 @@
<tr class="component1-color"><td><a>End</a></td><td><a title="wasEndedBy">wasEndedBy(id;a2,e,a1,t,attrs)</a></td></tr>
<tr class="component1-color"><td><a>Invalidation</a></td><td><a title="wasInvalidatedBy">wasInvalidatedBy(id;e,a,t,attrs)</a></td></tr>
<tr class="component1-color"><td><a>Communication</a></td><td><a title="wasInformedBy">wasInformedBy(id;a2,a1,attrs)</a></td></tr>
-<tr class="component2-color"><td class="essential"><a>Agent</a></td><td><a title="dfn-agent" class="essential">agent(id, [ attr1=val1, ...])</a></td><td rowspan="8"><a href="#component2">Component 2: agents/responsibility</a></td></tr>
+<tr><td style="border-width: 0px; "></tr>
+<tr class="component2-color" style="border-collapse: collapse; "><td class="essential"><a>Agent</a></td><td><a title="dfn-agent" class="essential">agent(id, [ attr1=val1, ...])</a></td><td rowspan="8"><a href="#component2">Component 2: agents/responsibility</a></td></tr>
<tr class="component2-color"><td class="essential"><a>Attribution</a></td><td><a title="wasAttributedTo"><span class="essential">wasAttributedTo(</span>id;<span class="essential">e,ag</span>,attr<span class="essential">)</span></a></td></tr>
<tr class="component2-color"><td class="essential"><a>Association</a></td><td><a title="wasAssociatedWith"><span class="essential">wasAssociatedWith(</span>id;<span class="essential">a,ag</span>,pl,attrs<span class="essential">)</span></a></td></tr>
<tr class="component2-color"><td class="essential"><a>Responsibility</a></td><td><a title="actedOnBehalfOf"><span class="essential">actedOnBehalfOf(</span>id;<span class="essential">ag2,ag1</span>,a,attrs<span class="essential">)</span></a></td></tr>
@@ -1204,22 +1222,26 @@
<tr class="component2-color"><td class="provType"><a>Person</a></td><td><a title="person">... prov:type='prov:Person' ...</a></td>
<tr class="component2-color"><td class="provType"><a>Organization</a></td><td><a title="organization">... prov:type='prov:Organization' ...</a></td>
<tr class="component2-color"><td class="provType"><a title="software-agent">SoftwareAgent</a></td><td><a title="software-agent">... prov:type='prov:SoftwareAgent' ...</a></td>
+<tr><td style="border-width: 0px; "></tr>
<tr class="component3-color"><td class="essential"><a>Derivation</a></td><td><a title="wasDerivedFrom"><span class="essential">wasDerivedFrom(</span>id; <span class="essential">e2, e1</span>, a, g2, u1, attrs<span class="essential">)</span></a></td><td rowspan="5"><a href="#component3">Component 3: derivation</a></td></tr>
<tr class="component3-color"><td class="provType"><a>Revision</a></td><td><a title="revision">... prov:type='prov:WasRevisionOf' ...</a></td></tr>
<tr class="component3-color"><td class="provType"><a>Quotation</a></td><td><a title="quotation">... prov:type='prov:WasQuotedFrom' ...</a></a></td></tr>
<tr class="component3-color"><td class="provType"><a>Original Source</a></td><td><a title="Original Source">... prov:type='prov:HadOriginalSource' ...</a></td></tr>
<tr class="component3-color"><td><a>Trace</a></td><td><a title="tracedTo">tracedTo(id;e2,e1,attrs)</a></td></tr>
+<tr><td style="border-width: 0px; "></tr>
<tr class="component4-color"><td><a>Alternate</a></td><td><a title="alternateOf">alternateOf(alt1, alt2)</a></td><td rowspan="2"><a href="#component4">Component 4: alternate</a></td></tr>
<tr class="component4-color"><td><a>Specialization</a></td><td><a title="specializationOf">specializationOf(sub, super)</a></td></tr>
-<tr class="component6-color"><td><a title="bundle">Bundle constructor</a></td><td><a title="dfn-bundle">bundle id description_1 ... description_n endBundle</a></td><td rowspan="3"><a href="#component5">Component 5: bundles</a></td></tr>
-<tr class="component6-color"><td class="provType"><a title="bundle">Bundle description</a></td><td><a>... prov:type='prov:Bundle' ...</a></td></tr>
-<tr class="component6-color"><td><a>Provenance Locator</a></td><td><a title="hasProvenanceIn">hasProvenanceIn(id, subject, bundle, target, service, prov, attrs)</a></td></tr>
-<tr class="component5-color"><td class="provType"><a>Collection</a></td><td><a title="collection">... prov:type='prov:Collection' ...</a></td><td rowspan="6"><a href="#component6">Component 6: Collections</a></td></tr>
-<tr class="component5-color"><td class="provType"><a>Dictionary</a></td><td><a title="dictionary">... prov:type='prov:Dictionary' ...</a></td></tr>
-<tr class="component5-color"><td class="provType"><a title="empty collection">EmptyCollection</a></td><td><a title="empty collection">... prov:type='prov:EmptyCollection' ...</a></td></tr>
-<tr class="component5-color"><td><a>Insertion</a></td><td><a title="derivedByInsertionFrom">derivedByInsertionFrom(id; c2, c1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</a></td></tr>
-<tr class="component5-color"><td><a>Removal</a></td><td><a title="derivedByRemovalFrom">derivedByRemovalFrom(id; c2, c1, {key_1, ... key_n}, attrs)</a></td></tr>
-<tr class="component5-color"><td><a>Membership</a></td><td><a title="memberOf">memberOf(c, {(key_1, e_1), ..., (key_n, e_n)})</a></td></tr>
+<tr><td style="border-width: 0px; "></tr>
+<tr class="component5-color"><td><a title="bundle">Bundle constructor</a></td><td><a title="dfn-bundle">bundle id description_1 ... description_n endBundle</a></td><td rowspan="3"><a href="#component5">Component 5: bundles</a></td></tr>
+<tr class="component5-color"><td class="provType"><a title="bundle">Bundle description</a></td><td><a>... prov:type='prov:Bundle' ...</a></td></tr>
+<tr class="component5-color"><td><a>Provenance Locator</a></td><td><a title="hasProvenanceIn">hasProvenanceIn(id, subject, bundle, target, service, prov, attrs)</a></td></tr>
+<tr><td style="border-width: 0px; "></tr>
+<tr class="component6-color"><td class="provType"><a>Collection</a></td><td><a title="collection">... prov:type='prov:Collection' ...</a></td><td rowspan="6"><a href="#component6">Component 6: Collections</a></td></tr>
+<tr class="component6-color"><td class="provType"><a>Dictionary</a></td><td><a title="dictionary">... prov:type='prov:Dictionary' ...</a></td></tr>
+<tr class="component6-color"><td class="provType"><a title="empty collection">EmptyCollection</a></td><td><a title="empty collection">... prov:type='prov:EmptyCollection' ...</a></td></tr>
+<tr class="component6-color"><td><a>Insertion</a></td><td><a title="derivedByInsertionFrom">derivedByInsertionFrom(id; c2, c1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</a></td></tr>
+<tr class="component6-color"><td><a>Removal</a></td><td><a title="derivedByRemovalFrom">derivedByRemovalFrom(id; c2, c1, {key_1, ... key_n}, attrs)</a></td></tr>
+<tr class="component6-color"><td><a>Membership</a></td><td><a title="memberOf">memberOf(c, {(key_1, e_1), ..., (key_n, e_n)})</a></td></tr>
</table>
</div>