--- a/model/diff.html Fri May 25 10:48:04 2012 +0100
+++ b/model/diff.html Fri May 25 10:51:50 2012 +0100
@@ -515,15 +515,18 @@
/* other */
pre.sh_sourceCode .sh_section { color: black; font-weight: bold; }
pre.sh_sourceCode .sh_paren { color: red; }
-pre.sh_sourceCode .sh_attribute { color: #006400; }<span class="delete">
-
-
+pre.sh_sourceCode .sh_attribute { color: #006400; }
+
+
+
+
+</style><style type="text/css">
/* --- EDITORIAL NOTES --- */
.component1-color {
background-color: rgba(255,42,42,0.2);
-}</span>
-
-<span class="delete">.component2-color {
+}
+
+.component2-color {
background-color: rgba(0,68,170,0.2);
}
@@ -534,11 +537,11 @@
background-color: rgba(204,255,0,0.2);
}
-.component5-color {
+<span class="delete">.component5-color</span><span class="insert">.component6-color</span> {
background-color: rgba(11,40,40,0.2);
}
-.component6-color {
+<span class="delete">.component6-color</span><span class="insert">.component5-color</span> {
background-color: rgba(244,105,14,0.2);
}
@@ -805,8 +808,15 @@
padding: 3px 1em;
}
+<span class="delete">.anexample:before</span><span class="insert">.anexample[count]::before</span> {
+ content: <span class="insert">"Example " attr(count) ;
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+
.anexample:before {
- content: "Example:";
+ content: </span>"Example:";
font-family: sans-serif;
font-size: 1.6ex;
font-weight: bold;
@@ -821,7 +831,7 @@
border: 1px dashed #2f6fab;
background-color: #f9f9f9;
}
-.anexample table {
+.anexample table {<span class="delete">
background-color: #f9f9f9;
}
@@ -838,7 +848,7 @@
padding-right: 1ex;
padding-top: 1ex;
padding-bottom: 0.6ex;
- border: 1px dashed #2f6fab;
+ border: 1px dashed #2f6fab;</span>
background-color: #f9f9f9;
}
@@ -915,6 +925,8 @@
font-family: monospace;
content: ")";
}
+
+
div[class="grammar"] span[class="group"]:before {
font-weight: normal;
font-size:130%;
@@ -943,8 +955,17 @@
content: "Structural constraint: ";
font-weight: bold;
}
-</span></style><link href="./extra-dm.css" rel="stylesheet" type="text/css" charset="utf-8"><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css" charset="utf-8"></head>
- <body style="display: inherit; "><div class="head"><p><a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a></p><h1 class="title" id="title">PROV-DM: The PROV Data Model</h1><h2 id="subtitle"><span class="insert">working towards WD6 (</span><a href="diff.html"><span class="insert">Diffs since last release</span></a><span class="insert">)</span></h2><h2 id="w3c-editor-s-draft-24-may-2012"><acronym title="World Wide Web Consortium">W3C</acronym> <span class="delete">Working</span><span class="insert">Editor's</span> Draft <span class="delete">03</span><span class="insert">24</span> May 2012</h2><dl><dt>This version:</dt><dd><span class="delete">http://www.w3.org/TR/2012/WD-prov-dm-20120503/</span><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html"><span class="insert">http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html</span></a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html">http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html</a></dd><dt>Previous version:</dt><dd><span class="delete">http://www.w3.org/TR/2012/WD-prov-dm-20120202/</span><a href="http://www.w3.org/TR/2012/WD-prov-dm-20120503/"><span class="insert">http://www.w3.org/TR/2012/WD-prov-dm-20120503/</span></a></dd><dt>Editors:</dt><dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd>
+<span class="insert">
+
+.essential {
+ font-weight: bold;
+}
+
+.provType::before {
+}
+
+</span></style><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css" charset="utf-8"></head>
+ <body style="display: inherit; "><div class="head"><p><a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a></p><h1 class="title" id="title">PROV-DM: The PROV Data Model</h1><h2 id="subtitle"><span class="insert">working towards WD6 (</span><a href="diff.html"><span class="insert">Diffs since last release</span></a><span class="insert">)</span></h2><h2 id="w3c-editor-s-draft-25-may-2012"><acronym title="World Wide Web Consortium">W3C</acronym> <span class="delete">Working</span><span class="insert">Editor's</span> Draft <span class="delete">03</span><span class="insert">25</span> May 2012</h2><dl><dt>This version:</dt><dd><span class="delete">http://www.w3.org/TR/2012/WD-prov-dm-20120503/</span><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html"><span class="insert">http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html</span></a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html">http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html</a></dd><dt>Previous version:</dt><dd><span class="delete">http://www.w3.org/TR/2012/WD-prov-dm-20120202/</span><a href="http://www.w3.org/TR/2012/WD-prov-dm-20120503/"><span class="insert">http://www.w3.org/TR/2012/WD-prov-dm-20120503/</span></a></dd><dt>Editors:</dt><dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd>
<dd><a href="http://www.cs.ncl.ac.uk/people/Paolo.Missier">Paolo Missier</a>, Newcastle University</dd>
<dt><span class="delete">Contributors:</span><span class="insert">Authors:</span></dt><dd><a href="http://semanticweb.org/wiki/Khalid_Belhajjame">Khalid Belhajjame</a>, University of Manchester</dd>
<dd><span>Reza B'Far</span>, Oracle Corporation</dd>
@@ -1106,8 +1127,8 @@
</li><li> component 2: agents bearing responsibility for entities that were generated and activities that happened;
</li><li> component 3: derivations of entities from others;
</li><li> component 4: properties to link entities that refer to a same thing;
-</li><li> component 5: <span class="delete">collections forming a logical structure for its members;</span><span class="insert">bundles, a mechanism to support provenance of provenance;</span>
-</li><li> component 6: <span class="delete">a simple annotation mechanism.</span><span class="insert">collections forming a logical structure for its members.</span>
+</li><li> component 5: <span class="delete">collections forming</span><span class="insert">bundles,</span> a <span class="delete">logical structure for its members;</span><span class="insert">mechanism to support provenance of provenance;</span>
+</li><li> component 6: <span class="insert">collections forming </span>a <span class="delete">simple annotation mechanism.</span><span class="insert">logical structure for its members.</span>
</li></ul>
@@ -1123,7 +1144,7 @@
<div id="structure-of-this-document" class="section">
<h3><span class="secno">1.1 </span>Structure of this Document</h3>
-<p><a href="#section-prov-overview">Section 2</a> provides<span class="insert"> an overview of the PROV Data Model,</span> <span class="delete">starting points for the PROV Data Model, listing a</span><span class="insert">distinguishing a core</span> set of types and relations, <span class="delete">which allows users to make initial</span><span class="insert">commonly found in</span> provenance <span class="delete">descriptions.</span><span class="insert">descriptions, from extended structures catering for advanced uses. It also introduces a modular organization of the data model in components. </span></p>
+<p><a href="#section-prov-overview">Section 2</a> provides<span class="insert"> an overview of the PROV Data Model,</span> <span class="delete">starting points for the PROV Data Model, listing</span><span class="insert">distinguishing</span> a<span class="insert"> core</span> set of types and relations, <span class="delete">which allows users to make initial</span><span class="insert">commonly found in</span> provenance <span class="delete">descriptions.</span><span class="insert">descriptions, from extended structures catering for advanced uses. It also introduces a modular organization of the data model in components. </span></p>
<p><a href="#prov-notation"><span class="insert">Section 3</span></a><span class="insert"> overviews the Provenance Notation used to illustrate examples of provenance descriptions.</span></p>
@@ -1189,171 +1210,95 @@
<p>
This section introduces provenance concepts with informal descriptions and illustrative
-examples.<span class="insert"> PROV distinguishes</span> <span class="delete">Since </span><em><span class="insert">core structures</span></em><span class="insert">, forming the essence of provenance descriptions, from </span><em><span class="insert">extended structures</span></em><span class="insert"> catering for more advanced uses of provenance. Core and extended structures are respectively presented in </span><a href="#core-structures"><span class="insert">Section 2.1</span></a><span class="insert"> and </span><a href="#section-extended-structures"><span class="insert">Section 2.2</span></a><span class="insert">. Furthermore, the PROV data model is organized according to components, which form thematic groupings of concepts (see </span><a href="#section-overview-components"><span class="insert">Section 2.3</span></a><span class="insert">).
-</span></p>
-
-
-<div id="core-structures" class="section">
-<h3><span class="secno"><span class="insert">2.1 </span></span><span class="insert">PROV Core Structures</span></h3>
-
-<p><span class="insert">The core of PROV consists of essential provenance structures commonly found in provenance descriptions.
-It is summarized graphically by
-the UML diagram of </span><a href="#prov-core-structures"><span class="insert">Figure 1</span></a><span class="insert">,
-illustrating three types (entity, activity, and agent) and how they relate to each other. In the core of PROV, all associations are binary. </span></p>
-
-
-<div style="text-align: center; ">
- <figure style="max-width: 70%; ">
-
-<img src="uml/essentials.png" alt="PROV Core Structures" style="max-width: 70%; ">
-<figcaption id="prov-core-structures"><span class="insert">Figure 1: PROV Core Structures</span></figcaption>
- </figure>
-</div>
-
-<p><span class="insert">The concepts found in the core of PROV are introduced in the rest of this section.
-They are summarized in </span><a href="#overview-types-and-relations"><span class="insert">Table 2</span></a><span class="insert">, 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.
-</span></p>
-
-
-
-
-
-
-<div style="text-align: left;">
-<table class="thinborder" style="margin-left: auto; margin-right: auto;">
-<caption id="overview-types-and-relations"><span class="insert">Table 2: Mapping of PROV core concepts to types and relations</span></caption>
-<tbody><tr><td><a><b><span class="insert">PROV Concepts</span></b></a></td><td><b>PROV-DM <span class="delete">is a conceptual data
-model, Section 2.5 maps the concepts to various </span>types <span class="delete">and relations,
+examples.<span class="insert"> PROV distinguishes</span> <span class="delete">Since PROV-DM</span><em><span class="insert">core structures</span></em><span class="insert">, forming the essence of provenance descriptions, from </span><em><span class="insert">extended structures</span></em><span class="insert"> catering for more advanced uses of provenance. Core and extended structures are respectively presented in </span><a href="#core-structures"><span class="insert">Section 2.1</span></a><span class="insert"> and </span><a href="#section-extended-structures"><span class="insert">Section 2.2</span></a><span class="insert">. Furthermore, the PROV data model</span> is <span class="delete">a conceptual data
+model, </span><span class="insert">organized according to components, which form thematic groupings of concepts (see </span><a href="#section-overview-components">Section <span class="delete">2.5 maps the concepts to various types and relations,
which are illustrated graphically in
a simplified UML diagram in </span><span class="delete">Figure 1</span><span class="delete">. Section 2.6
-then summarizes the PROV notation allowing instances of </span><span class="insert">or relations</span></b></td><td><b><span class="insert">Name</span></b></td><td><b><span class="insert">Overview</span></b></td></tr>
-<tr>
-<td><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a></td><td rowspan="3" style="text-align: center;">PROV-DM <span class="delete">to be
-written down.
-</span>
-
-<span class="insert">Types</span></td><td><a title="dfn-Entity" href="#dfn-entity" class="internalDFN"><span class="insert">entity</span></a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
-<tr><td><a href="#concept-activity" class="internalDFN"><span class="insert">Activity</span></a></td><td><a title="dfn-Activity" href="#dfn-activity" class="internalDFN"><span class="insert">activity</span></a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
-<tr><td><a href="#concept-agent" class="internalDFN"><span class="insert">Agent</span></a></td><td><a title="dfn-agent" href="#dfn-agent" class="internalDFN"><span class="insert">agent</span></a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
-<tr>
-<td><a href="#concept-generation" class="internalDFN"><span class="insert">Generation</span></a></td><td rowspan="7" style="text-align: center;"><span class="insert">PROV-DM Relations</span></td><td><a title="wasGeneratedBy" href="#dfn-wasgeneratedby" class="internalDFN"><span class="insert">wasGeneratedBy</span></a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
-<tr><td><a href="#concept-usage" class="internalDFN"><span class="insert">Usage</span></a></td><td><a title="used" href="#dfn-used" class="internalDFN"><span class="insert">used</span></a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
-<tr><td><a href="#concept-communication" class="internalDFN"><span class="insert">Communication</span></a></td><td><a title="wasInformedBy" href="#dfn-wasinformedby" class="internalDFN"><span class="insert">wasInformedBy</span></a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
-<tr><td><a href="#concept-attribution" class="internalDFN"><span class="insert">Attribution</span></a></td><td><a title="wasAttributedTo" href="#dfn-wasattributedto" class="internalDFN"><span class="insert">wasAttributedTo</span></a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
-<tr><td><a href="#concept-association-core" class="internalDFN"><span class="insert">Association</span></a></td><td><a title="wasAssociatedWith" href="#dfn-wasassociatedwith" class="internalDFN"><span class="insert">wasAssociatedWith</span></a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
-<tr><td><a href="#concept-responsibility" class="internalDFN"><span class="insert">Responsibility</span></a></td><td><a title="actedOnBehalfOf" href="#dfn-actedonbehalfof" class="internalDFN"><span class="insert">actedOnBehalfOf</span></a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
-<tr><td><a href="#concept-derivation" class="internalDFN"><span class="insert">Derivation</span></a></td><td><a title="wasDerivedFrom" href="#dfn-wasderivedfrom" class="internalDFN"><span class="insert">wasDerivedFrom</span></a></td><td style="text-align: center;"><a href="#section-derivation"><span class="insert">2.1.3</span></a></td></tr>
-</tbody></table>
-</div>
-
-
-
-
-
-
-
-
-
-
-<form action="#"><p>
-<input id="hide-examples" onclick="set_display_by_class('div','conceptexample','none'); set_display_by_id('hide-examples','none'); set_display_by_id('show-examples','');" type="button" value="Hide Concept Examples">
-<input id="show-examples" onclick="set_display_by_class('div','conceptexample',''); set_display_by_id('hide-examples',''); set_display_by_id('show-examples','none');" style="display: none" type="button" value="Show Concept Examples">
-</p>
-</form>
+then summarizes the PROV notation allowing instances of PROV-DM to be
+written down.</span><span class="insert">2.3</span></a><span class="insert">).</span>
+</p>
+
+
+
+
+
+
- <div id="section-entity-activity" class="section">
-<h4><span class="secno"><span class="delete">2.1</span><span class="insert">2.1.1</span> </span>Entity and Activity</h4>
-
-
-<p><span class="delete">Things</span><span class="insert">In PROV, things</span> we want to describe the provenance of are called <em>entities</em> <span class="delete">in PROV.</span><span class="insert">and have some fixed aspect.</span> The term "things" encompasses a broad diversity of notions, including digital objects such as a file or web page,
-physical things such as a <span class="delete">building</span><span class="insert">mountain, a building, a printed book,</span> or a <span class="delete">printed book, or a </span>car as well as abstract concepts and ideas.
-</p>
-
-<p>
-</p><div class="glossary-ref">
- An <span class="dfn">entity</span> is a physical, digital, conceptual, or other kind of <span class="delete">thing;</span><span class="insert">thing with some fixed aspects;</span> entities may be real or imaginary. </div>
-
-
-
-<div class="conceptexample" id="entity-example">
-<p>An entity may be the document at URI <a href="http://www.bbc.co.uk/news/science-environment-17526723">http://www.bbc.co.uk/news/science-environment-17526723</a>, a file in a file system, a car, or an idea.</p>
-</div>
-
-
-
-<p>
-<span class="glossary-ref"> An <span class="dfn">activity</span> is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, generating, or being associated with entities. </span> Activities that operate on digital entities may for example move, copy, or duplicate them.
-</p>
-
-
-
-<div class="conceptexample" id="activity-example">
-<p>An activity may be the publishing of a document on the Web, sending a twitter message, extracting metadata embedded in a file, driving a car from Boston to Cambridge, assembling a data set based on a set of measurements, performing a statistical analysis over a data set, sorting news items according to some criteria, running a SPARQL query over a triple store, or editing a file.</p>
-</div>
+
+
+
+<div id="core-structures" class="section">
+<h3><span class="secno">2.1 </span><span class="delete">Entity and Activity</span>
+
+
+<span class="delete">Things we want to describe the provenance of are called </span><span class="delete">entities</span><span class="delete"> in PROV. The term "things" encompasses a broad diversity of notions, including digital objects such as a file or web page,
+physical things such as a building or a printed book, or a car as well as abstract concepts and ideas. </span>
+
+
+<span class="delete">
+ An </span><span class="delete">entity</span><span class="delete"> is a physical, digital, conceptual, or other kind of thing; entities may be real or imaginary. </span>
+
+
+
+
+<span class="delete">An entity may be the document at URI </span><span class="delete">http://www.bbc.co.uk/news/science-environment-17526723</span><span class="delete">, a file in a file system, a car, or an idea.</span>
+
+
+
+
+
+<span class="delete"> An </span><span class="delete">activity</span><span class="delete"> is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, generating, or being associated with entities. </span><span class="delete"> Activities that operate on digital entities may for example move, copy, or duplicate them.
+</span>
+
+
+
+
+<span class="delete">An activity may be the publishing of a document on the Web, sending a twitter message, extracting metadata embedded in a file, driving a car from Boston to Cambridge, assembling a data set based on a set of measurements, performing a statistical analysis over a data set, sorting news items according to some criteria, running a SPARQL query over a triple store, or editing a file.</span>
+
<span class="delete">2.2 </span><span class="delete">Generation, Usage, Derivation</span>
-<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 <span class="delete">notions</span><span class="insert">concepts</span> of generation and usage. </p>
-
-<p>
-</p><div class="glossary-ref">
- <span class="dfn">Generation</span> is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. </div>
-
-
-<p>
-</p><div class="glossary-ref">
- <span class="dfn">Usage</span> is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. </div>
-
-
-
-
-<div class="conceptexample" id="generation-example">
-<p>Examples of generation are the completed creation of a file by a
+<span class="delete">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. </span>
+
+
+
+ <span class="delete">Generation</span><span class="delete"> is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. </span>
+
+
+
+
+ <span class="delete">Usage</span><span class="delete"> is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. </span>
+
+
+
+
+
+<span class="delete">Examples of generation are the completed creation of a file by a
program, the completed creation of a linked data set, and the completed
publication of a new version of a document.
-</p></div>
-
-
-
-<div class="conceptexample" id="usage-example">
-<p>Usage examples include a procedure beginning to consume an argument, a service starting to read a value on a port, a program beginning to read a configuration
+</span>
+
+
+
+
+<span class="delete">Usage examples include a procedure beginning to consume an argument, a service starting to read a value on a port, a program beginning to read a configuration
file, or the point at which an ingredient, such as eggs, is being added in a baking activity. Usage may entirely consume an entity (e.g. eggs are no longer available after being added to
the mix); in contrast, the same entity may be used multiple times, possibly by different activities (e.g. a file on a file system can be read indefinitely).
-</p></div>
-
-<p>
-</p><div class="glossary-ref">
- <span class="dfn"><span class="insert">Communication</span></span><span class="insert"> is the exchange of an entity by two activities, one activity using the entity generated by the other. </span></div>
-
-
-
-
-<div class="conceptexample" id="communication-example">
-<p><span class="insert">An example of commication is ...
-</span></p></div>
-
-
-
-</div>
-
-
-<div id="section-agents-attribution-association-delegation" class="section">
-<h4><span class="secno"><span class="insert">2.1.2 </span></span><span class="insert">Agents and Responsibility</span></h4>
-
-<p><span class="delete">Activities utilize</span><span class="insert">The motivation for introducing agents in the model is to express the agent's responsibility for activities that happened and</span> entities <span class="delete">and producer entities. In some cases, utilizing an entity influences the creation of another in some way. This notion is captured by derivations, defined as follows.</span><span class="insert">that were generated. </span></p>
-
-<p>
-<span class="glossary-ref"><span class="delete"> A </span><span class="delete">derivation</span><span class="delete"> is a transformation of an entity into another, a construction of an entity into another, or an update of an entity, resulting in a new one.</span>
+</span>
+
+
+<span class="delete">Activities utilize entities and producer entities. In some cases, utilizing an entity influences the creation of another in some way. This notion is captured by derivations, defined as follows.</span>
+
+
+<span class="delete"> A </span><span class="delete">derivation</span><span class="delete"> is a transformation of an entity into another, a construction of an entity into another, or an update of an entity, resulting in a new one.</span>
@@ -1365,27 +1310,35 @@
-<span class="delete">2.3 </span><span class="delete">Agents, Attribution, Association, and Responsibility</span>
-
-<span class="delete">The motivation for introducing agents in the model is to express the agent's responsibility for activities that happened and entities that were generated. </span>
-
-
-
- An <span class="dfn">agent</span> is something that bears some form of responsibility for an activity taking place or for the existence of an entity. </span> An agent <em class="rfc2119" title="may">may</em> be a particular type of <span class="delete">entity.</span><span class="insert">entity or activity.</span> This means that the model can be
+<span class="delete">2.3 </span><span class="delete">Agents, Attribution, Association, and Responsibility</span><span class="insert">PROV Core Structures</span></h3>
+
+<p>The <span class="delete">motivation for introducing</span><span class="insert">core of PROV consists of essential provenance structures commonly found in provenance descriptions.
+It is summarized graphically by
+the UML diagram of </span><a href="#prov-core-structures-top"><span class="insert">Figure 1</span></a><span class="insert">,
+illustrating</span> <span class="delete">agents in the model is</span><span class="insert">three types (entity, activity, and agent) and how they relate</span> to <span class="delete">express the agent's responsibility for activities that happened and entities that were generated.</span><span class="insert">each other. In the core of PROV, all associations are binary.</span> </p>
+
+
+<div style="text-align: center; ">
+ <figure style="max-width: 70%; " id="prov-core-structures-top">
+
+
+<span class="delete">
+ An </span><span class="delete">agent</span><span class="delete"> is something that bears some form of responsibility for an activity taking place or for the existence of an entity. </span><span class="delete"> An agent </span><span class="delete">may</span><span class="delete"> be a particular type of entity. This means that the model can be
used to express provenance of the agents themselves.
-</p>
-
-
-
-
-
-
-<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 <span class="delete">activity, and at the same time </span><span class="insert">activity; </span>one can<span class="insert"> also</span> describe its provenance, including for instance the vendor and the version history.
+</span>
+
+
+
+
+
+
+
+<span class="delete">
+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.
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>
+</span>
+<img src="uml/essentials.png" alt="PROV Core Structures" style="max-width: 70%; ">
+<div class="figcaption" id="prov-core-structures"><span class="insert">Figure 1: PROV Core Structures</span></div>
<span class="delete">Agents may adopt sets of actions or steps to achieve their goals. This is captured by the notion of plan. </span>
@@ -1412,38 +1365,288 @@
-
-
-
-
-
-<p>Agents can be related to entities, activities, and other agents.</p>
-
-<div class="glossary-ref"> <span class="dfn">Attribution</span> is the ascribing of an entity to an agent. </div>
-
-<div class="conceptexample" id="attribution-example">
-<p>A blog post can be attributed to an author, a mobile phone to its manufacturer.</p>
+<span class="delete">Agents can be related to entities, activities, and other agents.</span>
+
+ <span class="delete">Attribution</span><span class="delete"> is the ascribing of an entity to an agent. </span>
+
+
+<span class="delete">A blog post can be attributed to an author, a mobile phone to its manufacturer.</span>
+ </figure>
</div>
+<p><span class="delete">
+Agents</span><span class="insert">The concepts found in the core of PROV</span> are <span class="delete">defined as having some kind of responsibility for activities. In some
+cases, those activities reflect the execution of a plan that was
+designed</span><span class="insert">introduced</span> in <span class="delete">advance to guide the execution. Thus,
+a plan may also be linked to an activity. </span>
+
+
+
+
+
+<span class="delete"> An activity </span><span class="delete">association</span><span class="delete"> is an assignment of responsibility to an agent for an activity, indicating that the agent had a role</span><span class="insert">the rest of this section.
+They are summarized</span> in<span class="delete"> the activity. It further allows for a plan to be specified, which is the plan intended by the agent to achieve some goals in the context of this activity. </span>
+
+
+
+<span class="delete">Examples of association between an activity and an agent are:
+</span>
+<span class="delete">creation of a web page under the guidance of a designer;</span>
+<span class="delete">various forms of participation in a panel discussion, including audience member, panelist, or panel chair;</span>
+<span class="delete">a public event, sponsored by a company, and hosted by a museum;</span>
+<span class="delete">an XSLT transform launched by a user based on an XSL style sheet (a plan).</span>
+
+
+
+
+
+ <span class="delete">Responsibility</span><span class="delete"> is the fact that an agent is accountable for the actions of a "subordinate" agent, in the context of an activity. </span><span class="delete"> The nature of this relation is intended to be broad, including delegation or contractual relation. </span>
+
+
+
+
+
+
+
+
+<span class="delete">A student publishing a web page describing an academic
+department could result in both the student and the department being
+agents associated with the activity, and it may not matter which
+student published a web page but it matters a lot that the department
+told the student to put up the web page.
+</span>
+
+
+
+
+<span class="delete">2.4 </span><span class="delete">Further Entities: Collections and Accounts</span>
+
+<span class="delete">There are two further types of entities, collections and accounts, which are now introduced. </span>
+
+
+<span class="delete"> A </span><span class="delete">collection</span><span class="delete"> is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be </span><span class="delete">member of</span><span class="delete"> the collections. </span><span class="delete"> This concept allows for the provenance of the collection itself to be expressed in addition to that of the members. Many different types of collections exist, such as a </span><span class="delete">set</span><span class="delete">, </span><span class="delete">dictionaries</span><span class="delete">, or </span><span class="delete">lists</span><span class="delete">, all of which involve a membership relationship between the constituents and the collection. </span>
+
+
+<span class="delete">
+An example of collection is an archive of documents. Each document has its own provenance, but the archive itself also has some provenance: who maintained it, which documents it contained at which point in time, how it was assembled, etc.
+</span>
+
+
+
+
+<span class="delete">
+ An </span><span class="delete">account</span><span class="delete"> is an entity that contains a bundle of provenance descriptions. </span><span class="delete">Making an account an entity allows for provenance of provenance to be expressed.
+
+</span>
+<span class="delete">
+For users to decide whether they can place their trust in
+a resource, they may want to analyze the resource's provenance, but also determine
+who its provenance is attributed to, and when it was
+generated. In other words, users need to be able to determine the provenance of provenance.
+Hence, provenance is also
+regarded as an entity (of type Account), by which provenance of provenance can then be
+expressed.
+</span>
+
+
+
+
+
+
+
+
+<span class="delete">2.5 </span><span class="delete">Simplified Overview Diagram</span>
+
+<span class="delete">So far, we have introduced a series of concepts underpinning provenance. PROV-DM is a conceptual data model consisting of types and relations between these.</span> <a href="#overview-types-and-relations">Table 2</a><span class="delete"> shows how provenance concepts can be mapped to types and relations in PROV-DM: the</span><span class="insert">, where they are categorized as
+ type or relation.
+ The</span> first column lists <span class="delete">concepts introduced in this section,</span><span class="insert">concepts,</span> 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>
+
+
+
+
+
+
+
+
+
+<div style="text-align: left;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="overview-types-and-relations">Table 2: Mapping of <span class="delete">Provenance</span><span class="insert">PROV core</span> concepts to types and relations</caption>
+<tbody><tr><td><a><b>PROV Concepts</b></a></td><td><b>PROV-DM types or relations</b></td><td><b>Name</b></td><td><b><span class="insert">Overview</span></b></td></tr>
+<tr>
+<td><a href="#concept-entity" class="internalDFN">Entity</a></td><td rowspan="3" style="text-align: center;">PROV-DM Types</td><td><a title="dfn-Entity" href="#dfn-entity" class="internalDFN">entity</a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
+<tr><td><a href="#concept-activity" class="internalDFN">Activity</a></td><td><a title="dfn-Activity" href="#dfn-activity" class="internalDFN">activity</a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
+<tr><td><a href="#concept-agent" class="internalDFN">Agent</a></td><td><a title="dfn-agent" href="#dfn-agent" class="internalDFN">agent</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
+<tr>
+<td><a href="#concept-generation" class="internalDFN">Generation</a></td><td rowspan="7" style="text-align: center;">PROV-DM Relations</td><td><a title="wasGeneratedBy" href="#dfn-wasgeneratedby" class="internalDFN">wasGeneratedBy</a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
+<tr><td><a href="#concept-usage" class="internalDFN">Usage</a></td><td><a title="used" href="#dfn-used" class="internalDFN">used</a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
+<tr><td><a href="#concept-communication" class="internalDFN"><span class="insert">Communication</span></a></td><td><a title="wasInformedBy" href="#dfn-wasinformedby" class="internalDFN"><span class="insert">wasInformedBy</span></a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
+<tr><td><a href="#concept-attribution" class="internalDFN">Attribution</a></td><td><a title="wasAttributedTo" href="#dfn-wasattributedto" class="internalDFN">wasAttributedTo</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
+<tr><td><a href="#concept-association-core" class="internalDFN">Association</a></td><td><a title="wasAssociatedWith" href="#dfn-wasassociatedwith" class="internalDFN">wasAssociatedWith</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
+<tr><td><a href="#concept-responsibility" class="internalDFN">Responsibility</a></td><td><a title="actedOnBehalfOf" href="#dfn-actedonbehalfof" class="internalDFN">actedOnBehalfOf</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
+<tr><td><a href="#concept-derivation" class="internalDFN">Derivation</a></td><td><a title="wasDerivedFrom" href="#dfn-wasderivedfrom" class="internalDFN">wasDerivedFrom</a></td><td style="text-align: center;"><a href="#section-derivation"><span class="insert">2.1.3</span></a></td></tr>
+</tbody></table>
+</div>
+
+
+
+
+
+
+
+
+
+
+<form action="#"><p>
+<input id="hide-examples" onclick="set_display_by_class('div','anexample conceptexample','none'); set_display_by_id('hide-examples','none'); set_display_by_id('show-examples','');" type="button" value="Hide Concept Examples">
+<input id="show-examples" onclick="set_display_by_class('div','anexample conceptexample',''); set_display_by_id('hide-examples',''); set_display_by_id('show-examples','none');" style="display: none" type="button" value="Show Concept Examples">
+</p>
+</form>
+
+
+
+
+
+ <div id="section-entity-activity" class="section">
+<h4><span class="secno"><span class="insert">2.1.1 </span></span><span class="insert">Entity and Activity</span></h4>
+
+
+<p><span class="insert">In PROV, things we want to describe the provenance of are called </span><em><span class="insert">entities</span></em><span class="insert"> and have some fixed aspect. The term "things" encompasses a broad diversity of notions, including digital objects such as a file or web page,
+physical things such as a mountain, a building, a printed book, or a car as well as abstract concepts and ideas.
+</span></p>
+
<p>
-Agents are defined as having some kind of responsibility for activities. <span class="delete">In some
-cases, those activities reflect the execution of a plan that was
-designed in advance to guide the execution. Thus,
-a plan may also be linked to an activity. </span></p>
+</p><div class="glossary-ref"><span class="insert">
+ An </span><span class="dfn"><span class="insert">entity</span></span><span class="insert"> is a physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary. </span></div>
+
+
+
+<div class="anexample conceptexample" id="entity-example" count="1"><span class="insert">
+Z
+</span><p><span class="insert">An entity may be the document at URI </span><a href="http://www.bbc.co.uk/news/science-environment-17526723"><span class="insert">http://www.bbc.co.uk/news/science-environment-17526723</span></a><span class="insert">, a file in a file system, a car, or an idea.</span></p>
+</div>
+
+
+
+<p>
+<span class="glossary-ref"><span class="insert"> An </span><span class="dfn"><span class="insert">activity</span></span><span class="insert"> is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, generating, or being associated with entities. </span></span><span class="insert"> Activities that operate on digital entities may for example move, copy, or duplicate them.
+</span></p>
+
+
+
+<div class="anexample conceptexample" id="activity-example" count="2">
+<p><span class="insert">An activity may be the publishing of a document on the Web, sending a twitter message, extracting metadata embedded in a file, driving a car from Boston to Cambridge, assembling a data set based on a set of measurements, performing a statistical analysis over a data set, sorting news items according to some criteria, running a SPARQL query over a triple store, or editing a file.</span></p>
+</div>
+
+<p><span class="delete">Figure 1</span><span class="delete"> illustrates the three types (entity, activity,</span><span class="insert">Activities</span> and <span class="delete">agent)</span><span class="insert">entities are associated with each other in two different ways: activities utilize entities</span> and <span class="delete">how they relate</span><span class="insert">activities produce entities. The act of utilizing or producing an entity may have a duration.
+ The term 'generation' refers</span> to <span class="delete">each</span><span class="insert">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. </span></p>
+
+<p>
+</p><div class="glossary-ref">
+ <span class="dfn"><span class="insert">Generation</span></span><span class="insert"> is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. </span></div>
+
+
+<p>
+</p><div class="glossary-ref">
+ <span class="dfn"><span class="insert">Usage</span></span><span class="insert"> is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. </span></div>
+
+
+
+
+<div class="anexample conceptexample" id="generation-example" count="3">
+<p><span class="insert">Examples of generation are the completed creation of a file by a
+program, the completed creation of a linked data set, and the completed
+publication of a new version of a document.
+</span></p></div>
+
+
+
+<div class="anexample conceptexample" id="usage-example" count="4">
+<p><span class="insert">Usage examples include a procedure beginning to consume an argument, a service starting to read a value on a port, a program beginning to read a configuration
+file, or the point at which an ingredient, such as eggs, is being added in a baking activity. Usage may entirely consume an entity (e.g. eggs are no longer available after being added to
+the mix); in contrast, the same entity may be used multiple times, possibly by different activities (e.g. a file on a file system can be read indefinitely).
+</span></p></div>
+
+
+<p><span class="insert">The generation of an entity by an activity and its subsequent usage by another activity is termed communication.</span></p>
+
+<p>
+</p><div class="glossary-ref">
+ <span class="dfn"><span class="insert">Communication</span></span><span class="insert"> is the exchange of an entity by two activities, one activity using the entity generated by the</span> other. </div>
+
+
+
+
+
+<div class="anexample conceptexample" id="communication-example" count="5">
+<p><span class="insert">
+The activity of writing a celebrity article was informed by (a
+communication instance) the activity of intercepting voicemails.
+</span></p></div>
+
+
+
+</div>
+
+
+<div id="section-agents-attribution-association-delegation" class="section">
+<h4><span class="secno"><span class="insert">2.1.2 </span></span><span class="insert">Agents and Responsibility</span></h4>
+
+<p><span class="insert">The motivation for introducing</span> <span class="delete">At this stage, all relations</span><span class="insert">agents in the model is to express the agent's responsibility for activities that happened and entities that were generated. </span></p>
+
+<p>
+<span class="glossary-ref"><span class="insert">
+ An </span><span class="dfn"><span class="insert">agent</span></span><span class="insert"> is something that bears some form of responsibility for an activity taking place or for the existence of an entity. </span></span><span class="insert"> An agent </span><em class="rfc2119" title="may"><span class="insert">may</span></em><span class="insert"> be a particular type of entity or activity. This means that the model can be
+ used to express provenance of the agents themselves.
+</span></p>
+
+
+
+
+
+
+<div class="anexample conceptexample" id="agent-example" count="6">
+<p><span class="insert">
+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</span> are <span class="delete">shown</span><span class="insert">also agents.
+</span></p>
+</div>
+
+
+
+
+<p><span class="insert">Agents can be related</span> to <span class="insert">entities, activities, and other agents.</span></p>
+
+<div class="glossary-ref"> <span class="dfn"><span class="insert">Attribution</span></span><span class="insert"> is the ascribing of an entity to an agent. </span></div>
+
+<div class="anexample conceptexample" id="attribution-example" count="7">
+<p><span class="insert">A blog post can </span>be <span class="delete">binary. Definitions of </span><span class="delete">Section 4</span><span class="delete"> reveal that some relations, while involving two primary elements, are n-ary. </span><span class="insert">attributed to an author, a mobile phone to its manufacturer.</span></p>
+
+
+
+
+
+<span class="delete">Figure 1: Simplified Overview of PROV-DM</span>
+
+</div>
+
+<p><span class="delete">Figure 1</span><span class="insert">
+Agents are defined as having some kind of responsibility for activities. </span></p>
<p>
-<span class="glossary-ref"> An activity <span class="dfn">association</span> is an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity.<span class="delete"> It further allows for a plan to be specified, which is the plan intended by the agent to achieve some goals in the context of this activity. </span> </span>
+<span class="glossary-ref"><span class="insert"> An activity </span><span class="dfn"><span class="insert">association</span></span> is <span class="insert">an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity. </span></span>
</p>
-<div class="conceptexample" id="association-example">
-<p>Examples of association between an activity and an agent are:
-</p><ul>
-<li>creation of a web page under the guidance of a designer;</li>
-<li>various forms of participation in a panel discussion, including audience member, panelist, or panel chair;</li>
-<li>a public event, sponsored by a company, and hosted by a museum;</li>
+<div class="anexample conceptexample" id="association-example" count="8">
+<p><span class="insert">Examples of association between an activity and an agent are:
+</span></p><ul>
+<li><span class="insert">creation of a web page under the guidance of a designer;</span></li>
+<li><span class="insert">various forms of participation in a panel discussion, including audience member, panelist, or panel chair;</span></li>
+<li><span class="insert">a public event, sponsored by a company, and hosted by a museum;</span></li>
</ul>
</div>
@@ -1451,17 +1654,17 @@
<p>
<span class="glossary-ref">
- <span class="dfn"><span class="insert">Delegation</span></span><span class="insert"> is the assignment of authority to </span>an <span class="insert">agent (by itself or by another agent) to carry out a specific activity as a delegate or representative, while the agent that it represents remains responsible for the outcome of the delegated work. </span></span><span class="insert"> The nature of this relation is intended to be broad, including contractual relation, but also altruistic initiative by the representative agent. </span></p>
-
-
-
-
-<div class="conceptexample" id="responsibility-example">
+ <span class="dfn"><span class="insert">Delegation</span></span><span class="insert"> is the assignment of authority to an agent (by itself or by another agent) to carry out a specific activity as a delegate or representative, while the agent that it represents remains responsible for the outcome of the delegated work. </span></span><span class="insert"> The nature of this relation is intended to be broad, including contractual relation, but also altruistic initiative by the representative agent. </span></p>
+
+
+
+
+<div class="anexample conceptexample" id="responsibility-example" count="9">
<p><span class="insert">A student publishing a web page describing an academic
department could result in both the student and the department being
-agents associated with the activity. It may not matter which actual
+agents associated with the activity. It may </span>not <span class="delete">intended</span><span class="insert">matter which actual
student published a web page, but it may matter significantly that the department
-told the student to put up the web page.
+told the student</span> to <span class="delete">be complete: it only illustrates</span><span class="insert">put up the web page.
</span></p>
</div>
</div>
@@ -1474,25 +1677,32 @@
<p><span class="insert">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.</span></p>
<p>
-<span class="glossary-ref"><span class="insert"> A </span><span class="dfn"><span class="insert">derivation</span></span><span class="insert"> is a transformation of an entity into another, an update of an entity, resulting in a new one, or based on an entity, the construction of another.</span></span>
-
-
-
-</p><div class="conceptexample" id="derivation-example">
+<span class="glossary-ref"><span class="insert"> A </span><span class="dfn"><span class="insert">derivation</span></span> <span class="delete">types</span><span class="insert">is a transformation of an entity into another, an update of an entity, resulting in a new one, or based on an entity, the construction of another.</span></span>
+
+
+
+</p><div class="anexample conceptexample" id="derivation-example" count="10">
<p><span class="insert">Examples of derivation include the transformation of a relational table into a
-linked data set, the transformation of a canvas into a painting, the transportation of a work of art from London to New York, and a physical transformation such as the melting of ice into water.</span></p>
+linked data set, the transformation of a canvas into a painting, the transportation of a work of art from London to New York,</span> and <span class="delete">relations introduced in this section (</span><span class="delete">Section 2</span><span class="delete">), exploited in the example discussed in </span><span class="delete">Section 3</span><span class="delete">, and explained in detail in </span><span class="delete">Section 4</span><span class="delete">.
+Names of relations depicted in </span><span class="delete">Figure 1</span><span class="delete">
+are listed in
+the third column of </span><span class="delete">Table 2</span><span class="delete">. These names are part of </span>a <span class="delete">textual notation to write instances of the PROV data model, which we introduce in the next section. </span><span class="insert">physical transformation such as the melting of ice into water.</span></p>
+
+
+
</div>
+
</div>
</div>
<div id="section-extended-structures" class="section">
-<h3><span class="secno"><span class="insert">2.2 </span></span><span class="insert">PROV Extended Structures</span></h3>
+<h3><span class="secno"><span class="delete">2.6 </span><span class="delete">PROV-N: </span><span class="insert">2.2 </span></span><span class="insert">PROV Extended Structures</span></h3>
<p><span class="insert">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 kinds of provenance structures are overviewed: they cater for provenance of provenance and collections, respectively.</span></p>
+</span>The <span class="delete">Provenance Notation</span><span class="insert">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.</span></p>
@@ -1527,7 +1737,7 @@
<p><a href="#core-structures"><span class="insert">Section 2.1</span></a><span class="insert"> shows that seven concepts are mapped to binary relations in the core of PROV. However, some advanced uses of these concepts cannot be captured by a binary relation, but require relations to be expanded to n-ary relations.</span></p>
-<p><span class="insert">To illustrate expanded relations, we consider the concept of
+<p>To illustrate <span class="delete">the application of PROV</span><span class="insert">expanded relations, we consider the concept of
association, described
in </span><a href="#section-agents-attribution-association-delegation"><span class="insert">section
2.1.2</span></a><span class="insert">. Agents may adopt sets of actions or steps to achieve their
@@ -1554,22 +1764,20 @@
</p>
-<div class="conceptexample" id="association-example2">
+<div class="anexample conceptexample" id="association-example2" count="11">
<p><span class="insert">An example of association between an activity and an agent involving a plan is:
-an </span>XSLT transform <span class="insert">(an activity) </span>launched by a user <span class="insert">(an agent) </span>based on an XSL style sheet (a plan).
-
-
-
-</p></div>
+an XSLT transform (an activity) launched by a user (an agent) based on an XSL style sheet (a plan).
+
+</span></p></div>
</div>
<div id="section-prov-extended-approach-optional-identification-new-relation" class="section">
<h5><span class="secno"><span class="insert">2.2.1.3 </span></span><span class="insert">Optional Identification and New Relations</span></h5>
-<p><span class="insert">Some concepts exhibit both a core use, expressed as
+<p><span class="insert">Some</span> concepts <span class="insert">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
+some cases, mapping the concept </span>to a <span class="delete">concrete example (see </span><span class="delete">Section 3</span><span class="delete">)</span><span class="insert">relation, whether binary or
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
@@ -1577,7 +1785,7 @@
more elements. This optional identifier can then be used to refer to
an instance as part of other concepts.</span></p>
-<div class="conceptexample" id="identifier-example">
+<div class="anexample conceptexample" id="identifier-example" count="12">
<p><span class="insert">A service may read a same configuration file on two different occasions. Each usage can be identifed by its own identifier, allowing them to be distinguished.
</span></p></div>
@@ -1601,149 +1809,31 @@
<p>
-<span class="glossary-ref">
- <span class="insert">
- A </span><span class="dfn"><span class="delete">Responsibility</span><span class="insert">bundle</span></span> is <span class="delete">the fact that</span><span class="insert">a named set of provenance descriptions, and is itself</span> an <span class="delete">agent</span><span class="insert">entity, so allowing provenance of provenance to be expressed. </span></span>
-
-</p><div class="conceptexample" id="bundle-example">
+<span class="glossary-ref"><span class="insert">
+ A </span><span class="dfn"><span class="insert">bundle</span></span><span class="insert"> is a named set of provenance descriptions,</span> and <span class="insert">is itself an entity, so allowing provenance of provenance </span>to <span class="delete">provide examples of concepts (see </span><span class="delete">Section 4</span><span class="delete">),
+we introduce PROV-N, </span><span class="insert">be expressed. </span></span>
+
+</p><div class="anexample conceptexample" id="bundle-example" count="13">
<p><span class="insert">
For users to decide whether they can place their trust in
-a resource, they may want to analyze the resource's provenance, but also determine
-who its provenance</span> is <span class="delete">accountable for the actions of a "subordinate" agent, in the context of</span><span class="insert">attributed to, and when it was
+</span>a <span class="delete">notation</span><span class="insert">resource, they may want to analyze the resource's provenance, but also determine
+who its provenance is attributed to, and when it was
generated. In other words, users need to be able to determine the provenance of provenance.
Hence, provenance is also
-regarded as</span> an <span class="delete">activity. </span><span class="delete"> The nature of this relation is intended to</span><span class="insert">entity (of type Bundle), by which provenance of provenance can then</span> be<span class="delete"> broad, including delegation or contractual relation. </span>
-
-
-
-
-
-
-
-
-<span class="delete">A student publishing a web page describing an academic
-department could result in both the student and the department being
-agents associated with the activity, and it may not matter which
-student published a web page but it matters a lot that the department
-told the student to put up the web page.
-</span><span class="insert">
+regarded as an entity (of type Bundle), by which provenance of provenance can then be
expressed.
</span></p>
</div>
</div>
<div id="section-collections" class="section">
-<h4><span class="secno"><span class="delete">2.4 </span><span class="delete">Further Entities: </span><span class="insert">2.2.3 </span></span>Collections<span class="delete"> and Accounts</span>
-
-<span class="delete">There are two further types of entities, collections and accounts, which are now introduced. </span></h4>
+<h4><span class="secno"><span class="insert">2.2.3 </span></span><span class="insert">Collections</span></h4>
<p>
-<span class="glossary-ref"> A <span class="dfn">collection</span> is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be <span class="dfn">member of</span> the collections. </span> This concept allows for the provenance of the collection itself to be expressed in addition to that of the members. Many different types of collections exist, such as a <em><span class="delete">set</span><span class="insert">sets</span></em>, <em>dictionaries</em>, or <em>lists</em>, all of which involve a membership relationship between the constituents and the collection. </p>
-
-<div class="conceptexample" id="collection-example">
-<p>
-An example of collection is an archive of documents. Each document has its own provenance, but the archive itself also has some provenance: who maintained it, which documents it contained at which point in time, how it was assembled, etc.
-</p></div>
-
-
-
-
-<span class="delete">
- An </span><span class="delete">account</span><span class="delete"> is an entity that contains a bundle of provenance descriptions. </span><span class="delete">Making an account an entity allows for provenance of provenance to be expressed.
-
-</span>
-<span class="delete">
-For users to decide whether they can place their trust in
-a resource, they may want to analyze the resource's provenance, but also determine
-who its provenance is attributed to, and when it was
-generated. In other words, users need to be able to determine the provenance of provenance.
-Hence, provenance is also
-regarded as an entity (of type Account), by which provenance of provenance can then be
-expressed.
-</span>
-
-
-
-</div>
-
-
-
-
-
-</div>
-
-
-
-
-
-
- <div id="section-overview-components" class="section">
-<h3><span class="secno"><span class="delete">2.5 </span><span class="delete">Simplified Overview Diagram</span><span class="insert">2.3 </span></span><span class="insert">Modular Organization</span></h3>
-
-<p><span class="delete">So far, we</span><span class="insert">Besides the separation between core and extended structures, PROV-DM
-is further organized according to components, grouping concepts in a
-thematic manner. </span></p>
-
-<p> <a href="#components-overview"><span class="insert">Table 3</span></a><span class="insert"> enumerates the six components, five of which</span> have <span class="delete">introduced a series of concepts underpinning provenance. PROV-DM</span><span class="insert">already been implicitly overviewed in this section. All components specify extended structures, whereas only the first three</span> <span class="delete">is a conceptual data model consisting of types and relations between these. </span><span class="insert">define core structures.
-
-</span></p><div id="components-overview-div" style="text-align: center;">
-<table class="thinborder" style="margin-left: auto; margin-right: auto;">
-<caption id="components-overview">Table <span class="delete">2</span><span class="delete"> shows how provenance concepts can be mapped to types and relations in PROV-DM: the first column lists concepts introduced in this section, 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.
-</span>
-
-
-
-
-<span class="delete">Table 2: Mapping of Provenance concepts to types and relations</span><span class="insert">3: Components Overview</span></caption>
-<tbody><tr><span class="delete">PROV Concepts</span><td style="border-width: 0px; "></td><td><span class="delete">PROV-DM types or relations</span><span class="insert">Component</span></td><td><span class="delete">Name</span><span class="insert">Core </span><br><span class="insert">Structures</span></td><td><span class="insert">Overview</span></td><td><span class="insert">Specification</span></td><td><span class="insert">Description</span></td></tr>
-
-<tr>
-<span class="delete">Entity</span><td style="border-width: 0px; "></td><span class="delete">PROV-DM Types</span><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
-<tr><td style=" padding: 8px;"><span class="insert">1</span></td><td style="text-align: left;"><span class="insert">Entities and Activities</span></td><td><span class="delete">entity</span><span class="insert">✔</span></td><td><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td><td><a href="#component1"><span class="insert">5.1</span></a></td><td style="text-align: left;"><span class="insert">about entities and activities, and their interrelations</span></td></tr>
-
-<tr><td><span class="delete">Activity</span><span class="insert">2</span></td><td style="text-align: left;"><span class="insert">Agent and Responsibility</span></td><td><span class="delete">activity</span><span class="insert">✔</span></td><td><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td><td><a href="#component2"><span class="insert">5.2</span></a></td><td style="text-align: left;"><span class="insert">about agents and concepts ascribing responsibility to them</span></td></tr>
-
-<tr><td><span class="delete">Agent</span><span class="insert">3</span></td><td style="text-align: left;"><span class="insert">Derivation</span></td><td><span class="delete">agent</span><span class="insert">✔</span></td><td><a href="#section-derivation"><span class="insert">2.1.3</span></a></td><td><a href="#component3"><span class="insert">5.3</span></a></td><td style="text-align: left;"><span class="insert">about derivations and its subtypes</span></td></tr>
-
-<tr>
-<td><span class="delete">Generation</span><span class="insert">4</span></td><span class="delete">PROV-DM Relations</span><td style="text-align: left;"><span class="insert">Alternate</span></td><td><span class="delete">wasGeneratedBy</span></td><td><span class="insert">—</span></td><td><a href="#component4"><span class="insert">5.4</span></a></td><td style="text-align: left;"><span class="insert">about relations linking entities referring the same thing</span></td></tr>
-
-<tr><td><span class="delete">Usage</span><span class="insert">5</span></td><td style="text-align: left;"><span class="insert">Bundles</span></td><td><span class="delete">used</span></td><td><a href="#section-provenance-of-provnance"><span class="insert">2.2.2</span></a></td><td><a href="#component5"><span class="insert">5.5</span></a></td><td style="text-align: left;"><span class="insert">about bundles, a mechanism to support provenance of provenance</span></td></tr>
-
-<tr><td><span class="delete">Attribution</span><span class="insert">6</span></td><td style="text-align: left;"><span class="insert">Collections</span></td><td><span class="delete">wasAttributedTo</span></td><td><a href="#section-collections"><span class="insert">2.2.3</span></a></td><td><a href="#component6"><span class="insert">5.6</span></a></td><td style="text-align: left;"><span class="insert">about collections and concepts capturing their transformation, such as insertion and removal</span></td></tr>
-<span class="delete">Association</span><span class="delete">wasAssociatedWith</span>
-<span class="delete">Responsibility</span><span class="delete">actedOnBehalfOf</span>
-<span class="delete">Derivation</span><span class="delete">wasDerivedFrom</span>
-
-</tbody></table>
-
-
-<span class="delete">Figure 1</span><span class="delete"> illustrates the three types (entity, activity, and agent) and how they relate to each other. At this stage, all relations are shown to be binary. Definitions of </span><span class="delete">Section 4</span><span class="delete"> reveal that some relations, while involving two primary elements, are n-ary. </span>
-
-
-
-
-
-<span class="delete">Figure 1: Simplified Overview of PROV-DM</span>
-
-
-
-<span class="delete">Figure 1</span><span class="delete"> is not intended to be complete: it only illustrates types and relations introduced in this section (</span><span class="delete">Section 2</span><span class="delete">), exploited in the example discussed in </span><span class="delete">Section 3</span><span class="delete">, and explained in detail in </span><span class="delete">Section 4</span><span class="delete">.
-Names of relations depicted in </span><span class="delete">Figure 1</span><span class="delete">
-are listed in
-the third column of </span><span class="delete">Table 2</span><span class="delete">. These names are part of a textual notation to write instances of the PROV data model, which we introduce in the next section. </span>
-
-
-
-
-<span class="delete">2.6 </span><span class="delete">PROV-N: The Provenance Notation</span>
-
-
-<span class="delete">To illustrate the application of PROV concepts to a concrete example (see </span><span class="delete">Section 3</span><span class="delete">) and to provide examples of concepts (see </span><span class="delete">Section 4</span><span class="delete">),
-we introduce PROV-N, a notation for writing instances of the PROV data model. For full details, the reader is referred to the companion specification [</span><span class="delete">PROV-N</span><span class="delete">].
-PROV-N is a notation aimed at human consumption, with the following characteristics:</span>
-
-<span class="delete">PROV-N expressions adopt a </span><span class="delete">functional notation</span><span class="delete"> consisting
+<span class="glossary-ref"><span class="insert"> A </span><span class="dfn"><span class="insert">collection</span></span><span class="insert"> is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be </span><span class="dfn"><span class="insert">member of</span></span><span class="insert"> the collections. </span></span><span class="insert"> This concept allows</span> for <span class="delete">writing instances of the PROV data model. For full details, the reader is referred</span><span class="insert">the provenance of the collection itself</span> to <span class="delete">the companion specification [</span><span class="delete">PROV-N</span><span class="delete">].
+PROV-N is</span><span class="insert">be expressed in addition to that of the members. Many different types of collections exist, such as</span> a <span class="delete">notation aimed at human consumption, with the following characteristics:</span>
+
+<span class="delete">PROV-N expressions adopt a </span><em><span class="delete">functional notation</span><span class="delete"> consisting
of a name and a list of arguments in parentheses.</span>
<span class="delete">The interpretation of PROV-N arguments is defined according to their </span><span class="delete">position</span><span class="delete"> in the list of arguments. This convention allows for a compact notation. </span>
@@ -1755,28 +1845,62 @@
<span class="delete">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 </span><span class="delete">first position</span><span class="delete">, and the the set of attribute-value pairs in the </span><span class="delete">last position</span><span class="delete">.
-Consistent with the convention on arguments, the marker </span><span class="delete">-</span><span class="delete"> can be used when the identifier is not available, or can be omitted altogether with no ambiguity arising.
+and a set of attribute-value pairs; both are optional unless otherwise specified. By convention, the identifier occurs in the </span><span class="delete">first position</span><span class="insert">sets</span></em>, <em><span class="insert">dictionaries</span></em><span class="insert">, or </span><em><span class="insert">lists</span></em><span class="insert">, all of which involve a membership relationship between the constituents </span>and the <span class="delete">the set of attribute-value pairs</span><span class="insert">collection. </span></p>
+
+<div class="anexample conceptexample" id="collection-example" count="14">
+<p><span class="insert">
+An example of collection is an archive of documents. Each document has its own provenance, but the archive itself also has some provenance: who maintained it, which documents it contained at which point</span> in <span class="delete">the </span><span class="delete">last position</span><span class="delete">.
+Consistent with the convention on arguments, the marker</span><span class="insert">time, how it was assembled, etc.
+</span></p></div>
+
+
+</div>
+
+
+
+
+
+</div>
+
+<div id="section-overview-components" class="section">
+<h3><span class="secno"><span class="insert">2.3 </span></span><span class="insert">Modular Organization</span></h3>
+
+<p><span class="insert">Besides the separation between core and extended structures, PROV-DM
+is further organized according to components, grouping concepts in a
+thematic manner. </span></p>
+
+<p> <a href="#components-overview"><span class="insert">Table 3</span></a><span class="insert"> 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</span> <span class="delete">-</span><span class="delete"> can be used when the identifier is not available, or can be omitted altogether with no ambiguity arising.
</span>
-
+<span class="insert">define core structures.</span>
<span class="delete">
-An activity with identifier </span><span class="delete">a1</span><span class="delete"> and an attribute </span><span class="delete">type</span><span class="delete"> with value </span><span class="delete">createFile</span><span class="delete">.
+An activity with identifier </span><span class="delete">a1</span></p><div id="components-overview-div" style="text-align: center;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="components-overview"><span class="insert">Table 3: Components Overview</span></caption>
+<tbody><tr><td style="border-width: 0px; "></td><td><span class="insert">Component</span></td><td><span class="insert">Core </span><br><span class="insert">Structures</span></td><td><span class="insert">Overview</span></td><td><span class="insert">Specification</span></td><td><span class="insert">Description</span></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+<tr><td style=" padding: 8px;"><span class="insert">1</span></td><td style="text-align: left;"><span class="insert">Entities</span> and <span class="delete">an attribute </span><span class="delete">type</span><span class="delete"> with value </span><span class="delete">createFile</span><span class="delete">.
</span><span class="delete">activity(a1, [prov:type="createFile"])
</span><span class="delete">
-Two entities with identifiers </span><span class="delete">e1</span><span class="delete"> and </span><span class="delete">e2</span><span class="delete">.
+Two</span><span class="insert">Activities</span></td><td><span class="insert">✔</span></td><td><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td><td><a href="#component1"><span class="insert">5.1</span></a></td><td style="text-align: left;"><span class="insert">about</span> entities <span class="delete">with identifiers </span><span class="delete">e1</span> and <span class="delete">e2</span><span class="delete">.
</span><span class="delete">entity(e1)
entity(e2)
</span><span class="delete">
-The activity </span><span class="delete">a1</span><span class="delete"> used </span><span class="delete">e1</span><span class="delete">, and </span><span class="delete">e2</span><span class="delete"> was generated by </span><span class="delete">a1</span><span class="delete">.
+The activity </span><span class="delete">a1</span><span class="delete"> used </span><span class="delete">e1</span><span class="delete">,</span><span class="insert">activities,</span> and <span class="delete">e2</span><span class="delete"> was generated by </span><span class="delete">a1</span><span class="delete">.
</span><span class="delete">used(a1,e1)
wasGeneratedBy(e2,a1)
</span><span class="delete">
-The same description, but with an explicit identifier </span><span class="delete">u1</span><span class="delete"> for the usage, and the syntactic marker </span><span class="delete">-</span><span class="delete"> to mark the absence of identifier in the generation.
+The</span><span class="insert">their interrelations</span></td></tr>
+<tr><td><span class="insert">2</span></td><td style="text-align: left;"><span class="insert">Agent and Responsibility</span></td><td><span class="insert">✔</span></td><td><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td><td><a href="#component2"><span class="insert">5.2</span></a></td><td style="text-align: left;"><span class="insert">about agents and concepts ascribing responsibility to them</span></td></tr>
+<tr><td><span class="insert">3</span></td><td style="text-align: left;"><span class="insert">Derivation</span></td><td><span class="insert">✔</span></td><td><a href="#section-derivation"><span class="insert">2.1.3</span></a></td><td><a href="#component3"><span class="insert">5.3</span></a></td><td style="text-align: left;"><span class="insert">about derivations and its subtypes</span></td></tr>
+<tr><td><span class="insert">4</span></td><td style="text-align: left;"><span class="insert">Alternate</span></td><td></td><td><span class="insert">—</span></td><td><a href="#component4"><span class="insert">5.4</span></a></td><td style="text-align: left;"><span class="insert">about relations linking entities referring the</span> same <span class="delete">description, but with an explicit identifier </span><span class="delete">u1</span><span class="delete"> for the usage,</span><span class="insert">thing</span></td></tr>
+<tr><td><span class="insert">5</span></td><td style="text-align: left;"><span class="insert">Bundles</span></td><td></td><td><a href="#section-provenance-of-provnance"><span class="insert">2.2.2</span></a></td><td><a href="#component5"><span class="insert">5.5</span></a></td><td style="text-align: left;"><span class="insert">about bundles, a mechanism to support provenance of provenance</span></td></tr>
+<tr><td><span class="insert">6</span></td><td style="text-align: left;"><span class="insert">Collections</span></td><td></td><td><a href="#section-collections"><span class="insert">2.2.3</span></a></td><td><a href="#component6"><span class="insert">5.6</span></a></td><td style="text-align: left;"><span class="insert">about collections</span> and <span class="delete">the syntactic marker </span><span class="delete">-</span><span class="delete"> to mark the absence of identifier in the generation.
</span><span class="delete">used(u1,a1,e1)
wasGeneratedBy(-,e2,a1)
-</span>
+</span><span class="insert">concepts capturing their transformation, such as insertion and removal</span></td></tr>
+</tbody></table>
</div>
</div>
@@ -1809,7 +1933,7 @@
</span></li>
</ul>
-<div class="anexample">
+<div class="anexample" count="15">
<p><span class="insert">
An activity with identifier </span><span class="name"><span class="insert">a1</span></span><span class="insert"> and an attribute </span><span class="name"><span class="insert">type</span></span><span class="insert"> with value </span><span class="name"><span class="insert">createFile</span></span><span class="insert">.
</span></p><pre class="codeexample"><span class="insert">activity(a1, [prov:type="createFile"])
@@ -1862,9 +1986,17 @@
-<p>We paraphrase some PROV-DM descriptions, express them with the PROV-N notation, and then depict them with a graphical illustration (see <a href="#prov-a-document1">Figure 1</a>).
+<p>We paraphrase some PROV-DM descriptions, express them with the PROV-N notation, and <span class="delete">then </span>depict them with a graphical illustration (see <a href="#prov-a-document1-top">Figure <span class="delete">1</span><span class="insert">2</span></a>).
Full details of the provenance record can be found <a href="examples/w3c-publication3.pn">here</a>.</p>
+<div style="text-align: center; ">
+ <figure id="prov-a-document1-top">
+ <img src="images/w3-publication3.png" alt="Provenance of a Document (1)" style="max-width: 98%; ">
+<div class="figcaption" id="prov-a-document1"><span class="insert">Figure 2: Provenance of a Document (1)</span></div>
+ </figure>
+</div>
+
+
<ul>
<li>There was a document <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span>, which from the author's perspective was a document in its second version.
<pre>entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ])
@@ -1906,12 +2038,16 @@
Derivation, Association typically point leftwards</p>
-<div style="text-align: center; ">
- <figure>
- <img src="images/w3-publication3.png" alt="Provenance of a Document (1)" style="max-width: 98%; ">
-<figcaption id="prov-a-document1">Figure 2: Provenance of a Document (1)</figcaption>
- </figure>
-</div>
+
+
+
+<span class="delete">Figure 2: Provenance of a Document (1)</span>
+
+
+
+
+
+
</div>
@@ -1947,9 +2083,18 @@
</ul>
<p>
-We now paraphrase some PROV descriptions, and express them with the PROV-N notation, and then depict them with a graphical illustration (see <a href="#prov-a-document2">Figure 2</a>). Full details of the provenance record can be found <a href="examples/w3c-publication1.pn">here</a>.
-
-</p><ul>
+We now paraphrase some PROV descriptions, and express them with the PROV-N notation, and <span class="delete">then </span>depict them with a graphical illustration (see <a href="#prov-a-document2-top">Figure <span class="delete">2</span><span class="insert">3</span></a>). Full details of the provenance record can be found <a href="examples/w3c-publication1.pn">here</a>.
+
+</p><div style="text-align: center;">
+ <figure id="prov-a-document2-top">
+ <img src="images/w3-publication1.png" alt="Provenance of a Document (2)" style="max-width: 90%; ">
+<div class="figcaption" id="prov-a-document2"><span class="insert">Figure 3: Provenance of a Document (2)</span></div>
+ </figure>
+</div>
+
+
+
+<ul>
<li>There was a document, a working draft <span class="delete">on the recommendation track </span>(<span class="delete">process:RecsWD</span><a href="http://www.w3.org/2001/02pd/rec54#WD"><span class="insert">rec54:WD</span></a>), which is an entity so that we can describe its provenance. Similar descriptions exist for all entities.
<pre>entity(tr:WD-prov-dm-20111215, [ <span class="delete">prov:type="process:RecsWD" %% xsd:QName</span><span class="insert">prov:type='rec54:WD'</span> ])
</pre>
@@ -1987,12 +2132,21 @@
-<div style="text-align: center;">
- <figure>
- <img src="images/w3-publication1.png" alt="Provenance of a Document (2)" style="max-width: 90%; ">
-<figcaption id="prov-a-document2">Figure 3: Provenance of a Document (2)</figcaption>
- </figure>
-</div>
+
+
+
+<span class="delete">Figure 3: Provenance of a Document (2)</span>
+
+
+
+
+
+
+
+
+
+
+
<p> This simple example has shown a variety of PROV concepts, such as Entity, Agent, Activity, Usage, Generation, Derivation, and Association. In this example, it happens that all entities were already Web resources, with readily available URIs, which we used. We note that some of the resources are public, whereas others have restricted access: provenance statements only make use of their identifiers. If identifiers do not pre-exist, e.g. for activities, then they can be generated, for instance <span class="name">ex:act2</span>, occurring in the namespace identified by prefix <span class="name">ex</span>. We note that the URI scheme developed by <acronym title="World Wide Web Consortium">W3C</acronym> is particularly suited for expressing provenance of these documents, since each URI denotes a specific version of a document. It then becomes easy to relate the various versions with PROV-DM relations. We note that an Association is a ternary relation (represented by a multi-edge labeled wasAssociatedWith) from an activity to an agent and a plan.</p>
@@ -2008,7 +2162,7 @@
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><span class="delete">No new mechanism</span><span class="insert">PROV-DM offers a construct to name a bundle of provenance descriptions. </span></p>
+<p><span class="delete">No new mechanism</span><span class="insert">PROV-DM offers a construct to name a bundle of provenance descriptions (full details: </span><a href="examples/w3c-publication3.pn"><span class="insert">ex:author-view</span></a><span class="insert">). </span></p>
<pre class="codeexample"><span class="insert">bundle ex:author-view
@@ -2021,7 +2175,7 @@
endBundle
</span></pre><span class="insert">
-Likewise, the process view can be expressed as a separate named bundle.
+Likewise, the process view can be expressed as a separate named bundle (full details: </span><a href="examples/w3c-publication1.pn"><span class="insert">ex:process-view</span></a><span class="insert">).
</span><pre class="codeexample"><span class="insert">bundle ex:process-view
agent(w3:Consortium, [ prov:type='prov:Organization' ])
@@ -2046,11 +2200,6 @@
-<div class="note">
-<p><span class="insert">TODO: full details of bundles can be found at </span><a href="examples/w3c-publication1.pn"><span class="insert">ex:process-view</span></a><span class="insert"> and </span><a href="examples/w3c-publication3.pn"><span class="insert">ex:author-view</span></a><span class="insert">.</span></p>
-</div>
-
-
</div>
</div>
@@ -2072,13 +2221,17 @@
<li><b>Component 3: derivations.</b> The third component is formed with derivations and derivation subtypes.</li>
<li><b>Component 4: alternate.</b> The fourth component consists of relations linking entities referring to the same thing. </li>
<li><b>Component 5: <span class="delete">collections.</span><span class="insert">bundles.</span></b> The fifth component is <span class="delete">about collections and concepts capturing their transformation, such as insertion and removal. </span><span class="insert">concerned with bundles, a mechanism to support provenance of provenance.</span></li>
-<li><b>Component 6: <span class="delete">annotations.</span><span class="insert">collections.</span></b> The sixth component is <span class="delete">concerned with annotations to</span><span class="insert">about collections and concepts capturing their transformation, such as insertion and removal. </span></li>
+<li><b>Component 6: <span class="delete">annotations.</span><span class="insert">collections.</span></b> The sixth component is <span class="delete">concerned with annotations to PROV-DM instances.</span><span class="insert">about collections and concepts capturing their transformation, such as insertion and removal. </span></li>
</ul>
</div>
+
+
+
<div style="text-align: center;">
+
<figure style="max-width: 90%; ">
<img usemap="#componentMap" src="images/components-dependencies.png" alt="PROV-DM Components" style="max-width: 90%; ">
<map id="componentMap" name="componentMap">
@@ -2089,24 +2242,7 @@
<area title="derivations" href="#component3" coords="80,0,210,70" alt="derivations" shape="rect">
<area title="agents/responsibility" href="#component2" coords="0,0,70,220" alt="agents/responsibility" shape="rect">
</map>
-<figcaption id="prov-dm-components"><span class="insert">Figure 4:</span> PROV-DM <span class="delete">instances.</span>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<span class="delete">Figure 4: PROV-DM </span>Components
-</figcaption>
+<div class="figcaption" id="prov-dm-components">Figure 4: PROV-DM Components</div>
</figure>
</div>
@@ -2199,17 +2335,15 @@
<h3><span class="secno"><span class="delete">4.1</span><span class="insert">5.1</span> </span>Component 1: Entities and Activities</h3>
<p>The first component of PROV-DM is concerned with <a title="entity" href="#concept-entity" class="internalDFN">entities</a> and <a title="activity" href="#concept-activity" class="internalDFN">activities</a>, and their interrelations: <a href="#concept-usage" class="internalDFN">Usage</a>, <a href="#concept-generation" class="internalDFN">Generation</a>, <a href="#concept-start" class="internalDFN">Start</a>, <a href="#concept-end" class="internalDFN">End</a>, <a href="#concept-invalidation" class="internalDFN">Invalidation</a>, <span class="insert">and </span><a href="#concept-communication" class="internalDFN">Communication<span class="delete">, and </span><span class="delete">Start by Activity</span></a>. <a href="#figure-component1">Figure 5</a> uses UML to depict the first <span class="delete">component, with</span><span class="insert">component.
-Core structures are displayed in the yellow area, consisting of</span> two classes <span class="insert">(</span><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a><span class="insert">, </span><a href="#concept-activity" class="internalDFN"><span class="insert">Activity</span></a><span class="insert">) </span>and <span class="insert">three </span>binary associations between <span class="delete">them. Associations are not just binary: indeed, </span><span class="insert">them (</span><a href="#concept-usage" class="internalDFN">Usage</a>, <a href="#concept-generation" class="internalDFN">Generation</a>, <span class="insert">and </span><a href="#concept-communication" class="internalDFN"><span class="insert">Communication</span></a><span class="insert">). The rest of the figure displays extended structures, including UML associations classes (represented in gray) to express expanded n-ary relations (for </span><a href="#concept-usage" class="internalDFN"><span class="insert">Usage</span></a><span class="insert">, </span><a href="#concept-generation" class="internalDFN"><span class="insert">Generation</span></a><span class="insert">, </span><a href="#concept-invalidation" class="internalDFN"><span class="insert">Invalidation</span></a><span class="insert">, </span><a href="#concept-start" class="internalDFN">Start</a>, <a href="#concept-end" class="internalDFN">End</a><span class="insert">). The figure</span> also <span class="delete">include</span><span class="insert">makes explicit associations with</span> <em>time</em> <span class="delete">attributes.</span><span class="insert">for these concepts (time being marked with the primitive stereotype).</span>
+Core structures are displayed in the yellow area, consisting of</span> two classes <span class="insert">(</span><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a><span class="insert">, </span><a href="#concept-activity" class="internalDFN"><span class="insert">Activity</span></a><span class="insert">) </span>and <span class="insert">three </span>binary associations between <span class="delete">them. Associations are not just binary: indeed, </span><span class="insert">them (</span><a href="#concept-usage" class="internalDFN">Usage</a>, <a href="#concept-generation" class="internalDFN">Generation</a>, <span class="insert">and </span><a href="#concept-communication" class="internalDFN"><span class="insert">Communication</span></a><span class="insert">). The rest of the figure displays extended structures, including UML association classes (see [</span><cite><a class="bibref" rel="biblioentry" href="#bib-UML"><span class="insert">UML</span></a></cite><span class="insert">], section 7.3.4, p. 42), represented in gray, to express expanded n-ary relations (for </span><a href="#concept-usage" class="internalDFN"><span class="insert">Usage</span></a><span class="insert">, </span><a href="#concept-generation" class="internalDFN"><span class="insert">Generation</span></a><span class="insert">, </span><a href="#concept-invalidation" class="internalDFN"><span class="insert">Invalidation</span></a><span class="insert">, </span><a href="#concept-start" class="internalDFN">Start</a>, <a href="#concept-end" class="internalDFN">End</a><span class="insert">). The figure</span> also <span class="delete">include</span><span class="insert">makes explicit associations with</span> <em>time</em> <span class="delete">attributes.</span><span class="insert">for these concepts (time being marked with the primitive stereotype).</span>
</p>
<div style="text-align: center;">
-
<figure>
<img src="uml/component1.png" alt="entities and activities">
-<figcaption id="figure-component1">Figure 5: Entities and Activities Component Overview
-</figcaption>
+<div class="figcaption" id="figure-component1">Figure 5: Entities and Activities Component Overview</div>
</figure>
</div>
@@ -2231,7 +2365,7 @@
<li><span class="attribute" id="entity.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set of attribute-value pairs ((<span class="name">attr1</span>, <span class="name">val1</span>), ...) representing additional information about this entity.</li>
</ul></div>
-<div class="anexample">
+<div class="anexample" count="16">
<p>
The following expression</p>
<pre class="codeexample">entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ])
@@ -2259,7 +2393,7 @@
<li><span class="attribute" id="activity.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set of attribute-value pairs ((<span class="name">attr1</span>, <span class="name">val1</span>), ...) representing additional information about this activity.</li>
</ul></div>
-<div class="anexample">
+<div class="anexample" count="17">
<p>
The following expression</p>
<pre class="codeexample">activity(a1,2011-11-16T16:05:00,2011-11-16T16:06:00,
@@ -2286,7 +2420,7 @@
<div class="glossary-ref"> <dfn id="concept-generation">Generation</dfn> is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. </div>
<p>
-</p><div class="attributes" id="attributes-generation"><dfn title="wasGeneratedBy" id="dfn-wasgeneratedby">Generation</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">wasGeneratedBy(id,e,a,t,attrs)</span><span class="insert">wasGeneratedBy(id;e,a,t,attrs)</span></span> in PROV-N,</span> has:
+</p><div class="attributes" id="attributes-generation"><dfn title="wasGeneratedBy" id="dfn-wasgeneratedby">Generation</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">wasGeneratedBy(id,e,a,t,attrs)</span><span class="insert">wasGeneratedBy(id; e, a, t, attrs)</span></span> in PROV-N,</span> has:
<ul>
<li><span class="attribute" id="generation.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a generation;</li>
<li><span class="attribute" id="generation.entity">entity</span>: an identifier (<span class="name">e</span>) for a created entity; </li>
@@ -2302,7 +2436,7 @@
-<div class="anexample">
+<div class="anexample" count="18">
<p>
The following expressions</p>
<pre class="codeexample"> <span class="delete">wasGeneratedBy(e1,a1,</span><span class="insert">wasGeneratedBy(e1, a1,</span> 2001-10-26T21:32:52, <span class="delete">[ex:port="p1"])</span><span class="insert">[ ex:port="p1" ])</span>
@@ -2315,7 +2449,7 @@
</div>
-<div class="anexample">
+<div class="anexample" count="19">
<p>
In some cases, we may want to record the time at which an entity was generated without having to specify the activity that generated it. To support this requirement, the activity element in generation is optional. Hence, the following expression indicates the time at which an entity is generated, without naming the activity that did it.</p>
<pre class="codeexample"> <span class="delete">wasGeneratedBy(e,-,2001-10-26T21:32:52)</span><span class="insert">wasGeneratedBy(e, -, 2001-10-26T21:32:52)</span>
@@ -2332,7 +2466,7 @@
<div class="glossary-ref"> <dfn id="concept-usage">Usage</dfn> is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. </div>
-<p></p><div class="attributes" id="attributes-usage"><dfn title="used" id="dfn-used">Usage</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">used(id,a,e,t,attrs)</span><span class="insert">used(id;a,e,t,attrs)</span></span> in PROV-N,</span> has:
+<p></p><div class="attributes" id="attributes-usage"><dfn title="used" id="dfn-used">Usage</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">used(id,a,e,t,attrs)</span><span class="insert">used(id; a, e, t, attrs)</span></span> in PROV-N,</span> has:
<ul>
<li><span class="attribute" id="usage.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a usage;</li>
<li><span class="attribute" id="usage.activity">activity</span>: an identifier (<span class="name">a</span>) for the <span class="delete">consuming activity;</span><span class="insert">activity that used an entity;</span></li>
@@ -2349,7 +2483,7 @@
</p>
-<div class="anexample">
+<div class="anexample" count="20">
<p>The following usages</p>
<pre class="codeexample"> <span class="delete">used(a1,e1,2011-11-16T16:00:00,[ex:parameter="p1"])</span><span class="insert">used(a1, e1, 2011-11-16T16:00:00, [ ex:parameter="p1" ])</span>
<span class="delete">used(a1,e2,2011-11-16T16:00:01,[ex:parameter="p2"])</span><span class="insert">used(a1, e2, 2011-11-16T16:00:01, [ ex:parameter="p2" ])</span>
@@ -2381,7 +2515,7 @@
<p></p><div class="attributes" id="attributes-wasInformedBy"><span class="insert">
A </span><dfn title="wasInformedBy" id="dfn-wasinformedby"><span class="insert">communication</span></dfn><span class="withPn"><span class="insert">, written as
-</span><span class="pnExpression"><span class="insert">wasInformedBy(id;a2,a1,attrs)</span></span><span class="insert"> in PROV-N,</span></span><span class="insert"> has:
+</span><span class="pnExpression"><span class="insert">wasInformedBy(id; a2, a1, attrs)</span></span><span class="insert"> in PROV-N,</span></span><span class="insert"> has:
</span><ul>
<li><span class="attribute" id="wasInformedBy.id"><span class="insert">id</span></span><span class="insert">: an </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert"> identifier identifying the relation;</span></li>
<li><span class="attribute" id="wasInformedBy.informed"><span class="insert">informed</span></span><span class="insert">: the identifier (</span><span class="name"><span class="insert">a2</span></span><span class="insert">) of the informed activity;
@@ -2392,7 +2526,7 @@
-<div class="anexample">
+<div class="anexample" count="21">
<p><span class="insert">
Consider two activities </span><span class="name"><span class="insert">a1</span></span><span class="insert"> and </span><span class="name"><span class="insert">a2</span></span><span class="insert">, the former performed by a government agency, and the latter by a driver caught speeding.
</span></p><pre class="codeexample"><span class="insert">activity(a1, [ prov:type="traffic regulations enforcing" ])
@@ -2420,12 +2554,15 @@
</li></ul>
</div>
-<div class="anexample">
+<p><span class="insert">While each of </span><a href="#start.id"><span class="attribute"><span class="insert">id</span></span></a><span class="insert">, </span><a href="#start.trigger"><span class="attribute"><span class="insert">trigger</span></span></a><span class="insert">, </span><a href="#start.starter"><span class="attribute"><span class="insert">starter</span></span></a><span class="insert">, </span><a href="#start.time"><span class="attribute"><span class="insert">time</span></span></a><span class="insert">, and </span><a href="#start.attributes"><span class="attribute"><span class="insert">attributes</span></span></a><span class="insert"> is </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert">, at least one of them </span><em class="rfc2119" title="must"><span class="insert">must</span></em><span class="insert"> be present.</span></p>
+
+
+<div class="anexample" count="22">
<p>
The following example contains the description of an activity <span class="name">a1</span> (a discussion), which was started at a specific time, and was triggered by an email message <span class="name">e1</span>.</p>
<pre class="codeexample"><span class="delete">entity(e1,[prov:type="email message"])
activity(a1,[prov:type="Discuss"])
-wasStartedBy(a1,e1,2011-11-16T16:05:00)</span><span class="insert">entity(e1, [prov:type="email message"] )
+wasStartedBy(a1,e1,2011-11-16T16:05:00)</span><span class="insert">entity(e1, [ prov:type="email message"] )
activity(a1, [ prov:type="Discuss" ])
wasStartedBy(a1, e1, -, 2011-11-16T16:05:00)</span>
</pre>
@@ -2435,11 +2572,14 @@
<p><span class="insert">Alternatively, one can also describe the activity that generated the email message.</span></p>
<pre class="codeexample"><span class="insert">activity(a0, [ prov:type="Write" ])
wasGeneratedBy(e1, a0)
-wasStartedBy(a1, e1, a0, 2011-11-16T16:05:00)</span>
+wasStartedBy(a1, e1, a0, 2011-11-16T16:05:00)
+</span></pre>
+<p><span class="insert">If </span><span class="name"><span class="insert">e1</span></span><span class="insert"> is not known, it would also have valid to write:
+</span></p><pre class="codeexample"><span class="insert">wasStartedBy(a1, -, a0, 2011-11-16T16:05:00)</span>
</pre>
</div>
-<div class="anexample">
+<div class="anexample" count="23">
<p>
In the following example, a race is started by a bang, and responsibility for this trigger is attributed to an agent
<span class="name">ex:Bob</span>.
@@ -2452,10 +2592,10 @@
</pre>
</div>
-<div class="anexample">
+<div class="anexample" count="24">
<p><span class="insert">
In this example, filling fuel was started as a consequence of
-observing the low fuel. The trigger entity is unspecified, it could
+observing low fuel. The trigger entity is unspecified, it could
for instance have been the low fuel warning light, the fuel tank
indicator needle position, or the engine not running properly.</span>
@@ -2481,7 +2621,7 @@
<div class="glossary-ref"> <dfn id="concept-end">End</dfn> is when an activity is deemed to have ended. The activity no longer exists after its end. Any usage, generation, or invalidation involving an activity precedes the activity's end. An end may refer to an entity, known as <dfn id="concept-end-trigger">trigger</dfn>, that terminated the <span class="delete">activity.</span><span class="insert">activity, or to an activity, known as </span><dfn id="concept-end-ender"><span class="insert">ender</span></dfn><span class="insert"> that generated the trigger.</span> </div>
-<p></p><div class="attributes" id="attributes-end">An activity <dfn title="wasEndedBy" id="dfn-wasendedby">end</dfn><span class="withAsn">, written <span class="pnExpression"><span class="delete">wasEndedBy(id,a,e,t,attrs)</span><span class="insert">wasEndedBy(id;a2,e,a1,t,attrs)</span></span> in PROV-N,</span> has:
+<p></p><div class="attributes" id="attributes-end">An activity <dfn title="wasEndedBy" id="dfn-wasendedby">end</dfn><span class="withAsn">, written <span class="pnExpression"><span class="delete">wasEndedBy(id,a,e,t,attrs)</span><span class="insert">wasEndedBy(id; a2, e, a1, t, attrs)</span></span> in PROV-N,</span> has:
<ul>
<li><span class="attribute" id="end.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the activity end;</li>
<li><span class="attribute" id="end.activity">activity</span>: an identifier (<span class="name"><span class="delete">a</span><span class="insert">a2</span></span>) for the ended activity;
@@ -2492,28 +2632,35 @@
</li></ul>
</div>
-<div class="anexample">
+<p><span class="insert">While each of </span><a href="#end.id"><span class="attribute"><span class="insert">id</span></span></a><span class="insert">, </span><a href="#end.trigger"><span class="attribute"><span class="insert">trigger</span></span></a><span class="insert">, </span><a href="#end.ender"><span class="attribute"><span class="insert">ender</span></span></a><span class="insert">, </span><a href="#end.time"><span class="attribute"><span class="insert">time</span></span></a><span class="insert">, and </span><a href="#end.attributes"><span class="attribute"><span class="insert">attributes</span></span></a><span class="insert"> is </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert">, at least one of them </span><em class="rfc2119" title="must"><span class="insert">must</span></em><span class="insert"> be present.</span></p>
+
+
+<div class="anexample" count="25">
<p>
The following example is a description of an activity <span class="name">a1</span> (editing) that was ended following an approval document <span class="name">e1</span>.</p>
-<pre class="codeexample">entity(e1,[prov:type="approval document"])
+<pre class="codeexample"><span class="delete">entity(e1,[prov:type="approval document"])
activity(a1,[prov:type="Editing"])
-wasEndedBy(a1,e1)
+wasEndedBy(a1,e1)</span><span class="insert">entity(e1, [ prov:type="approval document" ])
+activity(a1, [ prov:type="Editing" ])
+wasEndedBy(a1, e1)</span>
</pre>
</div>
+
</div>
<div id="term-Invalidation" class="section">
<h4><span class="secno"><span class="delete">4.1.7</span><span class="insert">5.1.8</span> </span>Invalidation</h4>
-<div class="glossary-ref"> <dfn id="concept-invalidation">Invalidation</dfn> is the start of the destruction, cessation, or expiry of an existing entity by an activity. The entity is no longer available for use after invalidation. Any generation or usage of an entity precedes its invalidation.</div>
+<div class="glossary-ref"> <dfn id="concept-invalidation">Invalidation</dfn> is the start of the destruction, cessation, or expiry of an existing entity by an activity. The entity is no longer available for use <span class="insert">(or further invalidation) </span>after invalidation. Any generation or usage of an entity precedes its invalidation.</div>
<p>
-Entities have a duration. Generation marks the beginning of an entity. An entity's lifetime can end for different reasons:</p>
+Entities have a duration. Generation marks the beginning of an <span class="delete">entity. </span><span class="insert">entity, whereas invalidation marks its end.
+</span>An entity's lifetime can end for different reasons:</p>
<ul>
<li> an entity was destroyed: e.g. a painting was destroyed by fire; a Web page is taken out of a site;
</li><li> an entity was consumed: e.g. Bob ate all his soup, Alice ran out of gas when driving to work;
@@ -2527,48 +2674,53 @@
<p>
-</p><div class="attributes" id="attributes-invalidation"><dfn title="wasInvalidatedBy" id="dfn-wasinvalidatedby">Invalidation</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">wasInvalidatedBy(id,e,a,t,attrs)</span><span class="insert">wasInvalidatedBy(id;e,a,t,attrs)</span></span> in PROV-N,</span> has:
+</p><div class="attributes" id="attributes-invalidation"><dfn title="wasInvalidatedBy" id="dfn-wasinvalidatedby">Invalidation</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">wasInvalidatedBy(id,e,a,t,attrs)</span><span class="insert">wasInvalidatedBy(id; e, a, t, attrs)</span></span> in PROV-N,</span> has:
<ul>
-<li><span class="attribute">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a invalidation;</li>
-<li><span class="attribute">entity</span>: an identifier for the invalidated entity; </li>
-<li><span class="attribute">activity</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the activity that invalidated the entity;</li>
-
-<li><span class="attribute">time</span>: an <em class="rfc2119" title="optional">optional</em> "invalidation time", the time at which the entity began to be invalidated;</li>
-
-<li><span class="attribute">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set of attribute-value pairs representing additional information about this invalidation.</li>
+<li><span class="attribute" id="invalidation.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a invalidation;</li>
+<li><span class="attribute" id="invalidation.entity">entity</span>: an identifier for the invalidated entity; </li>
+<li><span class="attribute" id="invalidation.activity">activity</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the activity that invalidated the entity;</li>
+
+<li><span class="attribute" id="invalidation.time">time</span>: an <em class="rfc2119" title="optional">optional</em> "invalidation time", the time at which the entity began to be invalidated;</li>
+
+<li><span class="attribute" id="invalidation.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set of attribute-value pairs representing additional information about this invalidation.</li>
</ul></div>
-<p>While each of <span class="attribute"><span class="insert">id</span></span><span class="insert">, </span><span class="attribute">activity</span>, <span class="attribute">time</span>, and <span class="attribute">attributes</span> is <em class="rfc2119" title="optional">optional</em>, at least one of them <em class="rfc2119" title="must">must</em> be present.</p>
-
-
-
-<div class="anexample" id="anexample-invalidation1">
+<p>While each of <a href="#invalidation.id"><span class="attribute"><span class="insert">id</span></span></a><span class="insert">, </span><a href="#invalidation.activity"><span class="attribute">activity</span></a>, <a href="#invalidation.time"><span class="attribute">time</span></a>, and <a href="#invalidation.attributes"><span class="attribute">attributes</span></a> is <em class="rfc2119" title="optional">optional</em>, at least one of them <em class="rfc2119" title="must">must</em> be present.</p>
+
+
+
+<div class="anexample" id="anexample-invalidation1" count="26">
<p>
-The Painter, a Picasso painting, is known to have been destroyed in a <a href="http://en.wikipedia.org/wiki/Lost_artworks#20th_century">plane accident</a>.
+<em>The <span class="delete">Painter,</span><span class="insert">Painter</span></em><span class="insert">,</span> a Picasso painting, is known to have been destroyed in a <a href="http://en.wikipedia.org/wiki/Lost_artworks#20th_century">plane accident</a>.
</p><pre class="codeexample">entity(ex:The-Painter)
agent(ex:Picasso)
wasAttributedTo(ex:The-Painter, ex:Picasso)
activity(ex:crash)
-wasInvalidatedBy(ex:The-Painter, ex:crash, 1998-09-02, [ex:circumstances="plane accident"])
+wasInvalidatedBy(ex:The-Painter, ex:crash, 1998-09-02, <span class="delete">[ex:circumstances="plane accident"])</span><span class="insert">[ ex:circumstances="plane accident" ])</span>
</pre>
</div>
-<div class="anexample" id="anexample-invalidation2">
+<div class="anexample" id="anexample-invalidation2" count="27">
<p>
The BBC news home page on 2012-04-03 <span class="name">ex:bbcNews2012-04-03</span>
contained a reference to a given news item
<a href="http://www.bbc.co.uk/news/uk-17595024">bbc:news/uk-17595024</a>,
but the BBC news home page on the next day did not.
</p><pre class="codeexample">entity(ex:bbcNews2012-04-03)
-memberOf(ex:bbcNews2012-04-03,{("item1", bbc:news/uk-17595024)})
-wasGeneratedBy (ex:bbcNews2012-04-03,-,2012-04-03T00:00:01)
-wasInvalidatedBy(ex:bbcNews2012-04-03,-,2012-04-03T23:59:59)
+<span class="delete">memberOf(ex:bbcNews2012-04-03,{("item1",</span><span class="insert">memberOf(ex:bbcNews2012-04-03, {("item1",</span> bbc:news/uk-17595024)})
+wasGeneratedBy <span class="delete">(ex:bbcNews2012-04-03,-,2012-04-03T00:00:01)
+wasInvalidatedBy(ex:bbcNews2012-04-03,-,2012-04-03T23:59:59)</span><span class="insert">(ex:bbcNews2012-04-03, -, 2012-04-03T00:00:01)
+wasInvalidatedBy(ex:bbcNews2012-04-03, -, 2012-04-03T23:59:59)</span>
</pre>
-We refer to example <a href="#anexample-specialization">anexample-specialization</a> for further descriptions of the BBC Web site, and to <a href="#term-dictionary-membership">Section <span class="delete">Membership</span><span class="insert">5.6.5</span></a> for a description of the relation <a href="#dfn-memberof" class="internalDFN">memberOf</a>.
+
+
+We refer to example <span class="delete">anexample-specialization</span>
+<a href="#anexample-specialization" class="anexample-ref"><span><span class="insert">Example 40</span></span></a>
+ for further descriptions of the BBC Web site, and to <a href="#term-dictionary-membership">Section <span class="delete">Membership</span><span class="insert">5.6.5</span></a> for a description of the relation <a href="#dfn-memberof" class="internalDFN">memberOf</a>.
</div>
-<div class="anexample" id="anexample-invalidation3">
+<div class="anexample" id="anexample-invalidation3" count="28">
<p>
In this example, the "buy one beer, get one free" offer expired at the end of the happy hour.</p>
<pre class="codeexample">entity(buy_one_beer_get_one_free_offer_during_happy_hour)
@@ -2685,12 +2837,10 @@
<div style="text-align: center;">
-
<figure>
<img src="uml/component2.png" alt="agents and responsibilities">
-<figcaption id="figure-component2">Figure 6: Agents and <span class="delete">Responsibilities</span><span class="insert">Responsibility</span> Component Overview
-</figcaption>
+<div class="figcaption" id="figure-component2">Figure 6: Agents and <span class="delete">Responsibilities</span><span class="insert">Responsibility</span> Component Overview</div>
</figure>
</div>
@@ -2733,7 +2883,7 @@
-<div class="anexample">
+<div class="anexample" count="29">
<p>The following expression is about an agent identified by <span class="name">e1</span>, which is a person, named Alice, with employee number 1234.</p>
<pre class="codeexample">agent(e1, [ex:employee="1234", ex:name="Alice", <span class="delete">prov:type="prov:Person" %% xsd:QName])</span><span class="insert">prov:type='prov:Person' ])</span>
</pre>
@@ -2749,7 +2899,7 @@
<p>When an entity <span class="name">e</span> is attributed to agent <span class="name">ag</span>, entity <span class="name">e</span> was generated by some unspecified activity that in turn was associated to agent <span class="name">ag</span>. Thus, this relation is useful when the activity is not known, or irrelevant.</p>
-<p></p><div class="attributes" id="attributes-attribution">An <dfn title="wasAttributedTo" id="dfn-wasattributedto">attribution</dfn> relation<span class="withPn">, written <span class="pnExpression"><span class="delete">wasAttributedTo(id,e,ag,attrs)</span><span class="insert">wasAttributedTo(id;e,ag,attrs)</span></span> in PROV-N,</span> has:
+<p></p><div class="attributes" id="attributes-attribution">An <dfn title="wasAttributedTo" id="dfn-wasattributedto">attribution</dfn> relation<span class="withPn">, written <span class="pnExpression"><span class="delete">wasAttributedTo(id,e,ag,attrs)</span><span class="insert">wasAttributedTo(id; e, ag, attrs)</span></span> in PROV-N,</span> has:
<ul>
<li><span class="attribute" id="attribution.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the relation;</li>
<li><span class="attribute" id="attribution.entity">entity</span>: an entity identifier (<span class="name">e</span>);</li>
@@ -2758,15 +2908,15 @@
</ul>
</div>
-<div class="anexample" id="anexample-attribution">
+<div class="anexample" id="anexample-attribution" count="30">
<p>
Revisiting the example of <a href="#section-example-one">Section <span class="delete">3.1</span><span class="insert">4.1</span></a>,
we can ascribe <span class="name">tr:WD-prov-dm-20111215</span> to some agents without an explicit activity. The reserved attribute <span class="name">role</span> (see <a href="#term-attribute-role">Section <span class="delete">4.7.4.3</span><span class="insert">5.7.4.3</span></a>) allows for role of the agent in the attribution to be specified.
</p><pre class="codeexample">agent(ex:Paolo, [ prov:type="Person" ])
agent(ex:Simon, [ prov:type="Person" ])
-entity(tr:WD-prov-dm-20111215, [ <span class="delete">prov:type="process:RecsWD" %% xsd:QName </span><span class="insert">prov:type='rec54:WD' </span>])
-wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, [prov:role="editor"])
-wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, [prov:role="contributor"])
+entity(tr:WD-prov-dm-20111215, [ <span class="delete">prov:type="process:RecsWD" %% xsd:QName</span><span class="insert">prov:type='rec54:WD'</span> ])
+wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, <span class="delete">[prov:role="editor"])</span><span class="insert">[ prov:role="editor" ])</span>
+wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, <span class="delete">[prov:role="contributor"])</span><span class="insert">[ prov:role="contributor" ])</span>
</pre>
</div>
@@ -2784,7 +2934,7 @@
-<p></p><div class="attributes" id="attributes-activity-association">An <dfn title="wasAssociatedWith" id="dfn-wasassociatedwith">activity association</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">wasAssociatedWith(id,a,ag,pl,attrs)</span><span class="insert">wasAssociatedWith(id;a,ag,pl,attrs)</span></span> in PROV-N,</span> has:
+<p></p><div class="attributes" id="attributes-activity-association">An <dfn title="wasAssociatedWith" id="dfn-wasassociatedwith">activity association</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">wasAssociatedWith(id,a,ag,pl,attrs)</span><span class="insert">wasAssociatedWith(id; a, ag, pl, attrs)</span></span> in PROV-N,</span> has:
<ul>
<li><span class="attribute" id="association.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the association between an activity and an agent;</li>
<li><span class="attribute" id="association.activity">activity</span>: an identifier (<span class="name">a</span>) for the activity;</li>
@@ -2793,26 +2943,32 @@
</li><li><span class="attribute" id="association.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this association of this activity with this agent.</li>
</ul></div>
-<div class="anexample" id="anexample-wasAssociateWith">
+<div class="anexample" id="anexample-wasAssociatedWith" count="31">
<p>In the following example, a designer <span class="insert">agent </span>and an operator <span class="delete">agents</span><span class="insert">agent</span> are associated with an activity. The designer's goals are achieved by a workflow <span class="name">ex:wf</span>, described as an an entity of type <span class="name"><a href="#concept-plan" class="internalDFN">plan</a></span>. </p>
-<pre class="codeexample">activity(ex:a, [prov:type="workflow execution"])
-agent(ex:ag1, [prov:type="operator"])
-agent(ex:ag2, [prov:type="designer"])
-wasAssociatedWith(ex:a, ex:ag1, -, [prov:role="loggedInUser", ex:how="webapp"])
-wasAssociatedWith(ex:a, ex:ag2, ex:wf,[prov:role="designer", ex:context="project1"])
-entity(ex:wf, <span class="delete">[prov:type="prov:Plan" %% xsd:QName,</span><span class="insert">[prov:type='prov:Plan' ,</span> ex:label="Workflow 1",
- ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI])
+<pre class="codeexample">activity(ex:a, <span class="delete">[prov:type="workflow execution"])</span><span class="insert">[ prov:type="workflow execution" ])</span>
+agent(ex:ag1,<span class="delete"> [prov:type="operator"])</span><span class="insert"> [ prov:type="operator" ])</span>
+agent(ex:ag2,<span class="delete"> [prov:type="designer"])</span><span class="insert"> [ prov:type="designer" ])</span>
+wasAssociatedWith(ex:a, ex:ag1, -,<span class="delete"> [prov:role="loggedInUser", ex:how="webapp"])</span><span class="insert"> [ prov:role="loggedInUser", ex:how="webapp" ])</span>
+wasAssociatedWith(ex:a, ex:ag2, <span class="delete">ex:wf,[prov:role="designer", ex:context="project1"])</span><span class="insert">ex:wf, [ prov:role="designer", ex:context="project1" ])</span>
+entity(ex:wf, <span class="delete">[prov:type="prov:Plan"</span><span class="insert">[ prov:type='prov:Plan' ,
+ ex:label="Workflow 1",
+ ex:url="http://example.org/workflow1.bpel"</span> %% <span class="delete">xsd:QName, ex:label="Workflow 1",
+ ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI])</span><span class="insert">xsd:anyURI ])</span>
</pre>
Since the workflow <span class="name">ex:wf</span> is itself an entity, its provenance can also be expressed in PROV-DM: it can be generated by some activity and derived from other entities,
for instance.
</div>
-<div class="anexample" id="anexample-wasAssociateWith-2">
+<div class="anexample" id="anexample-wasAssociatedWith-2" count="32">
<p>In some cases, one wants to indicate a plan was followed, without having to specify which agent was involved.</p>
-<pre class="codeexample">activity(ex:a,[prov:type="workflow execution"])
+<pre class="codeexample"><span class="delete">activity(ex:a,[prov:type="workflow execution"])
wasAssociatedWith(ex:a,-,ex:wf)
-<span class="delete">entity(ex:wf,[prov:type="prov:Plan"%% xsd:QName,</span><span class="insert">entity(ex:wf,[prov:type='prov:Plan',</span> ex:label="Workflow 1",
- ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI])
+entity(ex:wf,[prov:type="prov:Plan"%% xsd:QName, </span><span class="insert">activity(ex:a, [ prov:type="workflow execution" ])
+wasAssociatedWith(ex:a, -, ex:wf)
+entity(ex:wf, [ prov:type='prov:Plan',
+ </span>ex:label="Workflow 1",
+
+ ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI])
</pre>
In this case, it is assumed that an agent exists, but it has not been specified.
</div>
@@ -2828,12 +2984,12 @@
<div class="glossary-ref"> <span class="delete">Responsibility</span> <dfn id="concept-delegation"><span class="insert">Delegation</span></dfn> is the <span class="delete">fact</span><span class="insert">assignment of authority to an agent (by itself or by another agent) to carry out a specific activity as a delegate or representative, while the agent</span> that <span class="delete">an agent is accountable</span><span class="insert">it represents remains responsible</span> for the <span class="delete">actions of a "subordinate" agent, in the context of an activity. </span><span class="insert">outcome of the delegated work. </span></div>
-<p><span class="delete">PROV offers a mild version of responsibility
+<p><span class="delete">PROV offers</span><span class="insert">For example,</span> a<span class="delete"> mild version of responsibility
in the form of a relation to represent when an agent acted on another
agent's behalf. So for example someone running a mail program,
the program and the person are both
agents of the activity; furthermore, the mail software
-agent is running on the person's behalf. In another</span><span class="insert">For</span> example, <span class="delete">the</span><span class="insert">a</span>
+agent is running on the person's behalf. In another example, the</span>
student acted on behalf of his supervisor, who acted on behalf of the
department chair, who acted on behalf of the university; all those
agents are responsible in some way for the activity that took place but
@@ -2843,7 +2999,7 @@
<p>
</p><div class="attributes" id="attributes-delegation">
-A <dfn title="actedOnBehalfOf" id="dfn-actedonbehalfof"><span class="delete">responsibility</span><span class="insert">delegation</span></dfn> link<span class="withPn">, written <span class="pnExpression"><span class="delete">actedOnBehalfOf(id,ag2,ag1,a,attrs)</span><span class="insert">actedOnBehalfOf(id;ag2,ag1,a,attrs)</span></span> in PROV-N,</span> has:
+A <dfn title="actedOnBehalfOf" id="dfn-actedonbehalfof"><span class="delete">responsibility</span><span class="insert">delegation</span></dfn> link<span class="withPn">, written <span class="pnExpression"><span class="delete">actedOnBehalfOf(id,ag2,ag1,a,attrs)</span><span class="insert">actedOnBehalfOf(id; ag2, ag1, a, attrs)</span></span> in PROV-N,</span> has:
<ul>
<li><span class="attribute" id="delegation.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the <span class="delete">responsibility</span><span class="insert">delegation</span> link between <span class="delete">subordinate</span><span class="insert">delegate</span> and responsible;</li>
<li><span class="delete">subordinate</span><span class="attribute" id="delegation.delegate"><span class="insert">delegate</span></span>: an identifier (<span class="name">ag2</span>) for the agent associated with an activity, acting on behalf of the responsible
@@ -2854,19 +3010,27 @@
</ul></div>
-<div class="anexample">
+<div class="anexample" count="33">
<p>The following fragment describes three agents: a programmer, a researcher, and a funder. The programmer and researcher are associated with a workflow activity. The programmer acts on behalf
of the researcher <span class="delete">(delegation)</span><span class="insert">(line-management)</span> encoding the commands specified by the researcher; the researcher acts on behalf of the funder, who has a contractual agreement with the researcher. The terms
<span class="delete">'delegation'</span><span class="insert">'line-management'</span> and <span class="delete">'contact'</span><span class="insert">'contract'</span> used in this example are domain specific.</p>
-<pre class="codeexample">activity(a,[prov:type="workflow"])
+<pre class="codeexample"><span class="delete">activity(a,[prov:type="workflow"])
agent(ag1,[prov:type="programmer"])
agent(ag2,[prov:type="researcher"])
agent(ag3,[prov:type="funder"])
wasAssociatedWith(a,ag1,[prov:role="loggedInUser"])
wasAssociatedWith(a,ag2)
wasAssociatedWith(a,ag3)
-<span class="delete">actedOnBehalfOf(ag1,ag2,a,[prov:type="delegation"])</span><span class="insert">actedOnBehalfOf(ag1,ag2,a,[prov:type="line-management"])</span>
-actedOnBehalfOf(ag2,ag3,a,[prov:type="contract"])
+actedOnBehalfOf(ag1,ag2,a,[prov:type="delegation"])
+actedOnBehalfOf(ag2,ag3,a,[prov:type="contract"])</span><span class="insert">activity(a,[ prov:type="workflow" ])
+agent(ag1, [ prov:type="programmer" ])
+agent(ag2, [ prov:type="researcher" ])
+agent(ag3, [ prov:type="funder" ])
+wasAssociatedWith(a, ag1, [ prov:role="loggedInUser" ])
+wasAssociatedWith(a, ag2)
+wasAssociatedWith(a, ag3)
+actedOnBehalfOf(ag1, ag2, a, [ prov:type="line-management" ])
+actedOnBehalfOf(ag2, ag3, a, [ prov:type="contract" ])</span>
</pre>
</div>
@@ -2883,20 +3047,22 @@
-<p>The third component of PROV-DM is concerned with <a title="derivation" href="#concept-derivation" class="internalDFN">derivations</a> of <a title="entity" href="#concept-entity" class="internalDFN">entities</a> from others, and derivation subtypes <a href="#concept-revision" class="internalDFN">Revision</a>, <a href="#concept-quotation" class="internalDFN">Quotation</a>, <a href="#concept-original-source" class="internalDFN">Original Source</a>, and <a href="#concept-trace" class="internalDFN">Trace</a>.
-
- <a href="#figure-component3">Figure <span class="delete">figure-component3</span><span class="insert">7</span></a> depicts the third component with three classes (Entity, Activity, and Agent) and associations between them. <span class="insert">As before, the yellow are includes PROV core structures, whereas extended structures are found outside this area. </span>UML association classes express<span class="insert"> expanded</span> n-ary relations.
+<p>The third component of PROV-DM is concerned <span class="delete">with</span><span class="insert">with:</span> <a title="derivation" href="#concept-derivation" class="internalDFN">derivations</a> of <a title="entity" href="#concept-entity" class="internalDFN">entities</a> from <span class="delete">others, and</span><span class="insert">others;</span> derivation subtypes <a href="#concept-revision" class="internalDFN">Revision</a>, <a href="#concept-quotation" class="internalDFN">Quotation</a>, <span class="insert">and </span><a href="#concept-original-source" class="internalDFN">Original Source</a><span class="delete">, and</span><span class="insert">; derivation-related</span> <a href="#concept-trace" class="internalDFN">Trace</a>.
+
+ <a href="#figure-component3">Figure <span class="delete">figure-component3</span><span class="insert">7</span></a> depicts the third component
+with <span class="delete">three </span><span class="insert">PROV core structures in the yellow area, including two </span>classes<span class="delete"> (Entity, Activity,</span><span class="insert">
+(</span><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a><span class="insert">, </span><a href="#concept-activity" class="internalDFN"><span class="insert">Activity</span></a><span class="insert">)</span> and <span class="delete">Agent) and associations between them.</span><span class="insert">binary association
+(</span><a href="#concept-derivation" class="internalDFN"><span class="insert">Derivation</span></a><span class="insert">). PROV extended structures are found outside this
+area.</span> UML association classes express<span class="insert"> expanded</span> n-ary relations.
</p>
<div style="text-align: center;">
-
<figure>
<img src="uml/component3.png" alt="derivation">
-<figcaption id="figure-component3">Figure 7: Derivation Component Overview
-</figcaption>
+<div class="figcaption" id="figure-component3">Figure 7: Derivation Component Overview</div>
</figure>
</div>
@@ -2907,14 +3073,14 @@
-<div class="glossary-ref"> A <dfn id="concept-derivation">derivation</dfn> is a transformation of an entity into another, <span class="delete">a</span><span class="insert">an update of an entity, resulting in a new one, or based on an entity, the</span> construction of <span class="delete">an entity into another, or an update of an entity, resulting in a new one.</span><span class="insert">another.</span></div>
+<div class="glossary-ref"> A <dfn id="concept-derivation">derivation</dfn> is a transformation of an entity into another, <span class="insert">an update of an entity, resulting in </span>a <span class="insert">new one, or based on an entity, the </span>construction of <span class="delete">an entity into another, or an update of an entity, resulting in a new one.</span><span class="insert">another.</span></div>
<p>According to <a href="#section-prov-overview">Section 2</a>, for an entity to be transformed from, created from, or resulting from an update to another, there must be some
underpinning activities performing the necessary actions resulting in such a derivation.
-A derivation can be described at various levels of precision. In its simplest form, derivation relates two entities. Optionally, attributes can be added to represent further information about the derivation. If the derivation is the result of a single known activity, then this activity can also be optionally expressed. To provide a completely accurate description of the derivation, the generation and usage of the generated and used entities, respectively, can be provided. Optional information such as activity, generation, and usage can be linked to derivations to aid analysis of provenance and to facilitate provenance-based reproducibility. </p>
+A derivation can be described at various levels of precision. In its simplest form, derivation relates two entities. Optionally, attributes can be added to represent further information about the derivation. If the derivation is the result of a single known activity, then this activity can also be optionally expressed. To provide a completely accurate description of the derivation, the generation and usage of the generated and used entities, respectively, can be <span class="delete">provided.</span><span class="insert">provided, so as to make the derivation path, through usage, activity, and generation, explicit.</span> Optional information such as activity, generation, and usage can be linked to derivations to aid analysis of provenance and to facilitate provenance-based reproducibility. </p>
<p></p><div class="attributes" id="attributes-derivation">A <dfn title="wasDerivedFrom" id="dfn-wasderivedfrom">derivation</dfn><span class="withPn">, written <span class="pnExpression" id="pn-wasDerivedFrom"><span class="delete">wasDerivedFrom(id,</span><span class="insert">wasDerivedFrom(id;</span> e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:
@@ -2931,7 +3097,7 @@
-<div class="anexample">
+<div class="anexample" count="34">
<p>The following descriptions are about derivations between <span class="name">e2</span> and <span class="name">e1</span>, but no information is provided as to the identity of the activity (and usage and generation) underpinning the derivation. In the second line, a type attribute is also provided.</p>
<pre class="codeexample">wasDerivedFrom(e2, e1)
wasDerivedFrom(e2, e1, [prov:type="physical transform"])
@@ -2978,7 +3144,7 @@
-<div class="anexample" id="anexample-revision">
+<div class="anexample" id="anexample-revision" count="35">
<p>
Revisiting the example of <a href="#section-example-two">Section <span class="delete">3.2</span><span class="insert">4.2</span></a>,
we can now state that the report
@@ -3002,9 +3168,9 @@
<span class="glossary-ref"> A <dfn id="concept-quotation">quotation</dfn> is the repeat of (some or all of) an entity, such as text or image, by someone <span class="delete">other than</span><span class="insert">who may or may not be</span> its original author. </span>
</p>
-<span class="delete">Quotation
- is a particular case of </span><span class="delete">derivation</span><span class="delete"> in which entity </span><span class="delete">e2</span><span class="delete"> is derived from an original entity </span><span class="delete">e1</span><span class="delete"> by copying, or "quoting", some or all of it.
- A </span><span class="delete">quotation</span><span class="delete"> relation</span><span class="delete">, written </span><span class="delete">wasQuotedFrom(id,e2,e1,ag2,ag1,attrs)</span><span class="delete"> in PROV-N,</span><span class="delete"> has:</span>
+<p>Quotation
+ is a particular case of <a href="#concept-derivation" class="internalDFN">derivation</a> in which <span class="insert">an </span>entity <span class="delete">e2</span> is derived from an original entity <span class="delete">e1</span> by copying, or "quoting", some or all of it.<span class="delete">
+ A </span><span class="delete">quotation</span><span class="delete"> relation</span><span class="delete">, written </span><span class="delete">wasQuotedFrom(id,e2,e1,ag2,ag1,attrs)</span><span class="delete"> in PROV-N,</span><span class="delete"> has:</span></p>
<span class="delete">id</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> identifier for the relation;</span>
<span class="delete">quote</span><span class="delete">: an identifier (</span><span class="delete">e2</span><span class="delete">) for the entity that represents the quote (the partial copy);
@@ -3019,16 +3185,18 @@
-<div class="anexample" id="anexample-quotation">
+
+<div class="anexample" id="anexample-quotation" count="36">
<p>
The following paragraph is a quote from one of <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/">the author's blogs</a>.
</p><blockquote id="bl-dagstuhl"><em>
"During the workshop, it became clear to me that the consensus based models (which are often graphical in nature) can not only be formalized but also be directly connected to these database focused formalizations. I just needed to get over the differences in syntax. This could imply that we could have nice way to trace provenance across systems and through databases and be able to understand the mathematical properties of this interconnection."</em>
</blockquote>
<p>If <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/"><span class="name">wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/</span></a> denotes the original blog by agent <span class="name">ex:Paul</span>, and
- <a href="#bl-dagstuhl"><span class="name">dm:bl-dagstuhl</span></a> denotes the above paragraph, then the following descriptions express that the above paragraph is copied by agent <span class="name">ex:Luc</span> from a part of the blog, attributed to the agent <span class="name">ex:Paul</span>.</p>
+ <a href="#bl-dagstuhl"><span class="name">dm:bl-dagstuhl</span></a> denotes the above paragraph, then the following descriptions express that the above paragraph <span class="delete">is</span><span class="insert">was</span> copied by agent <span class="name">ex:Luc</span> from a part of the blog, attributed to the agent <span class="name">ex:Paul</span>.</p>
<pre class="codeexample">entity(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/)
-agent(ex:Luc)
+<span class="insert">entity(dm:bl-dagstuhl)
+</span>agent(ex:Luc)
agent(ex:Paul)
<span class="delete">wasQuotedFrom(dm:bl-dagstuhl,wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/,ex:Luc,ex:Paul)</span><span class="insert">wasDerivedFrom(dm:bl-dagstuhl,
wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/,
@@ -3066,13 +3234,13 @@
<span class="delete">attributes</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> set (</span><span class="delete">attrs</span><span class="delete">) of attribute-value pairs representing additional information about this relation.</span>
-<div class="anexample">
+<div class="anexample" count="37">
<p>
Let us consider the concept introduced in the current section, identified as <a href="#concept-original-source"><span class="name">dm:concept-original-source</span></a>, and
the Google page <a href="http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html"><span class="name">go:credit-where-credit-is-due.html</span></a>, where the notion original-source was originally described (to the knowledge of the authors).
</p><pre class="codeexample">entity(dm:concept-original-source)
entity(go:credit-where-credit-is-due.html)
-<span class="delete">hadOriginalSource(dm:concept-original-source,go:credit-where-credit-is-due.html)</span><span class="insert">wasDerivedFrom(dm:concept-original-source,go:credit-where-credit-is-due.html,
+<span class="delete">hadOriginalSource(dm:concept-original-source,go:credit-where-credit-is-due.html)</span><span class="insert">wasDerivedFrom(dm:concept-original-source, go:credit-where-credit-is-due.html,
[ prov:type='prov:HadOriginalSource' ])</span>
</pre>
</div>
@@ -3093,26 +3261,26 @@
some responsibility for <span class="name">e2</span>'s existence.
-</p><p>A <dfn title="tracedTo" id="dfn-tracedto">Trace</dfn> relation <span class="withPn">, written <span class="pnExpression"><span class="delete">tracedTo(id,e2,e1,attrs)</span><span class="insert">tracedTo(id;e2,e1,attrs)</span></span> in PROV-N,</span> has:</p>
+</p><p>A <dfn title="tracedTo" id="dfn-tracedto">Trace</dfn> relation <span class="withPn">, written <span class="pnExpression"><span class="delete">tracedTo(id,e2,e1,attrs)</span><span class="insert">tracedTo(id; e2, e1, attrs)</span></span> in PROV-N,</span> has:</p>
<ul>
<li><span class="attribute" id="trace.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
<li><span class="attribute" id="trace.entity">entity</span>: an identifier (<span class="name">e2</span>) for an entity;
</li><li><span class="attribute" id="trace.ancestor">ancestor</span>: an identifier (<span class="name">e1</span>) for an ancestor entity that the former depends on;
</li><li><span class="attribute" id="trace.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
</ul>
-<p>We note that the ancestor is allowed to be an agent since agents are entities. </p>
+<p>We note that the ancestor <span class="delete">is allowed to</span><em class="rfc2119" title="may"><span class="insert">may</span></em> be an agent since agents <span class="delete">are </span><span class="insert">may be </span>entities. </p>
<p>
<a href="#concept-derivation" class="internalDFN">Derivation</a> and <a href="#concept-attribution" class="internalDFN">attribution</a> are particular cases of trace.
</p>
-<div class="anexample">
-<p>We refer to the example of <a href="#section-example-two">Section <span class="delete">3.1</span><span class="insert">4.1</span></a>, and specifically to <a href="#prov-a-document2">Figure 3</a>. We can see that there is a path from
+<div class="anexample" count="38">
+<p>We refer to the example of <a href="#section-example-two">Section <span class="delete">3.1</span><span class="insert">4.2</span></a>, and specifically to <a href="#prov-a-document2-top">Figure 3</a>. We can see that there is a path from
<span class="name">tr:WD-prov-dm-20111215</span> to
<span class="name">w3:Consortium</span> and to
<span class="name">process:rec-advance</span>. This is expressed as follows.
-</p><pre class="codeexample"> tracedTo(tr:WD-prov-dm-20111215,w3:Consortium)
- tracedTo(tr:WD-prov-dm-20111215,process:rec-advance)
+</p><pre class="codeexample"> <span class="delete">tracedTo(tr:WD-prov-dm-20111215,w3:Consortium)</span><span class="insert">tracedTo(tr:WD-prov-dm-20111215, w3:Consortium)</span>
+ <span class="delete">tracedTo(tr:WD-prov-dm-20111215,process:rec-advance)</span><span class="insert">tracedTo(tr:WD-prov-dm-20111215, process:rec-advance)</span>
</pre>
</div>
@@ -3131,18 +3299,16 @@
relations <a href="#concept-specialization" class="internalDFN">specialization</a> and <a href="#concept-alternate" class="internalDFN">alternate</a> between entities.
<a href="#figure-component4">Figure <span class="delete">figure-component4</span><span class="insert">8</span></a> depicts
-the fourth component with a single class and two associations.
+the fourth component with a single class and two<span class="insert"> binary</span> associations.
</p>
<div style="text-align: center;">
-
<figure>
<img src="uml/component4.png" alt="alternates">
-<figcaption id="figure-component4">Figure 8: Alternates Component Overview
-</figcaption>
+<div class="figcaption" id="figure-component4">Figure 8: Alternates Component Overview</div>
</figure>
</div>
@@ -3150,8 +3316,8 @@
<p><span class="delete">Wherever two people describe the</span><span class="insert">Two</span> provenance <span class="delete">of a</span><span class="insert">descriptions about the</span> same <span class="delete">thing,
one cannot expect them to coordinate and agree on the identifiers to use to denote</span><span class="insert">thing may emphasize differents aspects of</span> that thing.</p>
-<div class="anexample" id="entity-example1">
-<p>User Alice writes an article. In its provenance, she wishes to refer to the precise version of the article with a date-specific URI, as she might edit the article later. Alternatively, user Bob refers to the article in general, independently of its variants over time.</p>
+<div class="anexample" id="entity-example1" count="39">
+<p>User Alice writes an article. In its provenance, she wishes to refer to the precise version of the article with a date-specific <span class="delete">URI,</span><span class="insert">IRI,</span> as she might edit the article later. Alternatively, user Bob refers to the article in general, independently of its variants over time.</p>
</div>
<p>
<span class="delete">To allow for identifiers to be chosen freely</span><span class="insert">The PROV data model introduces relations, called specialization</span> and <span class="delete">independently by each user, the PROV data model introduces relations</span><span class="insert">alternate,</span>
@@ -3168,7 +3334,7 @@
<p>
-Examples of constraints include a time period, an abstraction, and a context associated with the entity.</p>
+Examples of <span class="delete">constraints </span><span class="insert">aspects </span>include a time period, an abstraction, and a context associated with the entity.</p>
@@ -3182,7 +3348,7 @@
</ul>
</div>
-<div class="anexample" id="anexample-specialization">
+<div class="anexample" id="anexample-specialization" count="40">
<p>
The BBC news home page on 2012-03-23 <span class="name">ex:bbcNews2012-03-23</span>
is a specialization of the BBC news page in general
@@ -3218,7 +3384,7 @@
</ul>
</div>
-<div class="anexample" id="anexample-alternate">
+<div class="anexample" id="anexample-alternate" count="41">
<p>
A given news item on the BBC News site
<a href="http://www.bbc.co.uk/news/science-environment-17526723">bbc:news/science-environment-17526723</a> for desktop
@@ -3232,7 +3398,7 @@
</div>
-<div class="anexample" id="anexample-alternate2">
+<div class="anexample" id="anexample-alternate2" count="42">
<p>
Considering again the two versions of the technical report <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> (second working draft) and <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span> (first working draft). They are alternate of each other.
</p><pre class="codeexample">entity(tr:WD-prov-dm-20111018)
@@ -3260,7 +3426,7 @@
<figure>
<img src="uml/component5.png" alt="bundles">
-<figcaption id="figure-component5"><span class="insert">Figure 9: Bundle Component Overview</span></figcaption>
+<div class="figcaption" id="figure-component5"><span class="insert">Figure 9: Bundle Component Overview</span></div>
</figure>
</div>
@@ -3300,7 +3466,7 @@
<h4><span class="secno"><span class="insert">5.5.2 </span></span><span class="insert">Bundle Description</span></h4>
-<p><span class="insert">A bundle is a named set of descriptions, but also it is also an entity so that its provenance can be described. </span></p><span class="insert">
+<p><span class="insert">A bundle is a named set of descriptions, but it is also an entity so that its provenance can be described. </span></p><span class="insert">
PROV defines the following type for bundles:
</span><ul>
@@ -3316,10 +3482,13 @@
</span></p>
-<p><span class="insert">The provenance of provenance can then be described using PROV constructs, as illustrated by the following example. </span></p>
-
-<div class="anexample" id="anexample-provenance-of-provenance">
-<p><span class="insert">Let us consider an example consisting of two entities </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">ex:report2</span></span><span class="insert">.</span></p>
+<p><span class="insert">The provenance of provenance can then be described using PROV constructs, as illustrated by
+</span><a href="#anexample-provenance-of-provenance" class="anexample-ref"><span><span class="insert">Example 43</span></span></a><span class="insert">
+and
+</span><a href="#anexample-provenance-aggregation" class="anexample-ref"><span><span class="insert">Example 44</span></span></a><span class="insert">.</span></p>
+
+<div class="anexample" id="anexample-provenance-of-provenance" count="43">
+<p><span class="insert">Let us consider two entities </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">ex:report2</span></span><span class="insert">.</span></p>
<pre class="codeexample"><span class="insert">
entity(ex:report1, [ prov:type="report", ex:version=1 ])
wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)
@@ -3365,7 +3534,7 @@
</span></pre>
</div>
-<div class="anexample" id="anexample-provenance-aggregation">
+<div class="anexample" id="anexample-provenance-aggregation" count="44">
<p><span class="insert">A provenance aggregator could merge two bundles, resulting in a novel bundle, whose provenance is described as follows.</span></p>
<pre class="codeexample"><span class="insert">
bundle agg:bundle3
@@ -3394,11 +3563,11 @@
<h4><span class="secno"><span class="insert">5.5.3 </span></span><span class="insert">Provenance Locator</span></h4><span class="insert">
-In </span><a href="#anexample-provenance-of-provenance"><span class="insert">Example anexample-provenance-of-provenance</span></a><span class="insert">, we initially presented a scenario involving two entities </span><span class="name"><span class="insert">report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">report2</span></span><span class="insert">, 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 [</span><cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ"><span class="insert">PROV-AQ</span></a></cite><span class="insert">], it is not obvious for a provenance consumer to navigate descriptions across bundles. To aid consumers,
+In </span><a href="#anexample-provenance-of-provenance" class="anexample-ref"><span><span class="insert">Example 43</span></span></a><span class="insert">, we initially presented a scenario involving two entities </span><span class="name"><span class="insert">report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">report2</span></span><span class="insert">, and showed how their descriptions can be organized into two bundles. There is no explicit indication that the second bundle "is a continuation" of the description offered by the first bundle. Given that bundles may be retrieved separately [</span><cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ"><span class="insert">PROV-AQ</span></a></cite><span class="insert">], it is not obvious for a provenance consumer to navigate descriptions across bundles. To aid consumers,
Alice may wish to express that there is further provenance information about </span><span class="name"><span class="insert">report1</span></span><span class="insert"> in bundle </span><span class="name"><span class="insert">bob:bundle1</span></span><span class="insert">. To this end, PROV introduces the notion of provenance locator, inspired by [</span><cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ"><span class="insert">PROV-AQ</span></a></cite><span class="insert">].
-</span><p></p><div class="glossary-ref"><span class="insert"> A </span><dfn id="concept-provenance-locator"><span class="insert">provenance locator</span></dfn><span class="insert"> is information that helps locate provenance descriptions. It may identify a service, or may consist of a URI where provenance descriptions can be found. It can further identify a bundle within which provenance descriptions can be found. </span></div>
+</span><p></p><div class="glossary-ref"><span class="insert"> A </span><dfn id="concept-provenance-locator"><span class="insert">provenance locator</span></dfn><span class="insert"> is information that helps locate provenance descriptions. It can identify a bundle within which provenance descriptions can be found. It may further identify a service, or may offer a IRI where provenance descriptions can be found. </span></div>
<p>
@@ -3421,21 +3590,21 @@
</span></p></div>
<p><span class="insert">When the subject and optional target denote entities,
-a provenance locator not only provides a located context, but it also expresses an </span><a href="#concept-alternate" class="internalDFN"><span class="insert">alternate</span></a><span class="insert"> relation between the entity denoted by </span><span class="name"><span class="insert">subject</span></span><span class="insert"> and the entity described in the located context. This is a alternate since the entity denoted by </span><span class="name"><span class="insert">subject</span></span><span class="insert"> in the current context presents other aspects than the entity in the located one.</span></p>
-
-<div class="anexample" id="anexample-provenance-locator">
+a provenance locator not only provides a </span><em><span class="insert">located context</span></em><span class="insert">, but it also expresses an </span><a href="#concept-alternate" class="internalDFN"><span class="insert">alternate</span></a><span class="insert"> relation between the entity denoted by </span><span class="name"><span class="insert">subject</span></span><span class="insert"> and the entity described in the located context. This is an alternate since the entity denoted by </span><span class="name"><span class="insert">subject</span></span><span class="insert"> in the current context presents other aspects than the entity in the located one.</span></p>
+
+<div class="anexample" id="anexample-provenance-locator" count="45">
<p><span class="insert">According to the following provenance locator, provenance descriptions about </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> can be found in bundle </span><span class="name"><span class="insert">bob:bundle1</span></span><span class="insert">.</span></p>
<pre class="codeexample"><span class="insert">
hasProvenanceIn(ex:report1, bob:bundle1, -)
</span></pre>
<p><span class="insert">According to the following provenance locator, provenance descriptions about </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> can be found in bundle </span><span class="name"><span class="insert">bob:bundle1</span></span><span class="insert">, which is available from the provenance service identified by the provided URI.</span></p>
<pre class="codeexample"><span class="insert">
-hasProvenanceIn(ex:report1, bob:bundle1, -, [ prov:service-uri="http://example.com/service"^xsd:anyURI ])
+hasProvenanceIn(ex:report1, bob:bundle1, -, [ prov:service-uri="http://example.com/service" %% xsd:anyURI ])
</span></pre>
</div>
-<div class="anexample" id="anexample-provenance-locator2">
+<div class="anexample" id="anexample-provenance-locator2" count="46">
<p><span class="insert">Let us again consider the same scenario involving two entities </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">ex:report2</span></span><span class="insert">.</span></p>
<p><span class="insert">The first bundle can be expressed with all Bob's observations about the creation of </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">.
</span></p>
@@ -3463,7 +3632,7 @@
</div>
-<div class="anexample" id="anexample-provenance-locator3">
+<div class="anexample" id="anexample-provenance-locator3" count="47">
<p><span class="insert">Alternatively, Alice may have decided to use a different identifier for </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">.</span></p>
<pre class="codeexample"><span class="insert">
bundle alice:bundle6
@@ -3479,8 +3648,8 @@
</span><span class="name"><span class="insert">bob:bundle4</span></span><span class="insert"> under the name </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">. In effect, </span><span class="name"><span class="insert">alice:report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> are declared to be alternate.</span></p>
</div>
-<div class="anexample" id="aexample-note">
-<p><span class="insert">Consider that the following bundle of descriptions, in which derivation and generations have been identified.
+<div class="anexample" id="aexample-note" count="48">
+<p><span class="insert">Consider the following bundle of descriptions, in which derivation and generations have been identified.
</span></p><pre class="codeexample"><span class="insert">
bundle obs:bundle7
entity(ex:report1, [prov:type="report", ex:version=1])
@@ -3498,11 +3667,11 @@
entity(tool:bundle8, [ prov:type='viz:Configuration', prov:type='prov:Bundle' ])
wasAttributedTo(tool:bundle8, viz:Visualizer)
- entity(ex:report1, [viz:color="orange"])
+ entity(ex:report1, [viz:color="orange"]) // ex:report1 is a reused identifier
hasProvenanceIn(ex:report1, obs:bundle7, -)
- entity(ex:report2, [viz:color="blue"])
- hasProvenanceIn(ex:report2, obs:bundle7, -)
+ entity(tool:r2, [viz:color="blue"]) // tool:r2 is a new identifier
+ hasProvenanceIn(tool:r2, obs:bundle7, ex:report2)
wasDerivedBy(ex:d; ex:report2, ex:report1, [viz:style="dotted"])
hasProvenanceIn(ex:d, obs:bundle7, -)
@@ -3514,7 +3683,9 @@
<p><span class="insert">Bundle </span><span class="name"><span class="insert">tool:bundle8</span></span><span class="insert"> is given type </span><span class="name"><span class="insert">viz:Configuration</span></span><span class="insert"> 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.
</span></p>
-<p><span class="insert">Alternates of the entities </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">ex:report2</span></span><span class="insert"> have a visualization attribute for the color to be used when rendering these entities.
+<p><span class="insert">For the purpose of illustration, we show that the visualisation tool
+reused identifier </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">, but created a new identifier </span><span class="name"><span class="insert">tool:r2</span></span><span class="insert">.
+They denote entities which are alternates of with </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">ex:report2</span></span><span class="insert">, described in bundle </span><span class="name"><span class="insert">obs:bundle7</span></span><span class="insert">, with visualization attribute for the color to be used when rendering these entities.
Likewise, the derivation has a style attribute. </span></p>
<p><span class="insert">According to their definition,
@@ -3545,8 +3716,7 @@
<img src="uml/component6.png" alt="dictionaries">
-<figcaption id="figure-component6">Figure <span class="delete">9:</span><span class="insert">10:</span> Collections Component Overview
-</figcaption>
+<div class="figcaption" id="figure-component6">Figure <span class="delete">9:</span><span class="insert">10:</span> Collections Component Overview</div>
</figure>
</div>
@@ -3593,7 +3763,7 @@
-<div class="anexample">
+<div class="anexample" count="49">
<pre class="codeexample">entity(d0, <span class="delete">[prov:type="prov:EmptyDictionary" %% xsd:QName])</span><span class="insert">[prov:type='prov:EmptyDictionary' ])</span> // d0 is an empty dictionary
entity(d1, <span class="delete">[prov:type="prov:Dictionary"</span><span class="insert">[prov:type='prov:Dictionary'</span> <span class="delete">%% xsd:QName])</span><span class="insert">])</span> // d1 is a dictionary, with unknown content
</pre>
@@ -3635,7 +3805,7 @@
-<div class="anexample">
+<div class="anexample" count="50">
<pre class="codeexample">entity(d0, <span class="delete">[prov:type="prov:EmptyDictionary" %% xsd:QName])</span><span class="insert">[prov:type='prov:EmptyDictionary' ])</span> // d0 is an empty dictionary
entity(e1)
entity(e2)
@@ -3657,7 +3827,7 @@
<p>Insertion provides an "update semantics" for the keys that are already present in a dictionary,
since a new pair replaces an existing pair with the same key in the new dictionary. This is illustrated by the following example.</p>
-<div class="anexample">
+<div class="anexample" count="51">
<pre class="codeexample">entity(d0, <span class="delete">[prov:type="prov:EmptyDictionary" %% xsd:QName])</span><span class="insert">[prov:type='prov:EmptyDictionary' ])</span> // d0 is an empty dictionary
entity(e1)
entity(e2)
@@ -3702,7 +3872,7 @@
<p>A Removal relation <span class="name"><span class="delete">derivedByRemovalFrom(id,</span><span class="insert">derivedByRemovalFrom(id;</span> d2,d1, {key_1, ..., key_n})</span> states that <span class="name">d2</span> is the state of the dictionary following the removal of the set of pairs corresponding to keys <span class="name">key_1...key_n</span> from <span class="name">d1</span>.
-</p><div class="anexample">
+</p><div class="anexample" count="52">
<pre class="codeexample">entity(d0, [prov:type="prov:EmptyDictionary"]) // d0 is an empty dictionary
entity(e1)
entity(e2)
@@ -3755,7 +3925,7 @@
<p>The description <span class="name">memberOf(c, {(key_1, e_1), ..., (key_n, e_n)})</span> states that <span class="name">c</span> is known to include <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)}</span>, without having to introduce a previous state. </p>
-<div class="anexample">
+<div class="anexample" count="53">
<pre class="codeexample">entity(d1, <span class="delete">[prov:type="prov:Dictionary"</span><span class="insert">[prov:type='prov:Dictionary'</span> <span class="delete">%% xsd:QName])</span><span class="insert">])</span> // d1 is a dictionary, with unknown content
entity(d2, <span class="delete">[prov:type="prov:Dictionary"</span><span class="insert">[prov:type='prov:Dictionary'</span> <span class="delete">%% xsd:QName])</span><span class="insert">])</span> // d2 is a dictionary, with unknown content
@@ -3999,7 +4169,7 @@
<p> The attribute <dfn title="dfn-label" id="dfn-dfn-label"><span class="name">prov:label</span></dfn> provides a human-readable representation of a PROV-DM element or relation. The value associated with the attribute <span class="name">prov:label</span> <em class="rfc2119" title="must">must</em> be a string.</p>
-<div class="anexample">
+<div class="anexample" count="54">
<p>The following entity is provided with a label attribute.</p>
<pre class="codeexample"> entity(ex:e1, [prov:label="This is a label"])
</pre>
@@ -4020,7 +4190,7 @@
The attribute <span class="name">prov:location</span> is an <em class="rfc2119" title="optional">optional</em> attribute of entity, activity, usage, and generation. The value associated with the attribute <span class="name">prov:location</span> <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value</a>, expected to denote a location.
</p>
-<div class="anexample">
+<div class="anexample" count="55">
<p>The following expression describes entity Mona Lisa, a painting, with a location attribute. </p>
<pre class="codeexample"> entity(ex:MonaLisa, [prov:location="Le Louvres, Paris", prov:type="StillImage"])
</pre>
@@ -4038,7 +4208,7 @@
<p>The attribute <dfn title="dfn-role" id="dfn-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 <span class="delete">usage, generation,</span><a href="#concept-usage" class="internalDFN"><span class="insert">usage</span></a><span class="insert">, </span><a href="#concept-generation" class="internalDFN"><span class="insert">generation</span></a><span class="insert">,</span>
<span class="delete">association,</span><a href="#concept-association-core" class="internalDFN"><span class="insert">association</span></a><span class="insert">,</span> <span class="delete">start,</span><a href="#concept-start" class="internalDFN"><span class="insert">start</span></a><span class="insert">,</span> and <span class="delete">end.</span><a href="#concept-end" class="internalDFN"><span class="insert">end</span></a><span class="insert">.</span> The attribute <span class="name">prov:role</span> is allowed to occur multiple times in a list of attribute-value pairs. The value associated with a <span class="name">prov:role</span> attribute <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value</a>.</p>
-<div class="anexample">
+<div class="anexample" count="56">
<p>The following activity is associated with an agent acting as the operator. </p>
<pre class="codeexample"> wasAssociatedWith(a, ag, [prov:role="operator"])
</pre>
@@ -4053,7 +4223,7 @@
the value associated with a <span class="name">prov:type</span> attribute <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value.</a> The attribute <span class="name">prov:type</span>
is allowed to occur multiple times.</p>
-<div class="anexample">
+<div class="anexample" count="57">
<p>The following describes an agent of type software agent.</p>
<pre class="codeexample"> agent(ag, <span class="delete">[prov:type="prov:SoftwareAgent" %% xsd:QName])</span><span class="insert">[prov:type='prov:SoftwareAgent' ])</span>
</pre>
@@ -4108,7 +4278,7 @@
<p>The attribute <span class="name">prov:value</span> is an <em class="rfc2119" title="optional">optional</em> attribute of entity. The value associated with the attribute <span class="name">prov:value</span> <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value</a>. The attribute <span class="name">prov:value</span> <em class="rfc2119" title="may">may</em> occur at most once in a set of attribute-value pairs.</p>
-<div class="anexample">
+<div class="anexample" count="58">
<p>The following example illustrates the provenance of the number <span class="name">4</span> obtained by an activity that computed the length of an input string <span class="name">"abcd"</span>.
The input and the output are expressed as entities <span class="name">ex:in</span> and <span class="name">ex:out</span>, respectively. They each have a <span class="name">prov:value</span> attribute associated with the corresponding value.
</p>
@@ -4147,10 +4317,10 @@
</span><a href="#term-attribute-provenance-uri"><span class="name"><span class="insert">prov:provenance-uri</span></span></a><span class="insert"> are mutually exclusive.</span></p>
-<div class="anexample" id="anexample-provenance-uri">
+<div class="anexample" id="anexample-provenance-uri" count="59">
<p><span class="insert">According to the following provenance locator, provenance descriptions about </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> can be found in bundle </span><span class="name"><span class="insert">bob:bundle1</span></span><span class="insert">, which is available from the provenance service identified by the provided URI.</span></p>
<pre class="codeexample"><span class="insert">
-hasProvenanceIn(ex:report1, bob:bundle1, -, [ prov:provenance-uri="http://example.com/service"^xsd:anyURI ])
+hasProvenanceIn(ex:report1, bob:bundle1, -, [ prov:provenance-uri="http://example.com/service" %% xsd:anyURI ])
</span></pre>
</div>
@@ -4171,10 +4341,10 @@
</span><a href="#term-attribute-provenance-uri"><span class="name"><span class="insert">prov:provenance-uri</span></span></a><span class="insert"> are mutually exclusive.</span></p>
-<div class="anexample" id="anexample-service-uri">
+<div class="anexample" id="anexample-service-uri" count="60">
<p><span class="insert">According to the following provenance locator, provenance descriptions about </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> can be found in the resource identified by the provided URI.</span></p>
<pre class="codeexample"><span class="insert">
-hasProvenanceIn(ex:report1, [ prov:service=uri="http://example.com/some-provenance.pn"^xsd:anyURI ])
+hasProvenanceIn(ex:report1, [ prov:service=uri="http://example.com/some-provenance.pn" %% xsd:anyURI ])
</span></pre>
</div>
@@ -4225,7 +4395,7 @@
-<div class="anexample" id="anexample-value">
+<div class="anexample" id="anexample-value" count="61">
<p>
The following examples respectively are the string "abc", the integer number 1, and the IRI "http://example.org/foo".
</p><pre class="codeexample"> "abc"
@@ -4242,7 +4412,7 @@
-<div class="anexample" id="anexample-time">
+<div class="anexample" id="anexample-time" count="62">
<p>
In the following example, the generation time of entity <span class="name">e1</span> is expressed according to
<a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>].</p>
@@ -4279,7 +4449,7 @@
<li>Sub-types and sub-relations can be expressed by means of the reserved attribute
<a href="#term-attribute-type"><span class="name">prov:type</span></a>.
-<div class="anexample" id="anexample-sub-relation">
+<div class="anexample" id="anexample-sub-relation" count="63">
<p>
In the following example, <span class="name">e2</span> is a translation of <span class="name">e1</span>,
expressed as a sub-type of derivation.
@@ -4288,7 +4458,7 @@
</pre>
</div>
-<div class="anexample" id="anexample-sub-type">
+<div class="anexample" id="anexample-sub-type" count="64">
<p>
In the following example, <span class="name">e</span> is described as a Car, a type of entity.
</p><pre class="codeexample">
@@ -4375,16 +4545,17 @@
<div id="references" class="appendix section"><h2><span class="secno">B. </span>References</h2><div id="normative-references" class="section"><h3><span class="secno">B.1 </span>Normative references</h3><dl class="bibliography"><dt id="bib-IRI">[IRI]</dt><dd>M. Duerst, M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRI).</cite></a> January 2005. Internet RFC 3987. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3987.txt</a>
</dd><dt id="bib-RDF-CONCEPTS">[RDF-CONCEPTS]</dt><dd>Graham Klyne; Jeremy J. Carroll. <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210"><cite>Resource Description Framework (RDF): Concepts and Abstract Syntax.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210">http://www.w3.org/TR/2004/REC-rdf-concepts-20040210</a>
</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd>S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119. URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
+</dd><dt id="bib-UML"><span class="insert">[UML]</span></dt><dd><span class="insert">Object Management Group </span><a href="http://www.omg.org/spec/UML/2.0/Superstructure/PDF/"><cite><span class="insert">Unified Modeling Language: Superstructure</span></cite></a><span class="insert">. version 2.0, 2005URL: </span><a href="http://www.omg.org/spec/UML/2.0/Superstructure/PDF/"><span class="insert">http://www.omg.org/spec/UML/2.0/Superstructure/PDF/</span></a>
</dd><dt id="bib-URI">[URI]</dt><dd>T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifiers (URI): generic syntax.</cite></a> January 2005. Internet RFC 3986. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>
</dd><dt id="bib-XMLSCHEMA-2">[XMLSCHEMA-2]</dt><dd>Paul V. Biron; Ashok Malhotra. <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/"><cite>XML Schema Part 2: Datatypes Second Edition.</cite></a> 28 October 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/</a>
</dd></dl></div><div id="informative-references" class="section"><h3><span class="secno">B.2 </span>Informative references</h3><dl class="bibliography"><dt id="bib-Logic">[Logic]</dt><dd>W. E. Johnson<a href="http://www.ditext.com/johnson/intro-3.html"><cite>Logic: Part III</cite></a>.1924. URL: <a href="http://www.ditext.com/johnson/intro-3.html">http://www.ditext.com/johnson/intro-3.html</a>
</dd><dt id="bib-PROV-AQ">[PROV-AQ]</dt><dd>Graham Klyne and Paul Groth (eds.) Luc Moreau, Olaf Hartig, Yogesh Simmhan, James Meyers, Timothy Lebo, Khalid Belhajjame, and Simon Miles <a href="http://www.w3.org/TR/prov-aq/"><cite>Provenance Access and Query</cite></a>. 2011, Working Draft. URL: <a href="http://www.w3.org/TR/prov-aq/">http://www.w3.org/TR/prov-aq/</a>
</dd><dt id="bib-PROV-CONSTRAINTS">[PROV-CONSTRAINTS]</dt><dd>James Cheney, Paolo Missier, and Luc Moreau (eds.) <a href="http://www.w3.org/TR/prov-constraints/"><cite>Constraints of the PROV Data Model</cite></a>. 2011, Working Draft. URL: <a href="http://www.w3.org/TR/prov-constraints/">http://www.w3.org/TR/prov-constraints/</a>
-</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau and Paolo Missier (eds.)<a href="http://www.w3.org/TR/prov-n/"><cite>PROV-N: The Provenance Notation</cite></a>. 2011, Working Draft. URL: <a href="http://www.w3.org/TR/prov-n/">http://www.w3.org/TR/prov-n/</a>
-</dd><span class="delete">[PROV-O]</span><span class="delete">Satya Sahoo and Deborah McGuinness (eds.) Khalid Belhajjame, James Cheney, Daniel Garijo, Timothy Lebo, Stian Soiland-Reyes, and Stephan Zednik </span><span class="delete">Provenance Formal Model</span><span class="delete">. 2011, Working Draft. URL: </span><span class="delete">http://www.w3.org/TR/prov-o/</span>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau and Paolo Missier (eds.) <a href="http://www.w3.org/TR/prov-n/"><cite>PROV-N: The Provenance Notation</cite></a>. 2011, Working Draft. URL: <a href="http://www.w3.org/TR/prov-n/">http://www.w3.org/TR/prov-n/
+<span class="delete">[PROV-O]</span><span class="delete">Satya Sahoo and Deborah McGuinness (eds.) Khalid Belhajjame, James Cheney, Daniel Garijo, Timothy Lebo, Stian Soiland-Reyes, and Stephan Zednik </span><span class="delete">Provenance Formal Model</span><span class="delete">. 2011, Working Draft. URL: </span><span class="delete">http://www.w3.org/TR/prov-o/</span>
<span class="delete">[PROV-PRIMER]</span><span class="delete">Yolanda Gil and Simon Miles (eds.) Khalid Belhajjame, Helena Deus, Daniel Garijo, Graham Klyne, Paolo Missier, Stian Soiland-Reyes, and Stephan Zednik </span><span class="delete">Prov Model Primer</span><span class="delete">. 2011, Working Draft. URL: </span><span class="delete">http://www.w3.org/TR/prov-primer/</span>
-<span class="delete">[PROV-SEM]</span><span class="delete">James Cheney </span><span class="delete">Formal Semantics Strawman</span><span class="delete">. 2011, Work in progress. URL: </span><span class="delete">http://www.w3.org/2011/prov/wiki/FormalSemanticsStrawman</span>
-</dl></div></div></body></html>
-
-
-
+<span class="delete">[PROV-SEM]</span><span class="delete">James Cheney </span><span class="delete">Formal Semantics Strawman</span><span class="delete">. 2011, Work in progress. URL: </span><span class="delete">http://www.w3.org/2011/prov/wiki/FormalSemanticsStrawman</span></a>
+</dd></dl></div></div></body></html>
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/model/releases/ED-prov-dm-20120525/diff.html Fri May 25 10:51:50 2012 +0100
@@ -0,0 +1,4561 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html lang="en" dir="ltr">
+<head><style type="text/css"><!--
+
+.insert { background-color: #aaffaa }
+.delete { background-color: #ff8888; text-decoration: line-through }
+.tagInsert { background-color: #007700; color: #ffffff }
+.tagDelete { background-color: #770000; color: #ffffff }
+
+--></style>
+ <title>PROV-DM: The PROV Data Model</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+
+
+
+
+
+ <style type="text/css">
+ .note { font-size:small; margin-left:50px }
+ <span class="insert">
+
+table.thinborder {
+ border-width: 1px;
+ border-spacing: 0px;
+ border-style: none;
+ border-color: gray;
+ border-collapse: collapse;
+}
+table.thinborder th {
+ border-width: 1px;
+ padding: 0px;
+ border-style: solid;
+ border-color: gray;
+ -moz-border-radius: ;
+}
+table.thinborder td {
+ border-width: 1px;
+ padding: 2px;
+ border-style: solid;
+ border-color: gray;
+ -moz-border-radius: ;
+}
+</span></style>
+
+
+
+
+
+
+
+
+
+
+ <style type="text/css">
+/*****************************************************************
+ * ReSpec CSS
+ * Robin Berjon (robin at berjon dot com)
+ * v0.05 - 2009-07-31
+ *****************************************************************/
+
+
+/* --- INLINES --- */
+em.rfc2119 {
+ text-transform: lowercase;
+ font-variant: small-caps;
+ font-style: normal;
+ color: #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+ border: none;
+}
+
+dfn {
+ font-weight: bold;
+}
+
+a.internalDFN {
+ color: inherit;
+ border-bottom: 1px solid #99c;
+ text-decoration: none;
+}
+
+a.externalDFN {
+ color: inherit;
+ border-bottom: 1px dotted #ccc;
+ text-decoration: none;
+}
+
+a.bibref {
+ text-decoration: none;
+}
+
+code {
+ color: #ff4500;
+}
+
+
+/* --- WEB IDL --- */
+pre.idl {
+ border-top: 1px solid #90b8de;
+ border-bottom: 1px solid #90b8de;
+ padding: 1em;
+ line-height: 120%;
+}
+
+pre.idl::before {
+ content: "WebIDL";
+ display: block;
+ width: 150px;
+ background: #90b8de;
+ color: #fff;
+ font-family: initial;
+ padding: 3px;
+ font-weight: bold;
+ margin: -1em 0 1em -1em;
+}
+
+.idlType {
+ color: #ff4500;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+/*.idlModule*/
+/*.idlModuleID*/
+/*.idlInterface*/
+.idlInterfaceID, .idlDictionaryID {
+ font-weight: bold;
+ color: #005a9c;
+}
+
+.idlSuperclass {
+ font-style: italic;
+ color: #005a9c;
+}
+
+/*.idlAttribute*/
+.idlAttrType, .idlFieldType, .idlMemberType {
+ color: #005a9c;
+}
+.idlAttrName, .idlFieldName, .idlMemberName {
+ color: #ff4500;
+}
+.idlAttrName a, .idlFieldName a, .idlMemberName a {
+ color: #ff4500;
+ border-bottom: 1px dotted #ff4500;
+ text-decoration: none;
+}
+
+/*.idlMethod*/
+.idlMethType {
+ color: #005a9c;
+}
+.idlMethName {
+ color: #ff4500;
+}
+.idlMethName a {
+ color: #ff4500;
+ border-bottom: 1px dotted #ff4500;
+ text-decoration: none;
+}
+
+/*.idlParam*/
+.idlParamType {
+ color: #005a9c;
+}
+.idlParamName {
+ font-style: italic;
+}
+
+.extAttr {
+ color: #666;
+}
+
+/*.idlConst*/
+.idlConstType {
+ color: #005a9c;
+}
+.idlConstName {
+ color: #ff4500;
+}
+.idlConstName a {
+ color: #ff4500;
+ border-bottom: 1px dotted #ff4500;
+ text-decoration: none;
+}
+
+/*.idlException*/
+.idlExceptionID {
+ font-weight: bold;
+ color: #c00;
+}
+
+.idlTypedefID, .idlTypedefType {
+ color: #005a9c;
+}
+
+.idlRaises, .idlRaises a.idlType, .idlRaises a.idlType code, .excName a, .excName a code {
+ color: #c00;
+ font-weight: normal;
+}
+
+.excName a {
+ font-family: monospace;
+}
+
+.idlRaises a.idlType, .excName a.idlType {
+ border-bottom: 1px dotted #c00;
+}
+
+.excGetSetTrue, .excGetSetFalse, .prmNullTrue, .prmNullFalse, .prmOptTrue, .prmOptFalse {
+ width: 45px;
+ text-align: center;
+}
+.excGetSetTrue, .prmNullTrue, .prmOptTrue { color: #0c0; }
+.excGetSetFalse, .prmNullFalse, .prmOptFalse { color: #c00; }
+
+.idlImplements a {
+ font-weight: bold;
+}
+
+dl.attributes, dl.methods, dl.constants, dl.fields, dl.dictionary-members {
+ margin-left: 2em;
+}
+
+.attributes dt, .methods dt, .constants dt, .fields dt, .dictionary-members dt {
+ font-weight: normal;
+}
+
+.attributes dt code, .methods dt code, .constants dt code, .fields dt code, .dictionary-members dt code {
+ font-weight: bold;
+ color: #000;
+ font-family: monospace;
+}
+
+.attributes dt code, .fields dt code, .dictionary-members dt code {
+ background: #ffffd2;
+}
+
+.attributes dt .idlAttrType code, .fields dt .idlFieldType code, .dictionary-members dt .idlMemberType code {
+ color: #005a9c;
+ background: transparent;
+ font-family: inherit;
+ font-weight: normal;
+ font-style: italic;
+}
+
+.methods dt code {
+ background: #d9e6f8;
+}
+
+.constants dt code {
+ background: #ddffd2;
+}
+
+.attributes dd, .methods dd, .constants dd, .fields dd, .dictionary-members dd {
+ margin-bottom: 1em;
+}
+
+table.parameters, table.exceptions {
+ border-spacing: 0;
+ border-collapse: collapse;
+ margin: 0.5em 0;
+ width: 100%;
+}
+table.parameters { border-bottom: 1px solid #90b8de; }
+table.exceptions { border-bottom: 1px solid #deb890; }
+
+.parameters th, .exceptions th {
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+ font-family: initial;
+ font-weight: normal;
+ text-shadow: #666 1px 1px 0;
+}
+.parameters th { background: #90b8de; }
+.exceptions th { background: #deb890; }
+
+.parameters td, .exceptions td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+ vertical-align: top;
+}
+
+.parameters tr:first-child td, .exceptions tr:first-child td {
+ border-top: none;
+}
+
+.parameters td.prmName, .exceptions td.excName, .exceptions td.excCodeName {
+ width: 100px;
+}
+
+.parameters td.prmType {
+ width: 120px;
+}
+
+table.exceptions table {
+ border-spacing: 0;
+ border-collapse: collapse;
+ width: 100%;
+}
+
+/* --- TOC --- */
+.toc a {
+ text-decoration: none;
+}
+
+a .secno {
+ color: #000;
+}
+
+/* --- TABLE --- */
+table.simple {
+ border-spacing: 0;
+ border-collapse: collapse;
+ border-bottom: 3px solid #005a9c;
+}
+
+.simple th {
+ background: #005a9c;
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+}
+
+.simple th[scope="row"] {
+ background: inherit;
+ color: inherit;
+ border-top: 1px solid #ddd;
+}
+
+.simple td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+ background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+ margin-top: 0;
+}
+
+.section dd > p:last-child {
+ margin-bottom: 0;
+}
+
+.section dd {
+ margin-bottom: 1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+ margin-bottom: 0;
+}
+
+/* --- EXAMPLES --- */
+pre.example {
+ border-top: 1px solid #ff4500;
+ border-bottom: 1px solid #ff4500;
+ padding: 1em;
+ margin-top: 1em;
+}
+
+pre.example::before {
+ content: "Example";
+ display: block;
+ width: 150px;
+ background: #ff4500;
+ color: #fff;
+ font-family: initial;
+ padding: 3px;
+ font-weight: bold;
+ margin: -1em 0 1em -1em;
+}
+
+/* --- EDITORIAL NOTES --- */
+.issue {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #ffc;
+}
+
+.issue::before {
+ content: "Issue";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.note {
+ margin: 1em 0em 0em;
+ padding: 1em;
+ border: 2px solid #cff6d9;
+ background: #e2fff0;
+}
+
+.note::before {
+ content: "Note";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #cff6d9;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+/* --- Best Practices --- */
+div.practice {
+ border: solid #bebebe 1px;
+ margin: 2em 1em 1em 2em;
+}
+
+span.practicelab {
+ margin: 1.5em 0.5em 1em 1em;
+ font-weight: bold;
+ font-style: italic;
+}
+
+span.practicelab { background: #dfffff; }
+
+span.practicelab {
+ position: relative;
+ padding: 0 0.5em;
+ top: -1.5em;
+}
+
+p.practicedesc {
+ margin: 1.5em 0.5em 1em 1em;
+}
+
+@media screen {
+ p.practicedesc {
+ position: relative;
+ top: -2em;
+ padding: 0;
+ margin: 1.5em 0.5em -1em 1em;
+ }
+}
+
+/* --- SYNTAX HIGHLIGHTING --- */
+pre.sh_sourceCode {
+ background-color: white;
+ color: black;
+ font-style: normal;
+ font-weight: normal;
+}
+
+pre.sh_sourceCode .sh_keyword { color: #005a9c; font-weight: bold; } /* language keywords */
+pre.sh_sourceCode .sh_type { color: #666; } /* basic types */
+pre.sh_sourceCode .sh_usertype { color: teal; } /* user defined types */
+pre.sh_sourceCode .sh_string { color: red; font-family: monospace; } /* strings and chars */
+pre.sh_sourceCode .sh_regexp { color: orange; font-family: monospace; } /* regular expressions */
+pre.sh_sourceCode .sh_specialchar { color: #ffc0cb; font-family: monospace; } /* e.g., \n, \t, \\ */
+pre.sh_sourceCode .sh_comment { color: #A52A2A; font-style: italic; } /* comments */
+pre.sh_sourceCode .sh_number { color: purple; } /* literal numbers */
+pre.sh_sourceCode .sh_preproc { color: #00008B; font-weight: bold; } /* e.g., #include, import */
+pre.sh_sourceCode .sh_symbol { color: blue; } /* e.g., *, + */
+pre.sh_sourceCode .sh_function { color: black; font-weight: bold; } /* function calls and declarations */
+pre.sh_sourceCode .sh_cbracket { color: red; } /* block brackets (e.g., {, }) */
+pre.sh_sourceCode .sh_todo { font-weight: bold; background-color: #00FFFF; } /* TODO and FIXME */
+
+/* Predefined variables and functions (for instance glsl) */
+pre.sh_sourceCode .sh_predef_var { color: #00008B; }
+pre.sh_sourceCode .sh_predef_func { color: #00008B; font-weight: bold; }
+
+/* for OOP */
+pre.sh_sourceCode .sh_classname { color: teal; }
+
+/* line numbers (not yet implemented) */
+pre.sh_sourceCode .sh_linenum { display: none; }
+
+/* Internet related */
+pre.sh_sourceCode .sh_url { color: blue; text-decoration: underline; font-family: monospace; }
+
+/* for ChangeLog and Log files */
+pre.sh_sourceCode .sh_date { color: blue; font-weight: bold; }
+pre.sh_sourceCode .sh_time, pre.sh_sourceCode .sh_file { color: #00008B; font-weight: bold; }
+pre.sh_sourceCode .sh_ip, pre.sh_sourceCode .sh_name { color: #006400; }
+
+/* for Prolog, Perl... */
+pre.sh_sourceCode .sh_variable { color: #006400; }
+
+/* for LaTeX */
+pre.sh_sourceCode .sh_italics { color: #006400; font-style: italic; }
+pre.sh_sourceCode .sh_bold { color: #006400; font-weight: bold; }
+pre.sh_sourceCode .sh_underline { color: #006400; text-decoration: underline; }
+pre.sh_sourceCode .sh_fixed { color: green; font-family: monospace; }
+pre.sh_sourceCode .sh_argument { color: #006400; }
+pre.sh_sourceCode .sh_optionalargument { color: purple; }
+pre.sh_sourceCode .sh_math { color: orange; }
+pre.sh_sourceCode .sh_bibtex { color: blue; }
+
+/* for diffs */
+pre.sh_sourceCode .sh_oldfile { color: orange; }
+pre.sh_sourceCode .sh_newfile { color: #006400; }
+pre.sh_sourceCode .sh_difflines { color: blue; }
+
+/* for css */
+pre.sh_sourceCode .sh_selector { color: purple; }
+pre.sh_sourceCode .sh_property { color: blue; }
+pre.sh_sourceCode .sh_value { color: #006400; font-style: italic; }
+
+/* other */
+pre.sh_sourceCode .sh_section { color: black; font-weight: bold; }
+pre.sh_sourceCode .sh_paren { color: red; }
+pre.sh_sourceCode .sh_attribute { color: #006400; }
+
+
+
+
+</style><style type="text/css">
+/* --- EDITORIAL NOTES --- */
+.component1-color {
+ background-color: rgba(255,42,42,0.2);
+}
+
+.component2-color {
+ background-color: rgba(0,68,170,0.2);
+}
+
+.component3-color {
+ background-color: rgba(0,170,0,0.2);
+}
+.component4-color {
+ background-color: rgba(204,255,0,0.2);
+}
+
+<span class="delete">.component5-color</span><span class="insert">.component6-color</span> {
+ background-color: rgba(11,40,40,0.2);
+}
+
+<span class="delete">.component6-color</span><span class="insert">.component5-color</span> {
+ background-color: rgba(244,105,14,0.2);
+}
+
+.pending {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #BFEFFF;
+}
+
+.pending::before {
+ content: "Pending Review";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.resolved {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #9BCD9B;
+}
+
+.resolved::before {
+ content: "Resolved";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.inference {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.inference[id]::before {
+ content: "Inference: " attr(id);
+ width: 380px; /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.inference::before {
+ content: "Inference";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.syntax {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.syntax[id]::before {
+ content: "Syntax: " attr(id);
+ width: 380px; /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.syntax::before {
+ content: "Syntax";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.unamedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+
+.unamedconstraint::before {
+ content: "Constraint";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+.constraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.constraint[id]::before {
+ content: "Constraint: " attr(id);
+ width: 380px; /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.constraint::before {
+ content: "Constraint";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+.interpretation {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.interpretation[id]::before {
+ content: "Interpretation: " attr(id);
+ width: 380px; /* How can we compute the length of "Interpretation: " attr(id) */
+}
+
+
+.interpretation::before {
+ content: "Interpretation";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.definition {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #777;
+ background: #fff;
+}
+
+.definition[id]::before {
+ content: "Definition: " attr(id);
+ width: 380px;
+}
+
+
+.definition::before {
+ content: "Definition";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #000;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.deprecatedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.deprecatedconstraint[id]::before {
+ content: "Deprecated: " attr(id);
+ width: 380px; /* How can we compute the length of "Deprecatedconstraint: " attr(id) */
+}
+
+
+.deprecatedconstraint::before {
+ content: "Deprecated";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.glossary-ref {
+ font-style: italic;
+}
+
+.dfn {
+ font-weight: bold;
+}
+
+
+.attribute {
+ font-style: italic;
+}
+
+
+.conditional {
+ color: blue;
+}
+
+.grammar {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ font-size: 80%;
+}
+.nonterminal {
+ font-weight: bold;
+ font-family: sans-serif;
+ font-size: 95%;
+}
+
+.name {
+ font-family: monospace;
+}
+
+
+.xmpl {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.xmpl::before {
+ content: "Example";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+<span class="delete">.anexample:before</span><span class="insert">.anexample[count]::before</span> {
+ content: <span class="insert">"Example " attr(count) ;
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+
+.anexample:before {
+ content: </span>"Example:";
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+.anexample {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ background-color: #f9f9f9;
+}
+.anexample table {<span class="delete">
+ background-color: #f9f9f9;
+}
+
+.conceptexample:before {
+ content: "Example:";
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+.conceptexample {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;</span>
+ background-color: #f9f9f9;
+}
+
+.pnExpression {
+ font-weight: normal;
+ font-size:120%;
+ font-family: monospace;
+}
+
+
+div[class="grammar"] span[class="name"]:before {
+ content: "'";
+}
+
+div[class="grammar"] span[class="name"]:after {
+ content: "'";
+}
+
+
+div[class="grammar"] span[class="optional"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="optional"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")?";
+}
+
+
+div[class="grammar"] span[class="plus"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="plus"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")+";
+}
+
+
+div[class="grammar"] span[class="star"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="star"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")*";
+}
+
+div[class="grammar"] span[class="choice"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="choice"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+
+div[class="grammar"] span[class="group"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="group"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+table {
+ background-color: #f9f9f9;
+}
+
+
+.interpretation-forward::before {
+ content: "Interpretation: ";
+ font-weight: bold;
+}
+
+.structural-forward::before {
+ content: "Structural constraint: ";
+ font-weight: bold;
+}
+<span class="insert">
+
+.essential {
+ font-weight: bold;
+}
+
+.provType::before {
+}
+
+</span></style><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css" charset="utf-8"></head>
+ <body style="display: inherit; "><div class="head"><p><a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a></p><h1 class="title" id="title">PROV-DM: The PROV Data Model</h1><h2 id="subtitle"><span class="insert">working towards WD6 (</span><a href="diff.html"><span class="insert">Diffs since last release</span></a><span class="insert">)</span></h2><h2 id="w3c-editor-s-draft-25-may-2012"><acronym title="World Wide Web Consortium">W3C</acronym> <span class="delete">Working</span><span class="insert">Editor's</span> Draft <span class="delete">03</span><span class="insert">25</span> May 2012</h2><dl><dt>This version:</dt><dd><span class="delete">http://www.w3.org/TR/2012/WD-prov-dm-20120503/</span><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html"><span class="insert">http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html</span></a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html">http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html</a></dd><dt>Previous version:</dt><dd><span class="delete">http://www.w3.org/TR/2012/WD-prov-dm-20120202/</span><a href="http://www.w3.org/TR/2012/WD-prov-dm-20120503/"><span class="insert">http://www.w3.org/TR/2012/WD-prov-dm-20120503/</span></a></dd><dt>Editors:</dt><dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd>
+<dd><a href="http://www.cs.ncl.ac.uk/people/Paolo.Missier">Paolo Missier</a>, Newcastle University</dd>
+<dt><span class="delete">Contributors:</span><span class="insert">Authors:</span></dt><dd><a href="http://semanticweb.org/wiki/Khalid_Belhajjame">Khalid Belhajjame</a>, University of Manchester</dd>
+<dd><span>Reza B'Far</span>, Oracle Corporation</dd>
+<dd><span>Stephen Cresswell</span>, legislation.gov.uk</dd>
+<dd><a href="http://www.isi.edu/~gil/">Yolanda Gil</a>, Invited Expert</dd>
+<dd><a href="http://www.few.vu.nl/~pgroth/">Paul Groth</a>, VU University of Amsterdam</dd>
+<dd><span>Graham Klyne</span>, University of Oxford</dd>
+<dd><a href="http://tw.rpi.edu/web/person/JamesMcCusker">Jim McCusker</a>, Rensselaer Polytechnic Institute</dd>
+<dd><a href="http://www.inf.kcl.ac.uk/staff/simonm/">Simon Miles</a>, Invited Expert</dd>
+<dd><a href="http://www.rpi.edu/research/ccni/">James Myers</a>, Rensselaer Polytechnic Institute</dd>
+<dd><a href="http://cci.case.edu/cci/index.php/Satya_Sahoo">Satya Sahoo</a>, Case Western Reserve University</dd>
+<dd><span>Curt Tilmes</span>, National Aeronautics and Space Administration</dd>
+</dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2011-2012 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. <acronym title="World Wide Web Consortium">W3C</acronym> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p><hr></div>
+
+ <div id="abstract" class="introductory section"><h2>Abstract</h2>
+<p>
+PROV-DM, the PROV <span class="insert">conceptual </span>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 <span class="insert">distinguishes core structures, forming the essence of provenance descriptions, from
+extended structures catering for more advanced uses of provenance.
+PROV-DM </span>is <span class="delete">structured</span><span class="insert">organized</span> in six components,<span class="insert"> respectively</span> dealing with:
+(1) entities and activities, and the time at which they were created, used, or ended;
+(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) <span class="insert">a notion of bundle, a mechanism to support provenance of provenance; and,
+(6) </span>collections forming a logical structure for its <span class="delete">members;
+(6) a simple annotation mechanism.</span><span class="insert">members.</span>
+</p>
+
+<p>This document introduces the provenance concepts found in
+PROV and defines PROV-DM types and
+relations. PROV data model is domain-agnostic, but is equipped with
+extensibility points allowing domain-specific information to be included. </p>
+
+<p>Two further documents complete the specification of PROV-DM.
+First, a companion document specifies the set of constraints that
+provenance descriptions should follow. Second,
+a separate document describes a provenance notation for expressing
+instances of provenance for human consumption; this notation is used in examples in
+this document. </p>
+
+ </div><div id="sotd" class="introductory section"><h2>Status of This Document</h2><p><em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current <acronym title="World Wide Web Consortium">W3C</acronym> publications and the latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><acronym title="World Wide Web Consortium">W3C</acronym> technical reports index</a> at http://www.w3.org/TR/.</em></p>
+<h4 id="intended-to-be-last-call--tbc"><span class="insert">Intended to be Last Call (TBC)</span></h4>
+<p><span class="insert">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.</span></p>
+<h4 id="please-comment-by--date-tbd"><span class="insert">Please Comment By (date TBD)</span></h4>
+<p><span class="insert">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
+</span></p>
+
+<h4 id="prov-family-of-specifications">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:
+<ul>
+<li> PROV-DM, the PROV data model for provenance (this document);</li>
+<li> PROV-CONSTRAINTS, a set of constraints applying to the PROV data model;</li>
+<li> PROV-N, a notation for provenance aimed at human consumption;</li>
+<li> PROV-O, the PROV ontology, an OWL-RL ontology allowing the mapping of PROV to RDF;</li>
+<li> PROV-AQ, the mechanisms for accessing and querying provenance; </li>
+<li> PROV-PRIMER, a primer for the PROV data model;</li>
+<li> PROV-SEM, a formal semantics for the PROV data model;</li>
+<li> PROV-XML, an XML schema for the PROV data model.</li>
+</ul>
+<h4 id="how-to-read-the-prov-family-of-specifications">How to read the PROV Family of Specifications</h4>
+<ul>
+<li>The primer is the entry point to PROV offering an introduction to the provenance model.</li>
+<li>The Linked Data and Semantic Web community should focus on PROV-O defining PROV classes and properties specified in an OWL-RL ontology. For further details, PROV-DM and PROV-CONSTRAINTS specify the constraints applicable to the data model, and its interpretation. PROV-SEM provides a mathematical semantics.</li>
+<li>The XML community should focus on PROV-XML defining an XML schema for PROV. Further details can also be found in PROV-DM, PROV-CONSTRAINTS, and PROV-SEM.</li>
+<li>Developers seeking to retrieve or publish provenance should focus on PROV-AQ.</li>
+<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>
+
+
+<span class="delete">Fourth Public Working Draft</span>
+<p>This <span class="delete">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.</span>
+<span class="delete">This </span>document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as <span class="delete">a Working</span><span class="insert">an Editor's</span> Draft. <span class="delete">This document is intended</span><span class="insert">If you wish</span> to <span class="delete">become a </span><span class="delete">W3C</span><span class="delete"> Recommendation. If you wish</span><span class="insert">make comments regarding this document, please send them</span> to <span class="delete">make comments regarding this document, please send them to </span><span class="delete">public-prov-wg@w3.org</span><a href="mailto:public-prov-comments@w3.org"><span class="insert">public-prov-comments@w3.org</span></a> (<a href="mailto:public-prov-comments-request@w3.org?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>). All feedback is welcome.</p><p>Publication as <span class="delete">a Working</span><span class="insert">an Editor's</span> Draft does not imply endorsement by the <acronym title="World Wide Web Consortium">W3C</acronym> Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.</p><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>. <acronym title="World Wide Web Consortium">W3C</acronym> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>.</p></div><div id="toc" class="section"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction<br>
+</a><ul class="toc"><li class="tocline"><a href="#structure-of-this-document" class="tocxref"><span class="secno">1.1 </span>Structure of this Document</a></li><li class="tocline"><a href="#conventions" class="tocxref"><span class="secno">1.2 </span>Notational Conventions</a></li></ul></li><li class="tocline"><a href="#section-prov-overview" class="tocxref"><span class="secno">2. </span>PROV <span class="delete">Starting Points</span><span class="insert">Overview</span></a><ul class="toc"><li class="tocline"><a href="#core-structures" class="tocxref"><span class="secno"><span class="insert">2.1 </span></span><span class="insert">PROV Core Structures</span></a><ul class="toc"><li class="tocline"><a href="#section-entity-activity" class="tocxref"><span class="secno"><span class="delete">2.1</span><span class="insert">2.1.1</span> </span>Entity and Activity</a></li><li class="tocline"><a href="#section-agents-attribution-association-delegation" class="tocxref"><span class="secno"><span class="delete">2.2 </span><span class="delete">Generation, Usage, Derivation</span><span class="insert">2.1.2 </span></span><span class="insert">Agents and Responsibility</span></a></li><li class="tocline"><a href="#section-derivation" class="tocxref"><span class="secno"><span class="delete">2.3 </span><span class="delete">Agents, Attribution, Association, and Responsibility</span><span class="delete">2.4 </span><span class="delete">Further Entities: Collections and Accounts</span><span class="delete">2.5 </span><span class="delete">Simplified Overview Diagram</span><span class="delete">2.6 </span><span class="delete">PROV-N: The Provenance Notation</span><span class="insert">2.1.3 </span></span><span class="insert">Derivation</span></a></li></ul></li><li class="tocline"><a href="#section-extended-structures" class="tocxref"><span class="secno"><span class="insert">2.2 </span></span><span class="insert">PROV Extended Structures</span></a><ul class="toc"><li class="tocline"><a href="#section-prov-extended-mechanisms" class="tocxref"><span class="secno"><span class="insert">2.2.1 </span></span><span class="insert">Mechanisms to Define Extended Structures</span></a><ul class="toc"><li class="tocline"><a href="#section-prov-extended-approach-subtyping" class="tocxref"><span class="secno"><span class="insert">2.2.1.1 </span></span><span class="insert">Subtyping</span></a></li><li class="tocline"><a href="#section-prov-extended-approach-expanded-relation" class="tocxref"><span class="secno"><span class="insert">2.2.1.2 </span></span><span class="insert">Expanded Relations</span></a></li><li class="tocline"><a href="#section-prov-extended-approach-optional-identification-new-relation" class="tocxref"><span class="secno"><span class="insert">2.2.1.3 </span></span><span class="insert">Optional Identification and New Relations</span></a></li></ul></li><li class="tocline"><a href="#section-provenance-of-provnance" class="tocxref"><span class="secno"><span class="insert">2.2.2 </span></span><span class="insert">Provenance of Provenance</span></a></li><li class="tocline"><a href="#section-collections" class="tocxref"><span class="secno"><span class="insert">2.2.3 </span></span><span class="insert">Collections</span></a></li></ul></li><li class="tocline"><a href="#section-overview-components" class="tocxref"><span class="secno"><span class="insert">2.3 </span></span><span class="insert">Modular Organization</span></a></li></ul></li><li class="tocline"><a href="#prov-notation" class="tocxref"><span class="secno"><span class="insert">3. </span></span><span class="insert">The Provenance Notation</span></a></li><li class="tocline"><a href="#prov-dm-example" class="tocxref"><span class="secno"><span class="delete">3.</span><span class="insert">4.</span> </span>Illustration of PROV-DM by an Example</a><ul class="toc"><li class="tocline"><a href="#section-example-one" class="tocxref"><span class="secno"><span class="delete">3.1</span><span class="insert">4.1</span> </span>The Authors View</a></li><li class="tocline"><a href="#section-example-two" class="tocxref"><span class="secno"><span class="delete">3.2</span><span class="insert">4.2</span> </span>The Process View</a></li><li class="tocline"><a href="#section-example-c" class="tocxref"><span class="secno"><span class="delete">3.3</span><span class="insert">4.3</span> </span>Attribution of Provenance</a></li></ul></li><li class="tocline"><a href="#data-model-components" class="tocxref"><span class="secno"><span class="delete">4.</span><span class="insert">5.</span> </span>PROV-DM Types and Relations</a><ul class="toc"><li class="tocline"><a href="#component1" class="tocxref"><span class="secno"><span class="delete">4.1</span><span class="insert">5.1</span> </span>Component 1: Entities and Activities</a><ul class="toc"><li class="tocline"><a href="#term-Entity" class="tocxref"><span class="secno"><span class="delete">4.1.1</span><span class="insert">5.1.1</span> </span>Entity</a></li><li class="tocline"><a href="#term-Activity" class="tocxref"><span class="secno"><span class="delete">4.1.2</span><span class="insert">5.1.2</span> </span>Activity</a></li><li class="tocline"><a href="#term-Generation" class="tocxref"><span class="secno"><span class="delete">4.1.3</span><span class="insert">5.1.3</span> </span>Generation</a></li><li class="tocline"><a href="#term-Usage" class="tocxref"><span class="secno"><span class="delete">4.1.4</span><span class="insert">5.1.4</span> </span>Usage</a></li><li class="tocline"><a href="#term-wasInformedBy" class="tocxref"><span class="secno"><span class="insert">5.1.5 </span></span><span class="insert">Communication</span></a></li><li class="tocline"><a href="#term-Start" class="tocxref"><span class="secno"><span class="delete">4.1.5</span><span class="insert">5.1.6</span> </span>Start</a></li><li class="tocline"><a href="#term-End" class="tocxref"><span class="secno"><span class="delete">4.1.6</span><span class="insert">5.1.7</span> </span>End</a></li><li class="tocline"><a href="#term-Invalidation" class="tocxref"><span class="secno"><span class="delete">4.1.7</span><span class="insert">5.1.8</span> </span>Invalidation<span class="delete">4.1.8 </span><span class="delete">Communication</span><span class="delete">4.1.9 </span><span class="delete">Start by Activity</span></a></li></ul></li><li class="tocline"><a href="#component2" class="tocxref"><span class="secno"><span class="delete">4.2</span><span class="insert">5.2</span> </span>Component 2: Agents and Responsibility</a><ul class="toc"><li class="tocline"><a href="#term-Agent" class="tocxref"><span class="secno"><span class="delete">4.2.1</span><span class="insert">5.2.1</span> </span>Agent</a></li><li class="tocline"><a href="#term-attribution" class="tocxref"><span class="secno"><span class="delete">4.2.2</span><span class="insert">5.2.2</span> </span>Attribution</a></li><li class="tocline"><a href="#term-ActivityAssociation" class="tocxref"><span class="secno"><span class="delete">4.2.3</span><span class="insert">5.2.3</span> </span>Association</a></li><li class="tocline"><a href="#term-delegation" class="tocxref"><span class="secno"><span class="delete">4.2.4 </span><span class="delete">Responsibility</span><span class="insert">5.2.4 </span></span><span class="insert">Delegation</span></a></li></ul></li><li class="tocline"><a href="#component3" class="tocxref"><span class="secno"><span class="delete">4.3</span><span class="insert">5.3</span> </span>Component 3: Derivations</a><ul class="toc"><li class="tocline"><a href="#Derivation-Relation" class="tocxref"><span class="secno"><span class="delete">4.3.1</span><span class="insert">5.3.1</span> </span>Derivation</a></li><li class="tocline"><a href="#term-Revision" class="tocxref"><span class="secno"><span class="delete">4.3.2</span><span class="insert">5.3.2</span> </span>Revision</a></li><li class="tocline"><a href="#term-quotation" class="tocxref"><span class="secno"><span class="delete">4.3.3</span><span class="insert">5.3.3</span> </span>Quotation</a></li><li class="tocline"><a href="#term-original-source" class="tocxref"><span class="secno"><span class="delete">4.3.4</span><span class="insert">5.3.4</span> </span>Original Source</a></li><li class="tocline"><a href="#term-trace" class="tocxref"><span class="secno"><span class="delete">4.3.5</span><span class="insert">5.3.5</span> </span>Trace</a></li></ul></li><li class="tocline"><a href="#component4" class="tocxref"><span class="secno"><span class="delete">4.4</span><span class="insert">5.4</span> </span>Component 4: Alternate Entities</a><ul class="toc"><li class="tocline"><a href="#term-specialization" class="tocxref"><span class="secno"><span class="delete">4.4.1</span><span class="insert">5.4.1</span> </span>Specialization</a></li><li class="tocline"><a href="#term-alternate" class="tocxref"><span class="secno"><span class="delete">4.4.2</span><span class="insert">5.4.2</span> </span>Alternate</a></li></ul></li><li class="tocline"><a href="#component5" class="tocxref"><span class="secno"><span class="delete">4.5</span><span class="insert">5.5</span> </span>Component 5: <span class="delete">Collections</span><span class="insert">Bundles</span></a><ul class="toc"><li class="tocline"><a href="#term-bundle" class="tocxref"><span class="secno"><span class="delete">4.5.1 </span><span class="delete">Collection</span><span class="insert">5.5.1 </span></span><span class="insert">Bundle constructor</span></a></li><li class="tocline"><a href="#term-bundle-entity" class="tocxref"><span class="secno"><span class="delete">4.5.2 </span><span class="delete">Dictionary</span><span class="insert">5.5.2 </span></span><span class="insert">Bundle Description</span></a></li><li class="tocline"><a href="#term-hasProvenanceIn" class="tocxref"><span class="secno"><span class="delete">4.5.3 </span><span class="delete">Insertion</span><span class="delete">4.5.4 </span><span class="delete">Removal</span><span class="delete">4.5.5 </span><span class="delete">Membership</span><span class="insert">5.5.3 </span></span><span class="insert">Provenance Locator</span></a></li></ul></li><li class="tocline"><a href="#component6" class="tocxref"><span class="secno"><span class="delete">4.6</span><span class="insert">5.6</span> </span>Component 6: <span class="delete">Annotations</span><span class="insert">Collections</span></a><ul class="toc"><li class="tocline"><a href="#term-collection" class="tocxref"><span class="secno"><span class="delete">4.6.1 </span><span class="delete">Note</span><span class="insert">5.6.1 </span></span><span class="insert">Collection</span></a></li><li class="tocline"><a href="#term-dictinonary" class="tocxref"><span class="secno"><span class="delete">4.6.2 </span><span class="delete">Annotation</span><span class="insert">5.6.2 </span></span><span class="insert">Dictionary</span></a></li><li class="tocline"><a href="#term-dictionary-insertion" class="tocxref"><span class="secno"><span class="insert">5.6.3 </span></span><span class="insert">Insertion</span></a></li><li class="tocline"><a href="#term-dictionary-removal" class="tocxref"><span class="secno"><span class="insert">5.6.4 </span></span><span class="insert">Removal</span></a></li><li class="tocline"><a href="#term-dictionary-membership" class="tocxref"><span class="secno"><span class="insert">5.6.5 </span></span><span class="insert">Membership</span></a></li></ul></li><li class="tocline"><a href="#second-class-elements" class="tocxref"><span class="secno"><span class="delete">4.7</span><span class="insert">5.7</span> </span>Further Elements of PROV-DM</a><ul class="toc"><li class="tocline"><a href="#term-NamespaceDeclaration" class="tocxref"><span class="secno"><span class="delete">4.7.1</span><span class="insert">5.7.1</span> </span>Namespace Declaration</a></li><li class="tocline"><a href="#term-qualified-name" class="tocxref"><span class="secno"><span class="delete">4.7.2</span><span class="insert">5.7.2</span> </span>Qualified Name</a></li><li class="tocline"><a href="#term-identifier" class="tocxref"><span class="secno"><span class="delete">4.7.3</span><span class="insert">5.7.3</span> </span>Identifier</a></li><li class="tocline"><a href="#term-attribute" class="tocxref"><span class="secno"><span class="delete">4.7.4</span><span class="insert">5.7.4</span> </span>Attribute</a><ul class="toc"><li class="tocline"><a href="#term-attribute-label" class="tocxref"><span class="secno"><span class="delete">4.7.4.1</span><span class="insert">5.7.4.1</span> </span>prov:label</a></li><li class="tocline"><a href="#term-attribute-location" class="tocxref"><span class="secno"><span class="delete">4.7.4.2</span><span class="insert">5.7.4.2</span> </span>prov:location</a></li><li class="tocline"><a href="#term-attribute-role" class="tocxref"><span class="secno"><span class="delete">4.7.4.3</span><span class="insert">5.7.4.3</span> </span>prov:role</a></li><li class="tocline"><a href="#term-attribute-type" class="tocxref"><span class="secno"><span class="delete">4.7.4.4</span><span class="insert">5.7.4.4</span> </span>prov:type</a></li><li class="tocline"><a href="#term-attribute-value" class="tocxref"><span class="secno"><span class="delete">4.7.4.5</span><span class="insert">5.7.4.5</span> </span>prov:value</a></li><li class="tocline"><a href="#term-attribute-provenance-uri" class="tocxref"><span class="secno"><span class="insert">5.7.4.6 </span></span><span class="insert">prov:provenance-uri</span></a></li><li class="tocline"><a href="#term-attribute-service-uri" class="tocxref"><span class="secno"><span class="insert">5.7.4.7 </span></span><span class="insert">prov:service-uri</span></a></li></ul></li><li class="tocline"><a href="#term-value" class="tocxref"><span class="secno"><span class="delete">4.7.5</span><span class="insert">5.7.5</span> </span>Value</a></li></ul></li></ul></li><li class="tocline"><a href="#extensibility-section" class="tocxref"><span class="secno"><span class="delete">5.</span><span class="insert">6.</span> </span>PROV-DM Extensibility Points</a></li><li class="tocline"><a href="#valid-provenance" class="tocxref"><span class="secno"><span class="delete">6.</span><span class="insert">7.</span> </span>Creating Valid Provenance</a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">B.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.2 </span>Informative references</a></li></ul></li></ul></div>
+
+
+
+
+
+
+
+
+
+
+
+
+ <div id="introduction" class="section">
+ <h2><span class="secno">1. </span>Introduction<br>
+</h2>
+
+<p>
+For the purpose of this specification, <dfn id="dfn-provenance">provenance</dfn> is defined as a record that describes the people,
+institutions, entities, and activities involved in producing,
+influencing, or delivering a piece of data or a thing.
+In particular, the provenance of information is crucial in deciding
+whether information is to be trusted, how it should be integrated with
+other diverse information sources, and how to give credit to its
+originators when reusing it. In an open and inclusive environment
+such as the Web, where users find information that is often contradictory or
+questionable, provenance can help those users to make trust judgements.
+</p>
+
+
+<p>
+We
+consider a <span class="delete">core</span><span class="insert">generic</span> 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 <span class="delete">in heterogeneous systems </span>can then import it,
+process it, and reason over it.</p>
+
+
+
+
+
+
+<p><span class="delete">A set of specifications, referred</span><span class="insert">
+The PROV data model distinguishes </span><em><span class="insert">core structures</span></em><span class="insert"> from
+</span><em><span class="insert">extended structures</span></em><span class="insert">: 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</span> to <span class="delete">as the PROV family of specifications, define the various aspects
+that are necessary to achieve this vision in an interoperable
+way:</span>
+
+<span class="delete">A data model</span><span class="insert">cater</span> for <span class="delete">provenance, which is presented in three documents:
+</span>
+<span class="delete"> PROV-DM (part I): the provenance data model, informally described (this document);
+</span><span class="delete"> PROV-CONSTRAINTS (part II): constraints underpinning the data model [</span><span class="delete">PROV-CONSTRAINTS</span><span class="delete">];
+</span><span class="delete"> PROV-N (part III): a notation to express instances of that data model for human consumption [</span><span class="delete">PROV-N</span><span class="delete">];
+</span>
+
+<span class="delete">PROV-O: the PROV ontology, an OWL-RL ontology allowing the mapping of PROV to RDF [</span><span class="delete">PROV-O</span><span class="delete">];</span>
+<span class="delete">PROV-AQ: the mechanisms for accessing and querying provenance [</span><span class="delete">PROV-AQ</span><span class="delete">];</span>
+<span class="delete">PROV-PRIMER: a primer for the PROV approach [</span><span class="delete">PROV-PRIMER</span><span class="delete">];</span>
+<span class="delete">PROV-SEM: semantics of the PROV-DM data model [</span><span class="delete">PROV-SEM</span><span class="delete">];</span>
+<span class="delete">PROV-XML: an XML schema for the PROV data model.</span>
+
+
+
+<span class="insert">more
+advanced uses of provenance.</span>
+The PROV data <span class="insert">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.
+</span></p>
+
+
+<p><span class="insert">
+The PROV data </span>model <span class="insert">has a modular design and </span>is <span class="delete">a domain-agnostic model, but with clear extensibility points allowing further domain-specific and
+application-specific extensions</span><span class="insert">structured according</span> to <span class="delete">be defined.
+The PROV data model is structured according to </span>six components covering various <span class="delete">aspects</span><span class="insert">facets</span> of provenance:</p>
+<ul>
+<li> component 1: entities and activities, and the time at which they were created, used, or ended;
+</li><li> component 2: agents bearing responsibility for entities that were generated and activities that happened;
+</li><li> component 3: derivations of entities from others;
+</li><li> component 4: properties to link entities that refer to a same thing;
+</li><li> component 5: <span class="delete">collections forming</span><span class="insert">bundles,</span> a <span class="delete">logical structure for its members;</span><span class="insert">mechanism to support provenance of provenance;</span>
+</li><li> component 6: <span class="insert">collections forming </span>a <span class="delete">simple annotation mechanism.</span><span class="insert">logical structure for its members.</span>
+</li></ul>
+
+
+<p>This specification presents the <span class="delete">key </span>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 <span class="delete">along side</span><span class="insert">alongside</span> 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, <span class="delete">a </span><span class="delete">refinement</span><span class="insert">it</span> is proposed to enrich simple provenance, with <span class="delete">extra</span><span class="insert">refined</span> 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 [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].
+</p>
+
+
+<div id="structure-of-this-document" class="section">
+<h3><span class="secno">1.1 </span>Structure of this Document</h3>
+
+<p><a href="#section-prov-overview">Section 2</a> provides<span class="insert"> an overview of the PROV Data Model,</span> <span class="delete">starting points for the PROV Data Model, listing</span><span class="insert">distinguishing</span> a<span class="insert"> core</span> set of types and relations, <span class="delete">which allows users to make initial</span><span class="insert">commonly found in</span> provenance <span class="delete">descriptions.</span><span class="insert">descriptions, from extended structures catering for advanced uses. It also introduces a modular organization of the data model in components. </span></p>
+
+<p><a href="#prov-notation"><span class="insert">Section 3</span></a><span class="insert"> overviews the Provenance Notation used to illustrate examples of provenance descriptions.</span></p>
+
+
+<p><a href="#prov-dm-example">Section <span class="delete">3</span><span class="insert">4</span></a> illustrates how the PROV data model can be used
+to express the provenance of a report published on the Web.</p>
+
+
+
+
+<p><a href="#data-model-components">Section <span class="delete">4</span><span class="insert">5</span></a> provides the definitions of PROV concepts, structured according to six components.</p>
+
+
+
+
+
+<p><a href="#extensibility-section">Section <span class="delete">5</span><span class="insert">6</span></a> summarizes PROV-DM extensibility points.</p>
+
+<p><a href="#valid-provenance">Section <span class="delete">6</span><span class="insert">7</span></a> introduces the idea that constraints can be applied to the PROV data model to <span class="delete">refine</span><span class="insert">validate</span> provenance descriptions; these are covered in the companion specification [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].</p>
+
+
+</div>
+
+<div id="conventions" class="section">
+<h3><span class="secno">1.2 </span>Notational Conventions</h3>
+
+
+
+<p>The key words "<em class="rfc2119" title="must">must</em>", "<em class="rfc2119" title="must not">must not</em>", "<em class="rfc2119" title="required">required</em>", "<em class="rfc2119" title="shall">shall</em>", "<em class="rfc2119" title="shall
+ not">shall
+ not</em>", "<em class="rfc2119" title="should">should</em>", "<em class="rfc2119" title="should not">should not</em>", "<em class="rfc2119" title="recommended">recommended</em>", "<em class="rfc2119" title="may">may</em>", and
+ "<em class="rfc2119" title="optional">optional</em>" in this document are to be interpreted as described in
+ [<cite><a class="bibref" rel="biblioentry" href="#bib-RFC2119">RFC2119</a></cite>].</p>
+
+
+<p>
+The following namespaces prefixes are used throughout this document.
+
+</p><div style="text-align: left;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="namespace-table">Table 1: Prefix and Namespaces used in this specification</caption>
+<tbody><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"><span class="delete">4.7.1</span><span class="insert">5.7.1</span></a>)</td></tr>
+<tr><td><a>xsd</a></td><td>http://www.w3.org/2000/10/XMLSchema#</td><td>XML Schema Namespace [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>]</td></tr>
+<tr><td><a>rdf</a></td><td>http://www.w3.org/1999/02/22-rdf-syntax-ns#</td><td>The RDF namespace [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-CONCEPTS">RDF-CONCEPTS</a></cite>]</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 [<cite><a class="bibref" rel="biblioentry" href="#bib-URI">URI</a></cite>]</td></tr>
+</tbody></table>
+</div>
+
+<p><span class="insert">
+ Examples throughout this document use the PROV-N Provenance
+ Notation, briefly introduced in </span><a href="#prov-notation"><span class="insert">Section 3</span></a><span class="insert"> and specified fully in a separate document [</span><cite><a class="bibref" rel="biblioentry" href="#bib-PROV-N"><span class="insert">PROV-N</span></a></cite><span class="insert">].</span></p>
+
+
+</div>
+
+</div>
+
+
+
+<div id="section-prov-overview" class="section">
+<h2><span class="secno">2. </span>PROV <span class="delete">Starting Points</span><span class="insert">Overview</span></h2>
+
+<p>
+This section introduces provenance concepts with informal descriptions and illustrative
+examples.<span class="insert"> PROV distinguishes</span> <span class="delete">Since PROV-DM</span><em><span class="insert">core structures</span></em><span class="insert">, forming the essence of provenance descriptions, from </span><em><span class="insert">extended structures</span></em><span class="insert"> catering for more advanced uses of provenance. Core and extended structures are respectively presented in </span><a href="#core-structures"><span class="insert">Section 2.1</span></a><span class="insert"> and </span><a href="#section-extended-structures"><span class="insert">Section 2.2</span></a><span class="insert">. Furthermore, the PROV data model</span> is <span class="delete">a conceptual data
+model, </span><span class="insert">organized according to components, which form thematic groupings of concepts (see </span><a href="#section-overview-components">Section <span class="delete">2.5 maps the concepts to various types and relations,
+which are illustrated graphically in
+a simplified UML diagram in </span><span class="delete">Figure 1</span><span class="delete">. Section 2.6
+then summarizes the PROV notation allowing instances of PROV-DM to be
+written down.</span><span class="insert">2.3</span></a><span class="insert">).</span>
+</p>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="core-structures" class="section">
+<h3><span class="secno">2.1 </span><span class="delete">Entity and Activity</span>
+
+
+<span class="delete">Things we want to describe the provenance of are called </span><span class="delete">entities</span><span class="delete"> in PROV. The term "things" encompasses a broad diversity of notions, including digital objects such as a file or web page,
+physical things such as a building or a printed book, or a car as well as abstract concepts and ideas. </span>
+
+
+<span class="delete">
+ An </span><span class="delete">entity</span><span class="delete"> is a physical, digital, conceptual, or other kind of thing; entities may be real or imaginary. </span>
+
+
+
+
+<span class="delete">An entity may be the document at URI </span><span class="delete">http://www.bbc.co.uk/news/science-environment-17526723</span><span class="delete">, a file in a file system, a car, or an idea.</span>
+
+
+
+
+
+<span class="delete"> An </span><span class="delete">activity</span><span class="delete"> is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, generating, or being associated with entities. </span><span class="delete"> Activities that operate on digital entities may for example move, copy, or duplicate them.
+</span>
+
+
+
+
+<span class="delete">An activity may be the publishing of a document on the Web, sending a twitter message, extracting metadata embedded in a file, driving a car from Boston to Cambridge, assembling a data set based on a set of measurements, performing a statistical analysis over a data set, sorting news items according to some criteria, running a SPARQL query over a triple store, or editing a file.</span>
+
+
+
+
+
+<span class="delete">2.2 </span><span class="delete">Generation, Usage, Derivation</span>
+
+<span class="delete">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. </span>
+
+
+
+ <span class="delete">Generation</span><span class="delete"> is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. </span>
+
+
+
+
+ <span class="delete">Usage</span><span class="delete"> is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. </span>
+
+
+
+
+
+<span class="delete">Examples of generation are the completed creation of a file by a
+program, the completed creation of a linked data set, and the completed
+publication of a new version of a document.
+</span>
+
+
+
+
+<span class="delete">Usage examples include a procedure beginning to consume an argument, a service starting to read a value on a port, a program beginning to read a configuration
+file, or the point at which an ingredient, such as eggs, is being added in a baking activity. Usage may entirely consume an entity (e.g. eggs are no longer available after being added to
+the mix); in contrast, the same entity may be used multiple times, possibly by different activities (e.g. a file on a file system can be read indefinitely).
+</span>
+
+
+<span class="delete">Activities utilize entities and producer entities. In some cases, utilizing an entity influences the creation of another in some way. This notion is captured by derivations, defined as follows.</span>
+
+
+<span class="delete"> A </span><span class="delete">derivation</span><span class="delete"> is a transformation of an entity into another, a construction of an entity into another, or an update of an entity, resulting in a new one.</span>
+
+
+
+
+<span class="delete">Examples of derivation include the transformation of a relational table into a
+linked data set, the transformation of a canvas into a painting, the transportation of a work of art from London to New York, and a physical transformation such as the melting of ice into water.</span>
+
+
+
+
+
+<span class="delete">2.3 </span><span class="delete">Agents, Attribution, Association, and Responsibility</span><span class="insert">PROV Core Structures</span></h3>
+
+<p>The <span class="delete">motivation for introducing</span><span class="insert">core of PROV consists of essential provenance structures commonly found in provenance descriptions.
+It is summarized graphically by
+the UML diagram of </span><a href="#prov-core-structures-top"><span class="insert">Figure 1</span></a><span class="insert">,
+illustrating</span> <span class="delete">agents in the model is</span><span class="insert">three types (entity, activity, and agent) and how they relate</span> to <span class="delete">express the agent's responsibility for activities that happened and entities that were generated.</span><span class="insert">each other. In the core of PROV, all associations are binary.</span> </p>
+
+
+<div style="text-align: center; ">
+ <figure style="max-width: 70%; " id="prov-core-structures-top">
+
+
+<span class="delete">
+ An </span><span class="delete">agent</span><span class="delete"> is something that bears some form of responsibility for an activity taking place or for the existence of an entity. </span><span class="delete"> An agent </span><span class="delete">may</span><span class="delete"> be a particular type of entity. This means that the model can be
+ used to express provenance of the agents themselves.
+</span>
+
+
+
+
+
+
+
+<span class="delete">
+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.
+A site selling books on the Web, the services involved in the processing of orders, and the companies hosting them are also agents.
+</span>
+<img src="uml/essentials.png" alt="PROV Core Structures" style="max-width: 70%; ">
+<div class="figcaption" id="prov-core-structures"><span class="insert">Figure 1: PROV Core Structures</span></div>
+
+
+<span class="delete">Agents may adopt sets of actions or steps to achieve their goals. This is captured by the notion of plan. </span>
+
+
+<span class="delete">
+ A </span><span class="delete">plan</span><span class="delete"> is an entity that represents a set of actions or steps intended by one or more agents to achieve some goals. </span><span class="delete">
+There exist no
+prescriptive requirement on the nature of plans, their representation, the
+actions or steps they consist of, or their intended goals. Since plans may evolve over time,
+it may become necessary to track their provenance, so plans themselves are
+entities. Representing the plan explicitly in the provenance can be useful for various tasks: for example, to
+validate the execution as represented in the provenance record, to
+manage expectation failures, or to provide explanations.</span>
+
+
+<span class="delete">
+A plan can be a blog post tutorial for how to set up a web server, a list of instructions for a micro-processor execution, a cook's written recipe for a chocolate cake, or a workflow for a scientific experiment.
+</span>
+
+
+
+
+
+
+
+<span class="delete">Agents can be related to entities, activities, and other agents.</span>
+
+ <span class="delete">Attribution</span><span class="delete"> is the ascribing of an entity to an agent. </span>
+
+
+<span class="delete">A blog post can be attributed to an author, a mobile phone to its manufacturer.</span>
+ </figure>
+</div>
+
+<p><span class="delete">
+Agents</span><span class="insert">The concepts found in the core of PROV</span> are <span class="delete">defined as having some kind of responsibility for activities. In some
+cases, those activities reflect the execution of a plan that was
+designed</span><span class="insert">introduced</span> in <span class="delete">advance to guide the execution. Thus,
+a plan may also be linked to an activity. </span>
+
+
+
+
+
+<span class="delete"> An activity </span><span class="delete">association</span><span class="delete"> is an assignment of responsibility to an agent for an activity, indicating that the agent had a role</span><span class="insert">the rest of this section.
+They are summarized</span> in<span class="delete"> the activity. It further allows for a plan to be specified, which is the plan intended by the agent to achieve some goals in the context of this activity. </span>
+
+
+
+<span class="delete">Examples of association between an activity and an agent are:
+</span>
+<span class="delete">creation of a web page under the guidance of a designer;</span>
+<span class="delete">various forms of participation in a panel discussion, including audience member, panelist, or panel chair;</span>
+<span class="delete">a public event, sponsored by a company, and hosted by a museum;</span>
+<span class="delete">an XSLT transform launched by a user based on an XSL style sheet (a plan).</span>
+
+
+
+
+
+ <span class="delete">Responsibility</span><span class="delete"> is the fact that an agent is accountable for the actions of a "subordinate" agent, in the context of an activity. </span><span class="delete"> The nature of this relation is intended to be broad, including delegation or contractual relation. </span>
+
+
+
+
+
+
+
+
+<span class="delete">A student publishing a web page describing an academic
+department could result in both the student and the department being
+agents associated with the activity, and it may not matter which
+student published a web page but it matters a lot that the department
+told the student to put up the web page.
+</span>
+
+
+
+
+<span class="delete">2.4 </span><span class="delete">Further Entities: Collections and Accounts</span>
+
+<span class="delete">There are two further types of entities, collections and accounts, which are now introduced. </span>
+
+
+<span class="delete"> A </span><span class="delete">collection</span><span class="delete"> is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be </span><span class="delete">member of</span><span class="delete"> the collections. </span><span class="delete"> This concept allows for the provenance of the collection itself to be expressed in addition to that of the members. Many different types of collections exist, such as a </span><span class="delete">set</span><span class="delete">, </span><span class="delete">dictionaries</span><span class="delete">, or </span><span class="delete">lists</span><span class="delete">, all of which involve a membership relationship between the constituents and the collection. </span>
+
+
+<span class="delete">
+An example of collection is an archive of documents. Each document has its own provenance, but the archive itself also has some provenance: who maintained it, which documents it contained at which point in time, how it was assembled, etc.
+</span>
+
+
+
+
+<span class="delete">
+ An </span><span class="delete">account</span><span class="delete"> is an entity that contains a bundle of provenance descriptions. </span><span class="delete">Making an account an entity allows for provenance of provenance to be expressed.
+
+</span>
+<span class="delete">
+For users to decide whether they can place their trust in
+a resource, they may want to analyze the resource's provenance, but also determine
+who its provenance is attributed to, and when it was
+generated. In other words, users need to be able to determine the provenance of provenance.
+Hence, provenance is also
+regarded as an entity (of type Account), by which provenance of provenance can then be
+expressed.
+</span>
+
+
+
+
+
+
+
+
+<span class="delete">2.5 </span><span class="delete">Simplified Overview Diagram</span>
+
+<span class="delete">So far, we have introduced a series of concepts underpinning provenance. PROV-DM is a conceptual data model consisting of types and relations between these.</span> <a href="#overview-types-and-relations">Table 2</a><span class="delete"> shows how provenance concepts can be mapped to types and relations in PROV-DM: the</span><span class="insert">, where they are categorized as
+ type or relation.
+ The</span> first column lists <span class="delete">concepts introduced in this section,</span><span class="insert">concepts,</span> 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>
+
+
+
+
+
+
+
+
+
+<div style="text-align: left;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="overview-types-and-relations">Table 2: Mapping of <span class="delete">Provenance</span><span class="insert">PROV core</span> concepts to types and relations</caption>
+<tbody><tr><td><a><b>PROV Concepts</b></a></td><td><b>PROV-DM types or relations</b></td><td><b>Name</b></td><td><b><span class="insert">Overview</span></b></td></tr>
+<tr>
+<td><a href="#concept-entity" class="internalDFN">Entity</a></td><td rowspan="3" style="text-align: center;">PROV-DM Types</td><td><a title="dfn-Entity" href="#dfn-entity" class="internalDFN">entity</a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
+<tr><td><a href="#concept-activity" class="internalDFN">Activity</a></td><td><a title="dfn-Activity" href="#dfn-activity" class="internalDFN">activity</a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
+<tr><td><a href="#concept-agent" class="internalDFN">Agent</a></td><td><a title="dfn-agent" href="#dfn-agent" class="internalDFN">agent</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
+<tr>
+<td><a href="#concept-generation" class="internalDFN">Generation</a></td><td rowspan="7" style="text-align: center;">PROV-DM Relations</td><td><a title="wasGeneratedBy" href="#dfn-wasgeneratedby" class="internalDFN">wasGeneratedBy</a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
+<tr><td><a href="#concept-usage" class="internalDFN">Usage</a></td><td><a title="used" href="#dfn-used" class="internalDFN">used</a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
+<tr><td><a href="#concept-communication" class="internalDFN"><span class="insert">Communication</span></a></td><td><a title="wasInformedBy" href="#dfn-wasinformedby" class="internalDFN"><span class="insert">wasInformedBy</span></a></td><td style="text-align: center;"><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td></tr>
+<tr><td><a href="#concept-attribution" class="internalDFN">Attribution</a></td><td><a title="wasAttributedTo" href="#dfn-wasattributedto" class="internalDFN">wasAttributedTo</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
+<tr><td><a href="#concept-association-core" class="internalDFN">Association</a></td><td><a title="wasAssociatedWith" href="#dfn-wasassociatedwith" class="internalDFN">wasAssociatedWith</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
+<tr><td><a href="#concept-responsibility" class="internalDFN">Responsibility</a></td><td><a title="actedOnBehalfOf" href="#dfn-actedonbehalfof" class="internalDFN">actedOnBehalfOf</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td></tr>
+<tr><td><a href="#concept-derivation" class="internalDFN">Derivation</a></td><td><a title="wasDerivedFrom" href="#dfn-wasderivedfrom" class="internalDFN">wasDerivedFrom</a></td><td style="text-align: center;"><a href="#section-derivation"><span class="insert">2.1.3</span></a></td></tr>
+</tbody></table>
+</div>
+
+
+
+
+
+
+
+
+
+
+<form action="#"><p>
+<input id="hide-examples" onclick="set_display_by_class('div','anexample conceptexample','none'); set_display_by_id('hide-examples','none'); set_display_by_id('show-examples','');" type="button" value="Hide Concept Examples">
+<input id="show-examples" onclick="set_display_by_class('div','anexample conceptexample',''); set_display_by_id('hide-examples',''); set_display_by_id('show-examples','none');" style="display: none" type="button" value="Show Concept Examples">
+</p>
+</form>
+
+
+
+
+
+ <div id="section-entity-activity" class="section">
+<h4><span class="secno"><span class="insert">2.1.1 </span></span><span class="insert">Entity and Activity</span></h4>
+
+
+<p><span class="insert">In PROV, things we want to describe the provenance of are called </span><em><span class="insert">entities</span></em><span class="insert"> and have some fixed aspect. The term "things" encompasses a broad diversity of notions, including digital objects such as a file or web page,
+physical things such as a mountain, a building, a printed book, or a car as well as abstract concepts and ideas.
+</span></p>
+
+<p>
+</p><div class="glossary-ref"><span class="insert">
+ An </span><span class="dfn"><span class="insert">entity</span></span><span class="insert"> is a physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary. </span></div>
+
+
+
+<div class="anexample conceptexample" id="entity-example" count="1"><span class="insert">
+Z
+</span><p><span class="insert">An entity may be the document at URI </span><a href="http://www.bbc.co.uk/news/science-environment-17526723"><span class="insert">http://www.bbc.co.uk/news/science-environment-17526723</span></a><span class="insert">, a file in a file system, a car, or an idea.</span></p>
+</div>
+
+
+
+<p>
+<span class="glossary-ref"><span class="insert"> An </span><span class="dfn"><span class="insert">activity</span></span><span class="insert"> is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, generating, or being associated with entities. </span></span><span class="insert"> Activities that operate on digital entities may for example move, copy, or duplicate them.
+</span></p>
+
+
+
+<div class="anexample conceptexample" id="activity-example" count="2">
+<p><span class="insert">An activity may be the publishing of a document on the Web, sending a twitter message, extracting metadata embedded in a file, driving a car from Boston to Cambridge, assembling a data set based on a set of measurements, performing a statistical analysis over a data set, sorting news items according to some criteria, running a SPARQL query over a triple store, or editing a file.</span></p>
+</div>
+
+<p><span class="delete">Figure 1</span><span class="delete"> illustrates the three types (entity, activity,</span><span class="insert">Activities</span> and <span class="delete">agent)</span><span class="insert">entities are associated with each other in two different ways: activities utilize entities</span> and <span class="delete">how they relate</span><span class="insert">activities produce entities. The act of utilizing or producing an entity may have a duration.
+ The term 'generation' refers</span> to <span class="delete">each</span><span class="insert">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. </span></p>
+
+<p>
+</p><div class="glossary-ref">
+ <span class="dfn"><span class="insert">Generation</span></span><span class="insert"> is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. </span></div>
+
+
+<p>
+</p><div class="glossary-ref">
+ <span class="dfn"><span class="insert">Usage</span></span><span class="insert"> is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. </span></div>
+
+
+
+
+<div class="anexample conceptexample" id="generation-example" count="3">
+<p><span class="insert">Examples of generation are the completed creation of a file by a
+program, the completed creation of a linked data set, and the completed
+publication of a new version of a document.
+</span></p></div>
+
+
+
+<div class="anexample conceptexample" id="usage-example" count="4">
+<p><span class="insert">Usage examples include a procedure beginning to consume an argument, a service starting to read a value on a port, a program beginning to read a configuration
+file, or the point at which an ingredient, such as eggs, is being added in a baking activity. Usage may entirely consume an entity (e.g. eggs are no longer available after being added to
+the mix); in contrast, the same entity may be used multiple times, possibly by different activities (e.g. a file on a file system can be read indefinitely).
+</span></p></div>
+
+
+<p><span class="insert">The generation of an entity by an activity and its subsequent usage by another activity is termed communication.</span></p>
+
+<p>
+</p><div class="glossary-ref">
+ <span class="dfn"><span class="insert">Communication</span></span><span class="insert"> is the exchange of an entity by two activities, one activity using the entity generated by the</span> other. </div>
+
+
+
+
+
+<div class="anexample conceptexample" id="communication-example" count="5">
+<p><span class="insert">
+The activity of writing a celebrity article was informed by (a
+communication instance) the activity of intercepting voicemails.
+</span></p></div>
+
+
+
+</div>
+
+
+<div id="section-agents-attribution-association-delegation" class="section">
+<h4><span class="secno"><span class="insert">2.1.2 </span></span><span class="insert">Agents and Responsibility</span></h4>
+
+<p><span class="insert">The motivation for introducing</span> <span class="delete">At this stage, all relations</span><span class="insert">agents in the model is to express the agent's responsibility for activities that happened and entities that were generated. </span></p>
+
+<p>
+<span class="glossary-ref"><span class="insert">
+ An </span><span class="dfn"><span class="insert">agent</span></span><span class="insert"> is something that bears some form of responsibility for an activity taking place or for the existence of an entity. </span></span><span class="insert"> An agent </span><em class="rfc2119" title="may"><span class="insert">may</span></em><span class="insert"> be a particular type of entity or activity. This means that the model can be
+ used to express provenance of the agents themselves.
+</span></p>
+
+
+
+
+
+
+<div class="anexample conceptexample" id="agent-example" count="6">
+<p><span class="insert">
+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</span> are <span class="delete">shown</span><span class="insert">also agents.
+</span></p>
+</div>
+
+
+
+
+<p><span class="insert">Agents can be related</span> to <span class="insert">entities, activities, and other agents.</span></p>
+
+<div class="glossary-ref"> <span class="dfn"><span class="insert">Attribution</span></span><span class="insert"> is the ascribing of an entity to an agent. </span></div>
+
+<div class="anexample conceptexample" id="attribution-example" count="7">
+<p><span class="insert">A blog post can </span>be <span class="delete">binary. Definitions of </span><span class="delete">Section 4</span><span class="delete"> reveal that some relations, while involving two primary elements, are n-ary. </span><span class="insert">attributed to an author, a mobile phone to its manufacturer.</span></p>
+
+
+
+
+
+<span class="delete">Figure 1: Simplified Overview of PROV-DM</span>
+
+</div>
+
+<p><span class="delete">Figure 1</span><span class="insert">
+Agents are defined as having some kind of responsibility for activities. </span></p>
+
+
+
+
+<p>
+<span class="glossary-ref"><span class="insert"> An activity </span><span class="dfn"><span class="insert">association</span></span> is <span class="insert">an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity. </span></span>
+</p>
+
+<div class="anexample conceptexample" id="association-example" count="8">
+<p><span class="insert">Examples of association between an activity and an agent are:
+</span></p><ul>
+<li><span class="insert">creation of a web page under the guidance of a designer;</span></li>
+<li><span class="insert">various forms of participation in a panel discussion, including audience member, panelist, or panel chair;</span></li>
+<li><span class="insert">a public event, sponsored by a company, and hosted by a museum;</span></li>
+</ul>
+</div>
+
+
+
+<p>
+<span class="glossary-ref">
+ <span class="dfn"><span class="insert">Delegation</span></span><span class="insert"> is the assignment of authority to an agent (by itself or by another agent) to carry out a specific activity as a delegate or representative, while the agent that it represents remains responsible for the outcome of the delegated work. </span></span><span class="insert"> The nature of this relation is intended to be broad, including contractual relation, but also altruistic initiative by the representative agent. </span></p>
+
+
+
+
+<div class="anexample conceptexample" id="responsibility-example" count="9">
+<p><span class="insert">A student publishing a web page describing an academic
+department could result in both the student and the department being
+agents associated with the activity. It may </span>not <span class="delete">intended</span><span class="insert">matter which actual
+student published a web page, but it may matter significantly that the department
+told the student</span> to <span class="delete">be complete: it only illustrates</span><span class="insert">put up the web page.
+</span></p>
+</div>
+</div>
+
+ <div id="section-derivation" class="section">
+<h4><span class="secno"><span class="insert">2.1.3 </span></span><span class="insert">Derivation</span></h4>
+
+
+
+<p><span class="insert">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.</span></p>
+
+<p>
+<span class="glossary-ref"><span class="insert"> A </span><span class="dfn"><span class="insert">derivation</span></span> <span class="delete">types</span><span class="insert">is a transformation of an entity into another, an update of an entity, resulting in a new one, or based on an entity, the construction of another.</span></span>
+
+
+
+</p><div class="anexample conceptexample" id="derivation-example" count="10">
+<p><span class="insert">Examples of derivation include the transformation of a relational table into a
+linked data set, the transformation of a canvas into a painting, the transportation of a work of art from London to New York,</span> and <span class="delete">relations introduced in this section (</span><span class="delete">Section 2</span><span class="delete">), exploited in the example discussed in </span><span class="delete">Section 3</span><span class="delete">, and explained in detail in </span><span class="delete">Section 4</span><span class="delete">.
+Names of relations depicted in </span><span class="delete">Figure 1</span><span class="delete">
+are listed in
+the third column of </span><span class="delete">Table 2</span><span class="delete">. These names are part of </span>a <span class="delete">textual notation to write instances of the PROV data model, which we introduce in the next section. </span><span class="insert">physical transformation such as the melting of ice into water.</span></p>
+
+
+
+</div>
+
+
+</div>
+
+</div>
+
+<div id="section-extended-structures" class="section">
+<h3><span class="secno"><span class="delete">2.6 </span><span class="delete">PROV-N: </span><span class="insert">2.2 </span></span><span class="insert">PROV Extended Structures</span></h3>
+
+<p><span class="insert">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.
+</span>The <span class="delete">Provenance Notation</span><span class="insert">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.</span></p>
+
+
+
+
+<div id="section-prov-extended-mechanisms" class="section">
+<h4><span class="secno"><span class="insert">2.2.1 </span></span><span class="insert">Mechanisms to Define Extended Structures</span></h4>
+
+<p><span class="insert">Extended structures are defined by a variety of mechanisms
+outlined in this section: subtyping, expanded relations, optional
+identification, and new relations.</span></p>
+
+
+<div id="section-prov-extended-approach-subtyping" class="section">
+<h5><span class="secno"><span class="insert">2.2.1.1 </span></span><span class="insert">Subtyping</span></h5>
+
+<p><span class="insert">Subtyping can be applied to core types. For example, a software agent is special kind of agent, defined as follows.</span></p>
+
+<span class="glossary-ref"><span class="insert">
+ A </span><span class="dfn"><span class="insert">software agent</span></span><span class="insert"> is running software. </span></span>
+
+
+<p><span class="insert">Subtyping can also be applied to core relations. For example, a revision is a special kind of derivation, defined as follows.</span></p>
+
+
+<p><span class="glossary-ref"><span class="insert"> A </span><span class="dfn"><span class="insert">revision</span></span><span class="insert"> is a derivation that revises an entity into a revised version. </span></span></p>
+
+</div>
+
+<div id="section-prov-extended-approach-expanded-relation" class="section">
+<h5><span class="secno"><span class="insert">2.2.1.2 </span></span><span class="insert">Expanded Relations</span></h5>
+
+<p><a href="#core-structures"><span class="insert">Section 2.1</span></a><span class="insert"> shows that seven concepts are mapped to binary relations in the core of PROV. However, some advanced uses of these concepts cannot be captured by a binary relation, but require relations to be expanded to n-ary relations.</span></p>
+
+
+<p>To illustrate <span class="delete">the application of PROV</span><span class="insert">expanded relations, we consider the concept of
+association, described
+in </span><a href="#section-agents-attribution-association-delegation"><span class="insert">section
+2.1.2</span></a><span class="insert">. Agents may adopt sets of actions or steps to achieve their
+goals in the context of an activity: this is captured by the notion of
+a plan. Thus, an activity may reflect the execution of a plan that was
+designed in advance to guide the execution. Hence, an expanded
+association relation allows a plan be linked to an
+activity. Plan is defined by subtyping and full association by an expanded relation, as follows. </span></p>
+
+<p>
+<span class="glossary-ref"><span class="insert">
+ A </span><span class="dfn"><span class="insert">plan</span></span><span class="insert"> is an entity that represents a set of actions or steps intended by one or more agents to achieve some goals. </span></span><span class="insert">
+There exist no
+prescriptive requirement on the nature of plans, their representation, the
+actions or steps they consist of, or their intended goals. Since plans may evolve over time,
+it may become necessary to track their provenance, so plans themselves are
+entities. Representing the plan explicitly in the provenance can be useful for various tasks: for example, to
+validate the execution as represented in the provenance record, to
+manage expectation failures, or to provide explanations.</span></p>
+
+
+<p>
+<span class="glossary-ref"><span class="insert"> An activity </span><span class="dfn"><span class="insert">association</span></span><span class="insert"> is an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity. It further allows for a plan to be specified, which is the plan intended by the agent to achieve some goals in the context of this activity. </span></span>
+</p>
+
+
+<div class="anexample conceptexample" id="association-example2" count="11">
+<p><span class="insert">An example of association between an activity and an agent involving a plan is:
+an XSLT transform (an activity) launched by a user (an agent) based on an XSL style sheet (a plan).
+
+</span></p></div>
+</div>
+
+
+<div id="section-prov-extended-approach-optional-identification-new-relation" class="section">
+<h5><span class="secno"><span class="insert">2.2.1.3 </span></span><span class="insert">Optional Identification and New Relations</span></h5>
+
+<p><span class="insert">Some</span> concepts <span class="insert">exhibit both a core use, expressed as
+binary relation, and an extended use, expressed as n-ary relation. In
+some cases, mapping the concept </span>to a <span class="delete">concrete example (see </span><span class="delete">Section 3</span><span class="delete">)</span><span class="insert">relation, whether binary or
+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.</span></p>
+
+<div class="anexample conceptexample" id="identifier-example" count="12">
+<p><span class="insert">A service may read a same configuration file on two different occasions. Each usage can be identifed by its own identifier, allowing them to be distinguished.
+</span></p></div>
+
+<p><span class="insert">Finally, PROV-DM supports further relations that are not subtypes or expanded versions of existing relations.</span></p>
+
+
+
+
+</div>
+
+
+
+</div>
+
+
+
+<div id="section-provenance-of-provnance" class="section">
+<h4><span class="secno"><span class="insert">2.2.2 </span></span><span class="insert">Provenance of Provenance</span></h4>
+
+
+
+
+<p>
+<span class="glossary-ref"><span class="insert">
+ A </span><span class="dfn"><span class="insert">bundle</span></span><span class="insert"> is a named set of provenance descriptions,</span> and <span class="insert">is itself an entity, so allowing provenance of provenance </span>to <span class="delete">provide examples of concepts (see </span><span class="delete">Section 4</span><span class="delete">),
+we introduce PROV-N, </span><span class="insert">be expressed. </span></span>
+
+</p><div class="anexample conceptexample" id="bundle-example" count="13">
+<p><span class="insert">
+For users to decide whether they can place their trust in
+</span>a <span class="delete">notation</span><span class="insert">resource, they may want to analyze the resource's provenance, but also determine
+who its provenance is attributed to, and when it was
+generated. In other words, users need to be able to determine the provenance of provenance.
+Hence, provenance is also
+regarded as an entity (of type Bundle), by which provenance of provenance can then be
+expressed.
+</span></p>
+</div>
+</div>
+
+<div id="section-collections" class="section">
+<h4><span class="secno"><span class="insert">2.2.3 </span></span><span class="insert">Collections</span></h4>
+
+<p>
+<span class="glossary-ref"><span class="insert"> A </span><span class="dfn"><span class="insert">collection</span></span><span class="insert"> is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be </span><span class="dfn"><span class="insert">member of</span></span><span class="insert"> the collections. </span></span><span class="insert"> This concept allows</span> for <span class="delete">writing instances of the PROV data model. For full details, the reader is referred</span><span class="insert">the provenance of the collection itself</span> to <span class="delete">the companion specification [</span><span class="delete">PROV-N</span><span class="delete">].
+PROV-N is</span><span class="insert">be expressed in addition to that of the members. Many different types of collections exist, such as</span> a <span class="delete">notation aimed at human consumption, with the following characteristics:</span>
+
+<span class="delete">PROV-N expressions adopt a </span><em><span class="delete">functional notation</span><span class="delete"> consisting
+of a name and a list of arguments in parentheses.</span>
+
+<span class="delete">The interpretation of PROV-N arguments is defined according to their </span><span class="delete">position</span><span class="delete"> in the list of arguments. This convention allows for a compact notation. </span>
+
+<span class="delete">
+PROV-N </span><span class="delete">optional arguments</span><span class="delete"> 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><span class="delete">-</span><span class="delete"> is used for this purpose.
+</span>
+
+<span class="delete">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 </span><span class="delete">first position</span><span class="insert">sets</span></em>, <em><span class="insert">dictionaries</span></em><span class="insert">, or </span><em><span class="insert">lists</span></em><span class="insert">, all of which involve a membership relationship between the constituents </span>and the <span class="delete">the set of attribute-value pairs</span><span class="insert">collection. </span></p>
+
+<div class="anexample conceptexample" id="collection-example" count="14">
+<p><span class="insert">
+An example of collection is an archive of documents. Each document has its own provenance, but the archive itself also has some provenance: who maintained it, which documents it contained at which point</span> in <span class="delete">the </span><span class="delete">last position</span><span class="delete">.
+Consistent with the convention on arguments, the marker</span><span class="insert">time, how it was assembled, etc.
+</span></p></div>
+
+
+</div>
+
+
+
+
+
+</div>
+
+<div id="section-overview-components" class="section">
+<h3><span class="secno"><span class="insert">2.3 </span></span><span class="insert">Modular Organization</span></h3>
+
+<p><span class="insert">Besides the separation between core and extended structures, PROV-DM
+is further organized according to components, grouping concepts in a
+thematic manner. </span></p>
+
+<p> <a href="#components-overview"><span class="insert">Table 3</span></a><span class="insert"> 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</span> <span class="delete">-</span><span class="delete"> can be used when the identifier is not available, or can be omitted altogether with no ambiguity arising.
+</span>
+<span class="insert">define core structures.</span>
+
+
+<span class="delete">
+An activity with identifier </span><span class="delete">a1</span></p><div id="components-overview-div" style="text-align: center;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="components-overview"><span class="insert">Table 3: Components Overview</span></caption>
+<tbody><tr><td style="border-width: 0px; "></td><td><span class="insert">Component</span></td><td><span class="insert">Core </span><br><span class="insert">Structures</span></td><td><span class="insert">Overview</span></td><td><span class="insert">Specification</span></td><td><span class="insert">Description</span></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+<tr><td style=" padding: 8px;"><span class="insert">1</span></td><td style="text-align: left;"><span class="insert">Entities</span> and <span class="delete">an attribute </span><span class="delete">type</span><span class="delete"> with value </span><span class="delete">createFile</span><span class="delete">.
+</span><span class="delete">activity(a1, [prov:type="createFile"])
+</span><span class="delete">
+Two</span><span class="insert">Activities</span></td><td><span class="insert">✔</span></td><td><a href="#section-entity-activity"><span class="insert">2.1.1</span></a></td><td><a href="#component1"><span class="insert">5.1</span></a></td><td style="text-align: left;"><span class="insert">about</span> entities <span class="delete">with identifiers </span><span class="delete">e1</span> and <span class="delete">e2</span><span class="delete">.
+</span><span class="delete">entity(e1)
+entity(e2)
+</span><span class="delete">
+The activity </span><span class="delete">a1</span><span class="delete"> used </span><span class="delete">e1</span><span class="delete">,</span><span class="insert">activities,</span> and <span class="delete">e2</span><span class="delete"> was generated by </span><span class="delete">a1</span><span class="delete">.
+</span><span class="delete">used(a1,e1)
+wasGeneratedBy(e2,a1)
+</span><span class="delete">
+The</span><span class="insert">their interrelations</span></td></tr>
+<tr><td><span class="insert">2</span></td><td style="text-align: left;"><span class="insert">Agent and Responsibility</span></td><td><span class="insert">✔</span></td><td><a href="#section-agents-attribution-association-delegation"><span class="insert">2.1.2</span></a></td><td><a href="#component2"><span class="insert">5.2</span></a></td><td style="text-align: left;"><span class="insert">about agents and concepts ascribing responsibility to them</span></td></tr>
+<tr><td><span class="insert">3</span></td><td style="text-align: left;"><span class="insert">Derivation</span></td><td><span class="insert">✔</span></td><td><a href="#section-derivation"><span class="insert">2.1.3</span></a></td><td><a href="#component3"><span class="insert">5.3</span></a></td><td style="text-align: left;"><span class="insert">about derivations and its subtypes</span></td></tr>
+<tr><td><span class="insert">4</span></td><td style="text-align: left;"><span class="insert">Alternate</span></td><td></td><td><span class="insert">—</span></td><td><a href="#component4"><span class="insert">5.4</span></a></td><td style="text-align: left;"><span class="insert">about relations linking entities referring the</span> same <span class="delete">description, but with an explicit identifier </span><span class="delete">u1</span><span class="delete"> for the usage,</span><span class="insert">thing</span></td></tr>
+<tr><td><span class="insert">5</span></td><td style="text-align: left;"><span class="insert">Bundles</span></td><td></td><td><a href="#section-provenance-of-provnance"><span class="insert">2.2.2</span></a></td><td><a href="#component5"><span class="insert">5.5</span></a></td><td style="text-align: left;"><span class="insert">about bundles, a mechanism to support provenance of provenance</span></td></tr>
+<tr><td><span class="insert">6</span></td><td style="text-align: left;"><span class="insert">Collections</span></td><td></td><td><a href="#section-collections"><span class="insert">2.2.3</span></a></td><td><a href="#component6"><span class="insert">5.6</span></a></td><td style="text-align: left;"><span class="insert">about collections</span> and <span class="delete">the syntactic marker </span><span class="delete">-</span><span class="delete"> to mark the absence of identifier in the generation.
+</span><span class="delete">used(u1,a1,e1)
+wasGeneratedBy(-,e2,a1)
+</span><span class="insert">concepts capturing their transformation, such as insertion and removal</span></td></tr>
+</tbody></table>
+</div>
+
+</div>
+
+</div>
+
+
+<div id="prov-notation" class="section">
+<h2><span class="secno"><span class="insert">3. </span></span><span class="insert">The Provenance Notation</span></h2>
+
+
+<p><span class="insert">To illustrate the application of PROV concepts to a concrete example (see </span><a href="#prov-dm-example"><span class="insert">Section 4</span></a><span class="insert">) and to provide examples of concepts (see </span><a href="#data-model-components"><span class="insert">Section 5</span></a><span class="insert">),
+we introduce PROV-N, a notation for writing instances of the PROV data model. For full details, the reader is referred to the companion specification [</span><cite><a class="bibref" rel="biblioentry" href="#bib-PROV-N"><span class="insert">PROV-N</span></a></cite><span class="insert">].
+PROV-N is a notation aimed at human consumption, with the following characteristics:</span></p>
+<ul>
+<li><span class="insert">PROV-N expressions adopt a </span><em><span class="insert">functional notation</span></em><span class="insert"> consisting
+of a name and a list of arguments in parentheses.</span></li>
+
+<li><span class="insert">The interpretation of PROV-N arguments is defined according to their </span><em><span class="insert">position</span></em><span class="insert"> in the list of arguments. This convention allows for a compact notation. </span></li>
+
+<li><span class="insert">
+PROV-N </span><em><span class="insert">optional arguments</span></em><span class="insert"> 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><span class="name"><span class="insert">-</span></span><span class="insert">' is used for this purpose.
+</span></li>
+
+<li><span class="insert">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 </span><em><span class="insert">first position</span></em><span class="insert">, and the set of attribute-value pairs in the </span><em><span class="insert">last position</span></em><span class="insert">.
+Consistent with the convention on arguments, the marker '</span><span class="name"><span class="insert">-</span></span><span class="insert">' 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><span class="name"><span class="insert">;</span></span><span class="insert">'.
+</span></li>
+</ul>
+
+<div class="anexample" count="15">
+<p><span class="insert">
+An activity with identifier </span><span class="name"><span class="insert">a1</span></span><span class="insert"> and an attribute </span><span class="name"><span class="insert">type</span></span><span class="insert"> with value </span><span class="name"><span class="insert">createFile</span></span><span class="insert">.
+</span></p><pre class="codeexample"><span class="insert">activity(a1, [prov:type="createFile"])
+</span></pre><span class="insert">
+Two entities with identifiers </span><span class="name"><span class="insert">e1</span></span><span class="insert"> and </span><span class="name"><span class="insert">e2</span></span><span class="insert">.
+</span><pre class="codeexample"><span class="insert">entity(e1)
+entity(e2)
+</span></pre><span class="insert">
+The activity </span><span class="name"><span class="insert">a1</span></span><span class="insert"> used </span><span class="name"><span class="insert">e1</span></span><span class="insert">, and </span><span class="name"><span class="insert">e2</span></span><span class="insert"> was generated by </span><span class="name"><span class="insert">a1</span></span><span class="insert">.
+</span><pre class="codeexample"><span class="insert">used(a1,e1)
+wasGeneratedBy(e2,a1)
+</span></pre><span class="insert">
+The same descriptions, but with an explicit identifier </span><span class="name"><span class="insert">u1</span></span><span class="insert"> for the usage, and the syntactic marker '</span><span class="name"><span class="insert">-</span></span><span class="insert">' to mark the absence of identifier in the generation. Both are followed by '</span><span class="name"><span class="insert">;</span></span><span class="insert">'.
+</span><pre class="codeexample"><span class="insert">used(u1;a1,e1)
+wasGeneratedBy(-;e2,a1)
+</span></pre>
+</div>
+
+
+
+</div>
+
+
+<div id="prov-dm-example" class="section">
+<h2><span class="secno"><span class="delete">3.</span><span class="insert">4.</span> </span>Illustration of PROV-DM by an Example</h2>
+
+<p><a href="#section-prov-overview">Section 2</a> has introduced some provenance concepts, and how they are expressed as types or relations in the PROV data model. The purpose of this section is to put these concepts into practice in order to express the provenance of some document published on the Web.
+With this realistic example, PROV concepts are composed together, and a graphical illustration shows a provenance description forming a directed graph, rooted at the entity we want to explain the provenance of, and pointing to the entities, activities, and agents it depended on. This example also shows that, sometimes, multiple provenance descriptions about the same entity can co-exist, which then justifies the need for provenance of provenance.</p>
+
+
+<p>In this example, we consider one of the many documents published by the World Wide Web Consortium, and describe its provenance.
+Specifically, we consider the document identified by
+<a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">http://www.w3.org/TR/2011/WD-prov-dm-20111215</a>. Its provenance can be expressed from several perspectives: first, provenance can take the authors' viewpoint; second, it can be concerned with the <acronym title="World Wide Web Consortium">W3C</acronym> process. Then, attribution of these two provenance descriptions is provided.</p>
+
+
+<div id="section-example-one" class="section">
+<h3><span class="secno"><span class="delete">3.1</span><span class="insert">4.1</span> </span>The Authors View</h3>
+
+
+<p style="font-style:italic; "><b>Description:</b> A document
+is edited by some editor, using contributions from various
+contributors.
+</p>
+
+
+
+<p>In this perspective, provenance of the document
+<a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">http://www.w3.org/TR/2011/WD-prov-dm-20111215</a> is concerned with the editing activity as perceived by authors. This kind of information could be used by authors in their CV or in a narrative about this document. </p>
+
+
+
+
+<p>We paraphrase some PROV-DM descriptions, express them with the PROV-N notation, and <span class="delete">then </span>depict them with a graphical illustration (see <a href="#prov-a-document1-top">Figure <span class="delete">1</span><span class="insert">2</span></a>).
+Full details of the provenance record can be found <a href="examples/w3c-publication3.pn">here</a>.</p>
+
+<div style="text-align: center; ">
+ <figure id="prov-a-document1-top">
+ <img src="images/w3-publication3.png" alt="Provenance of a Document (1)" style="max-width: 98%; ">
+<div class="figcaption" id="prov-a-document1"><span class="insert">Figure 2: Provenance of a Document (1)</span></div>
+ </figure>
+</div>
+
+
+<ul>
+<li>There was a document <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span>, which from the author's perspective was a document in its second version.
+<pre>entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ])
+</pre>
+</li>
+
+<li>There was an editing activity.
+<pre>activity(ex:edit1,[prov:type="edit"])
+</pre>
+</li>
+
+<li>The document was generated by the editing activity: this was a <a title="concept-generation">Generation</a>.
+<pre>wasGeneratedBy(tr:WD-prov-dm-20111215, ex:edit1, -)
+</pre>
+</li>
+
+
+<li>There were some agents.
+<pre>agent(ex:Paolo, [ prov:type="Person" ])
+agent(ex:Simon, [ prov:type="Person" ])
+</pre>
+</li>
+
+<li>Agents were assigned various responsibilities in the editing activity: contributor and editor.
+<pre>wasAssociatedWith(ex:edit1, ex:Paolo, -, [ prov:role="editor" ])
+wasAssociatedWith(ex:edit1, ex:Simon, -, [ prov:role="contributor" ])
+</pre>
+</li>
+</ul>
+
+<p>
+Provenance descriptions can be <em>illustrated</em> graphically. The illustration is not intended to represent all the details of the model, but it is intended to show the essence of a set of
+provenance descriptions. Therefore, it should not be seen as an alternate notation for expressing provenance.</p>
+
+<p>The graphical illustration takes the form of a graph. Entities, activities and agents are represented as nodes, with oval, rectangular, and pentagonal shapes, respectively. Usage,
+Generation, Derivation, and Association are represented as directed edges.</p>
+
+<p>Entities are laid out according to the ordering of their generation. We endeavor to show time progressing from left to right. This means that edges for Usage, Generation,
+Derivation, Association typically point leftwards</p>
+
+
+
+
+
+<span class="delete">Figure 2: Provenance of a Document (1)</span>
+
+
+
+
+
+
+
+</div>
+
+<div id="section-example-two" class="section">
+<h3><span class="secno"><span class="delete">3.2</span><span class="insert">4.2</span> </span>The Process View</h3>
+
+
+<p style="font-style:italic; "><b>Description:</b> The World Wide Web
+Consortium publishes documents according to its publication
+policy. Working drafts are published regularly to reflect the work
+accomplished by working groups. Every publication of a working draft
+must be preceded by a "publication request" to the Webmaster. The
+very first version of a document must also be preceded by a
+"transition request" to be approved by the <acronym title="World Wide Web Consortium">W3C</acronym> director. All working
+drafts are made available at a unique URI. In this scenario, we consider two successive versions of a given document, the policy according to which they were published, and the associated requests.
+</p>
+
+<p>
+We describe the kind of provenance record that the <a href="http://www.w3.org/Consortium">WWW Consortium</a> could keep for auditors to check that due processes are followed. All entities involved in this example are Web resources, with <span class="delete">well defined</span><span class="insert">well-defined</span> URIs (some of which refer archived email messages, available to <acronym title="World Wide Web Consortium">W3C</acronym> Members).</p>
+
+<ul>
+<li> Two versions of a document were involved: <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> (second working draft) and <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span> (first working draft);</li>
+<li> Both <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> and <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span> were published by the WWW Consortium (<span class="name"><a href="http://www.w3.org/Consortium">w3:Consortium</a></span>); </li>
+<li> The publication activity for <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> was <span class="name">ex:act2</span>;</li>
+<li> The publication activity for <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span> was <span class="name">ex:act1</span>;
+</li>
+
+<li> The document <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> was derived from <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span>;</li>
+
+<li> The publication activity <span class="name">ex:act1</span> used a <a href="http://www.w3.org/2005/08/01-transitions.html#pubreq">publication request</a> (<span class="name"><a href="https://lists.w3.org/Archives/Member/w3c-archive/2011Oct/0141">email:2011Oct/0141</a></span>) and a <a href="http://www.w3.org/2005/08/01-transitions.html#transreq">transition request</a> (<span class="name"><a href="https://lists.w3.org/Archives/Member/chairs/2011OctDec/0004">chairs:2011OctDec/0004</a></span>);</li>
+<li> The publication activity <span class="name">ex:act2</span> used a <a href="http://www.w3.org/2005/08/01-transitions.html#pubreq">publication request</a> (<span class="name"><a href="https://lists.w3.org/Archives/Member/w3c-archive/2011Dec/0111">email:2011Dec/0111</a></span>);</li>
+<li> Documents were published according to the process rules (<span class="name"><a href="http://www.w3.org/2005/10/Process-20051014/tr.html#rec-advance">process:rec-advance</a></span>), a plan in PROV-DM terminology.</li>
+</ul>
+
+<p>
+We now paraphrase some PROV descriptions, and express them with the PROV-N notation, and <span class="delete">then </span>depict them with a graphical illustration (see <a href="#prov-a-document2-top">Figure <span class="delete">2</span><span class="insert">3</span></a>). Full details of the provenance record can be found <a href="examples/w3c-publication1.pn">here</a>.
+
+</p><div style="text-align: center;">
+ <figure id="prov-a-document2-top">
+ <img src="images/w3-publication1.png" alt="Provenance of a Document (2)" style="max-width: 90%; ">
+<div class="figcaption" id="prov-a-document2"><span class="insert">Figure 3: Provenance of a Document (2)</span></div>
+ </figure>
+</div>
+
+
+
+<ul>
+<li>There was a document, a working draft <span class="delete">on the recommendation track </span>(<span class="delete">process:RecsWD</span><a href="http://www.w3.org/2001/02pd/rec54#WD"><span class="insert">rec54:WD</span></a>), which is an entity so that we can describe its provenance. Similar descriptions exist for all entities.
+<pre>entity(tr:WD-prov-dm-20111215, [ <span class="delete">prov:type="process:RecsWD" %% xsd:QName</span><span class="insert">prov:type='rec54:WD'</span> ])
+</pre>
+</li>
+<li>There was a publication activity.
+<pre>activity(ex:act2,[prov:type="publish"])
+</pre>
+</li>
+
+<li>The document was generated by the publication activity: this was a <a title="concept-Generation">Generation</a>.
+<pre>wasGeneratedBy(tr:WD-prov-dm-20111215, ex:act2, -)
+</pre>
+</li>
+
+
+<li>The second draft of the document was derived from the first draft: this was a <a title="concept-Derivation">Derivation</a>.
+<pre>wasDerivedFrom(tr:WD-prov-dm-20111215, tr:WD-prov-dm-20111018)
+</pre>
+</li>
+
+<li>The activity required a publication request: this was a <a title="concept-Usage">Usage</a>.
+<pre>used(ex:act2, email:2011Dec/0111, -)
+</pre>
+</li>
+
+<li>The activity was associated with the Consortium agent, and proceeded according to its publication policy: this is an <a title="concept-activityAssociation">Activity Association</a>.
+<pre>wasAssociatedWith(ex:act2, w3:Consortium, process:rec-advance)
+</pre>
+</li>
+</ul>
+
+
+
+
+
+
+
+
+
+
+<span class="delete">Figure 3: Provenance of a Document (2)</span>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<p> This simple example has shown a variety of PROV concepts, such as Entity, Agent, Activity, Usage, Generation, Derivation, and Association. In this example, it happens that all entities were already Web resources, with readily available URIs, which we used. We note that some of the resources are public, whereas others have restricted access: provenance statements only make use of their identifiers. If identifiers do not pre-exist, e.g. for activities, then they can be generated, for instance <span class="name">ex:act2</span>, occurring in the namespace identified by prefix <span class="name">ex</span>. We note that the URI scheme developed by <acronym title="World Wide Web Consortium">W3C</acronym> is particularly suited for expressing provenance of these documents, since each URI denotes a specific version of a document. It then becomes easy to relate the various versions with PROV-DM relations. We note that an Association is a ternary relation (represented by a multi-edge labeled wasAssociatedWith) from an activity to an agent and a plan.</p>
+
+
+</div>
+
+
+<div id="section-example-c" class="section">
+<h3><span class="secno"><span class="delete">3.3</span><span class="insert">4.3</span> </span>Attribution of Provenance</h3>
+
+<p>The two previous sections <span class="insert">offer two different perspectives on the provenance of a document. PROV allows for multiple sources to </span>provide<span class="delete"> two different perspectives on</span> the provenance of a <span class="delete">document By design, the PROV approach allows for the provenance of a subject</span><span class="insert">subject. For users</span> to <span class="delete">be provided by multiple sources. For users</span><span class="insert">decide whether they can place their trust in the document, they may want</span> to <span class="delete">decide whether they can place their trust in the document, they may want to </span>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><span class="delete">No new mechanism</span><span class="insert">PROV-DM offers a construct to name a bundle of provenance descriptions (full details: </span><a href="examples/w3c-publication3.pn"><span class="insert">ex:author-view</span></a><span class="insert">). </span></p>
+
+<pre class="codeexample"><span class="insert">bundle ex:author-view
+
+ agent(ex:Paolo, [ prov:type='prov:Person' ])
+ agent(ex:Simon, [ prov:type='prov:Person' ])
+
+
+...
+
+endBundle
+</span></pre><span class="insert">
+
+Likewise, the process view can be expressed as a separate named bundle (full details: </span><a href="examples/w3c-publication1.pn"><span class="insert">ex:process-view</span></a><span class="insert">).
+</span><pre class="codeexample"><span class="insert">bundle ex:process-view
+
+ agent(w3:Consortium, [ prov:type='prov:Organization' ])
+
+...
+
+endBundle
+</span></pre>
+
+<p><span class="insert">To express their respective provenance, these bundles must be seen as entities, and all PROV constructs are now available to express their provenance. In the example below, </span><span class="name"><span class="insert">ex:author-view</span></span> is <span class="delete">required</span><span class="insert">attributed</span> to <span class="delete">support this requirement.</span><span class="insert">the agent</span> <span class="delete">PROV-DM makes the assumption that provenance statements have been bundled up, and named, by some mechanism outside the scope of PROV-DM. For instance, in this case, provenance statements were put in a file and exposed on the Web, respectively at </span><span class="delete">ex:w3c-publication1.pn</span><span class="delete"> and </span><span class="delete">ex:w3c-publication3.pn</span><span class="delete">. To express their respective provenance, these resources must be seen as entities, and all the constructs of PROV-DM are now available</span><span class="name"><span class="insert">ex:Simon</span></span><span class="insert">, whereas </span><span class="name"><span class="insert">ex:process-view</span></span> to<span class="delete"> characterize their provenance. In the example below, </span><span class="delete">ex:w3c-publication1.pn</span><span class="delete"> is attributed to the agent </span> <span class="name">w3:Consortium<span class="delete">, whereas </span><span class="delete">ex:w3c-publication3.pn</span><span class="delete"> to </span><span class="delete">ex:Simon</span></span>.
+
+</p><span class="delete">entity(ex:w3c-publication1.pn, [prov:type="prov:Account" %% xsd:QName</span><pre class="codeexample"><span class="insert">entity(ex:author-view, [prov:type='prov:Bundle'</span> ])
+<span class="delete">wasAttributedTo(ex:w3c-publication1.pn,</span><span class="insert">wasAttributedTo(ex:author-view, ex:Simon)
+
+entity(ex:process-view, [prov:type='prov:Bundle' ])
+wasAttributedTo(ex:process-view,</span> w3:Consortium)
+</pre>
+
+<span class="delete">entity(ex:w3c-publication3.pn, [prov:type="prov:Account" %% xsd:QName ])
+wasAttributedTo(ex:w3c-publication3.pn, ex:Simon)
+</span>
+
+
+
+</div>
+
+</div>
+
+
+<div id="data-model-components" class="section">
+
+<h2><span class="secno"><span class="delete">4.</span><span class="insert">5.</span> </span>PROV-DM Types and Relations</h2>
+
+<p>Provenance concepts, expressed as PROV-DM types and relations, are <span class="delete">structured</span><span class="insert">organized</span> according to six components that are <span class="delete">introduced</span><span class="insert">defined</span> in this section.
+<span class="delete">Components</span><span class="insert">The components</span> and their dependencies are illustrated in <a href="#prov-dm-components">Figure 4</a>. A component that relies on concepts defined in another <span class="delete">also sits</span><span class="insert">is displayed</span> above it in <span class="delete">this</span><span class="insert">the</span> figure.<span class="delete">
+PROV-DM consists of the following components.</span><span class="insert"> So, for example, component 6 (collections) depends on concepts defined in component 3 (derivation), itself dependen on concepts defined in component 1 (entity and activity).
+</span></p>
+
+<div id="prov-dm-components-ul">
+<ul>
+<li><b>Component 1: entities and activities.</b> The first component consists of entities, activities, and concepts linking them, such as generation, usage, start, end. The first component is the only one comprising time-related concepts. </li>
+<li><b>Component 2: agents and responsibility.</b> The second component consists of agents and concepts ascribing responsibility to agents.</li>
+<li><b>Component 3: derivations.</b> The third component is formed with derivations and derivation subtypes.</li>
+<li><b>Component 4: alternate.</b> The fourth component consists of relations linking entities referring to the same thing. </li>
+<li><b>Component 5: <span class="delete">collections.</span><span class="insert">bundles.</span></b> The fifth component is <span class="delete">about collections and concepts capturing their transformation, such as insertion and removal. </span><span class="insert">concerned with bundles, a mechanism to support provenance of provenance.</span></li>
+<li><b>Component 6: <span class="delete">annotations.</span><span class="insert">collections.</span></b> The sixth component is <span class="delete">concerned with annotations to PROV-DM instances.</span><span class="insert">about collections and concepts capturing their transformation, such as insertion and removal. </span></li>
+</ul>
+</div>
+
+
+
+
+
+
+<div style="text-align: center;">
+
+<figure style="max-width: 90%; ">
+<img usemap="#componentMap" src="images/components-dependencies.png" alt="PROV-DM Components" style="max-width: 90%; ">
+<map id="componentMap" name="componentMap">
+<area title="collections" href="#component5" coords="220,0,440,70" alt="collections" shape="rect">
+<area title="alternate" href="#component4" coords="450,0,510,140" alt="alternate" shape="rect">
+<area title="annotations" href="#component6" coords="530,0,590,220" alt="annotations" shape="rect">
+<area title="activities/entities" href="#component1" coords="80,150,510,220" alt="activities/entities" shape="rect">
+<area title="derivations" href="#component3" coords="80,0,210,70" alt="derivations" shape="rect">
+<area title="agents/responsibility" href="#component2" coords="0,0,70,220" alt="agents/responsibility" shape="rect">
+</map>
+<div class="figcaption" id="prov-dm-components">Figure 4: PROV-DM Components</div>
+</figure>
+</div>
+
+<p>
+While not all PROV-DM relations are binary, they all involve two primary elements. Hence, <a href="#relations-at-a-glance">Table <span class="delete">3</span><span class="insert">4</span></a> indexes all relations according to their two primary <span class="delete">elements.</span><span class="insert">elements (referred to as subject and object).</span> The table adopts the same color scheme as <a href="#prov-dm-components">Figure 4</a>, allowing components to be readily identified.
+Note that for simplicity, this table does not include <span class="insert">bundle-oriented and </span>collection-oriented relations.
+<span class="insert">Relation names appearing in bold correspond to the core structures introduced
+in </span><a href="#core-structures"><span class="insert">Section 2.1</span></a><span class="insert">.</span></p>
+
+
+
+
+<div id="relations-at-a-glance-div" style="text-align: center;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="relations-at-a-glance">Table <span class="delete">3:</span><span class="insert">4:</span> PROV-DM Relations At a Glance</caption>
+<tbody><tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td colspan="3"><span class="insert">Object</span></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td>Entity</td><td>Activity</td><td>Agent</td><span class="delete">Note</span></tr>
+<tr><td rowspan="3"><span class="insert">Subject</span></td><td>Entity</td><td><div class="component3-color"><a class="essential internalDFN" href="#dfn-wasderivedfrom">wasDerivedFrom</a><br><a>wasRevisionOf</a><br><a>wasQuotedFrom</a><br><a>hadOriginalSource</a></div><div class="component4-color"><a href="#dfn-alternateof" class="internalDFN">alternateOf</a><br><a href="#dfn-specializationof" class="internalDFN">specializationOf</a></div></td><td class="component1-color"><a class="essential internalDFN" title="wasGeneratedBy" href="#dfn-wasgeneratedby">wasGeneratedBy</a><br><a title="wasInvalidatedBy" href="#dfn-wasinvalidatedby" class="internalDFN">wasInvalidatedBy</a></td><td class="component2-color"><a class="essential internalDFN" href="#dfn-wasattributedto">wasAttributedTo<span class="delete">hasAnnotation</span></a></td></tr>
+<tr><td>Activity</td><td><div class="component1-color"><a class="essential internalDFN" href="#dfn-used">used</a><br><a href="#dfn-wasstartedby" class="internalDFN">wasStartedBy</a><br><a href="#dfn-wasendedby" class="internalDFN">wasEndedBy</a></div></td><td class="component1-color"><span class="delete">wasStartedByActivity</span><a class="essential internalDFN" href="#dfn-wasinformedby">wasInformedBy</a></td><td class="component2-color"><a class="essential internalDFN" href="#dfn-wasassociatedwith">wasAssociatedWith<span class="delete">hasAnnotation</span></a></td></tr>
+<tr><td>Agent</td><td>—</td><td>—</td><td class="component2-color"><a class="essential internalDFN" href="#dfn-actedonbehalfof">actedOnBehalfOf<span class="delete">hasAnnotation</span>
+<span class="delete">Note</span><span class="delete">—</span><span class="delete">—</span><span class="delete">—</span><span class="delete">hasAnnotation</span></a></td></tr>
+</tbody></table>
+</div>
+
+<p><a href="#prov-dm-types-and-relations">Table <span class="delete">4</span><span class="insert">5</span></a> is a complete index of all the types and relations of PROV-DM, color-coded according to the component they belong to. In the first column, concept names link to their informal definition, whereas, in the second column, representations link to the information used to represent the concept.<span class="insert"> Concept names appearing in bold are the core structures introduced in </span><a href="#core-structures"><span class="insert">Section 2.1</span></a><span class="insert">.</span></p>
+
+
+<div id="prov-dm-types-and-relations-fig" style="text-align: left;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="prov-dm-types-and-relations">Table <span class="delete">4:</span><span class="insert">5:</span> PROV-DM Types and Relations</caption>
+<tbody><tr><td><a><b>Type or Relation Name</b></a></td><td><b>Representation in the PROV-N notation</b></td><td><b><span class="insert">Component</span></b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component1-color"><td class="essential"><a href="#concept-entity" class="internalDFN">Entity</a></td><td><a title="dfn-Entity" class="essential internalDFN" href="#dfn-entity">entity(id, [ attr1=val1, ...])</a></td><td rowspan="8"><a href="#component1"><span class="insert">Component 1: entities/activities</span></a></td></tr>
+<tr class="component1-color"><td class="essential"><a href="#concept-activity" class="internalDFN">Activity</a></td><td><a title="dfn-Activity" class="essential internalDFN" href="#dfn-activity">activity(id, st, et, [ attr1=val1, ...])</a></td></tr>
+<tr class="component1-color"><td class="essential"><a href="#concept-generation" class="internalDFN">Generation</a></td><td><a title="wasGeneratedBy" href="#dfn-wasgeneratedby" class="internalDFN"><span class="delete">wasGeneratedBy(id,e,a,t,attrs)</span><span class="essential"><span class="insert">wasGeneratedBy(</span></span><span class="insert">id;</span><span class="essential"><span class="insert">e,a</span></span><span class="insert">,t,attrs</span><span class="essential"><span class="insert">)</span></span></a></td></tr>
+<tr class="component1-color"><td class="essential"><a href="#concept-usage" class="internalDFN">Usage</a></td><td><a title="used" href="#dfn-used" class="internalDFN"><span class="delete">used(id,a,e,t,attrs)</span><span class="essential"><span class="insert">used(</span></span><span class="insert">id;</span><span class="essential"><span class="insert">a,e</span></span><span class="insert">,t,attrs</span><span class="essential"><span class="insert">)</span></span></a></td></tr>
+<tr class="component1-color"><td class="essential"><a href="#concept-communication" class="internalDFN"><span class="insert">Communication</span></a></td><td><a title="wasInformedBy" href="#dfn-wasinformedby" class="internalDFN"><span class="insert">wasInformedBy(id;a2,a1,attrs)</span></a></td></tr>
+<tr class="component1-color"><td><a href="#concept-start" class="internalDFN">Start</a></td><td><a title="wasStartedBy" href="#dfn-wasstartedby" class="internalDFN"><span class="delete">wasStartedBy(id,a,e,t,attrs)</span><span class="insert">wasStartedBy(id;a2,e,a1,t,attrs)</span></a></td></tr>
+<tr class="component1-color"><td><a href="#concept-end" class="internalDFN">End</a></td><td><a title="wasEndedBy" href="#dfn-wasendedby" class="internalDFN"><span class="delete">wasEndedBy(id,a,e,t,attrs)</span><span class="insert">wasEndedBy(id;a2,e,a1,t,attrs)</span></a></td></tr>
+<tr class="component1-color"><td><a href="#concept-invalidation" class="internalDFN">Invalidation</a></td><td><a title="wasInvalidatedBy" href="#dfn-wasinvalidatedby" class="internalDFN"><span class="delete">wasInvalidatedBy(id,e,a,t,attrs)</span><span class="insert">wasInvalidatedBy(id;e,a,t,attrs)</span></a></td></tr>
+<span class="delete">Communication</span><tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component2-color" style="border-collapse: collapse; "><td class="essential"><a href="#concept-agent" class="internalDFN"><span class="insert">Agent</span></a></td><td><span class="delete">wasInformedBy(id,a2,a1,attrs)</span><a title="dfn-agent" class="essential internalDFN" href="#dfn-agent"><span class="insert">agent(id, [ attr1=val1, ...])</span></a></td><td rowspan="8"><a href="#component2"><span class="insert">Component 2: agents/responsibility</span></a></td></tr>
+<span class="delete">Start by Activity</span><span class="delete">wasStartedByActivity(id, a2, a1, attrs)</span>
+<tr class="component2-color"><span class="delete">Agent</span><span class="delete">agent(id, [ attr1=val1, ...])</span>
+<td class="essential"><a href="#concept-attribution" class="internalDFN">Attribution</a></td><td><a title="wasAttributedTo" href="#dfn-wasattributedto" class="internalDFN"><span class="delete">wasAttributedTo(id,e,ag,attr)</span><span class="essential"><span class="insert">wasAttributedTo(</span></span><span class="insert">id;</span><span class="essential"><span class="insert">e,ag</span></span><span class="insert">,attr</span><span class="essential"><span class="insert">)</span></span></a></td></tr>
+<tr class="component2-color"><td class="essential"><a href="#concept-association-core" class="internalDFN">Association</a></td><td><a title="wasAssociatedWith" href="#dfn-wasassociatedwith" class="internalDFN"><span class="delete">wasAssociatedWith(id,a,ag,pl,attrs)</span><span class="essential"><span class="insert">wasAssociatedWith(</span></span><span class="insert">id;</span><span class="essential"><span class="insert">a,ag</span></span><span class="insert">,pl,attrs</span><span class="essential"><span class="insert">)</span></span></a></td></tr>
+<tr class="component2-color"><span class="delete">Responsibility</span><td class="essential"><a href="#concept-delegation" class="internalDFN"><span class="insert">Delegation</span></a></td><td><a title="actedOnBehalfOf" href="#dfn-actedonbehalfof" class="internalDFN"><span class="delete">actedOnBehalfOf(id,ag2,ag1,a,attrs)</span><span class="essential"><span class="insert">actedOnBehalfOf(</span></span><span class="insert">id;</span><span class="essential"><span class="insert">ag2,ag1</span></span><span class="insert">,a,attrs</span><span class="essential"><span class="insert">)</span></span></a></td></tr>
+<tr class="component2-color"><td class="provType"><a href="#concept-plan" class="internalDFN"><span class="insert">Plan</span></a></td><td><a title="plan" href="#concept-plan" class="internalDFN"><span class="insert">... prov:type='prov:Plan' ...</span></a></td>
+</tr><tr class="component2-color"><td class="provType"><a href="#concept-person" class="internalDFN"><span class="insert">Person</span></a></td><td><a title="person" href="#concept-person" class="internalDFN"><span class="insert">... prov:type='prov:Person' ...</span></a></td>
+</tr><tr class="component2-color"><td class="provType"><a href="#concept-organization" class="internalDFN"><span class="insert">Organization</span></a></td><td><a title="organization" href="#concept-organization" class="internalDFN"><span class="insert">... prov:type='prov:Organization' ...</span></a></td>
+</tr><tr class="component2-color"><td class="provType"><a title="software-agent" href="#concept-software-agent" class="internalDFN"><span class="insert">SoftwareAgent</span></a></td><td><a title="software-agent" href="#concept-software-agent" class="internalDFN"><span class="insert">... prov:type='prov:SoftwareAgent' ...</span></a></td>
+</tr><tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component3-color"><td class="essential"><a href="#concept-derivation" class="internalDFN">Derivation</a></td><td><a title="wasDerivedFrom" href="#dfn-wasderivedfrom" class="internalDFN"><span class="delete">wasDerivedFrom(id, </span><span class="essential"><span class="insert">wasDerivedFrom(</span></span><span class="insert">id; </span><span class="essential">e2, <span class="delete">e1,</span><span class="insert">e1</span></span><span class="insert">,</span> a, g2, u1, <span class="delete">attrs)</span><span class="insert">attrs</span><span class="essential"><span class="insert">)</span></span></a></td><td rowspan="5"><a href="#component3"><span class="insert">Component 3: derivation</span></a></td></tr>
+<tr class="component3-color"><td class="provType"><a href="#concept-revision" class="internalDFN">Revision</a></td><td><span class="delete">wasRevisionOf(id,e2,e1,ag,attrs)</span><a title="revision" href="#concept-revision" class="internalDFN"><span class="insert">... prov:type='prov:WasRevisionOf' ...</span></a></td></tr>
+<tr class="component3-color"><td class="provType"><a href="#concept-quotation" class="internalDFN">Quotation</a></td><td><span class="delete">wasQuotedFrom(id,e2,e1,ag2,ag1,attrs)</span><a title="quotation" href="#concept-quotation" class="internalDFN"><span class="insert">... prov:type='prov:WasQuotedFrom' ...</span></a></td></tr>
+<tr class="component3-color"><td class="provType"><a href="#concept-original-source" class="internalDFN">Original Source</a></td><td><span class="delete">hadOriginalSource(id,e2,e1,attrs)</span><a title="Original Source" href="#concept-original-source" class="internalDFN"><span class="insert">... prov:type='prov:HadOriginalSource' ...</span></a></td></tr>
+<tr class="component3-color"><td><a href="#concept-trace" class="internalDFN">Trace</a></td><td><a title="tracedTo" href="#dfn-tracedto" class="internalDFN"><span class="delete">tracedTo(id,e2,e1,attrs)</span><span class="insert">tracedTo(id;e2,e1,attrs)</span></a></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component4-color"><td><a href="#concept-alternate" class="internalDFN">Alternate</a></td><td><a title="alternateOf" href="#dfn-alternateof" class="internalDFN">alternateOf(alt1, alt2)</a></td><td rowspan="2"><a href="#component4"><span class="insert">Component 4: alternate</span></a></td></tr>
+<tr class="component4-color"><td><a href="#concept-specialization" class="internalDFN">Specialization</a></td><td><a title="specializationOf" href="#dfn-specializationof" class="internalDFN">specializationOf(sub, super)</a></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component5-color"><td><a title="bundle" href="#concept-bundle" class="internalDFN"><span class="insert">Bundle constructor</span></a></td><td><a title="dfn-bundle" href="#dfn-bundle-declaration" class="internalDFN"><span class="insert">bundle id description_1 ... description_n endBundle</span></a></td><td rowspan="3"><a href="#component5"><span class="insert">Component 5: bundles</span></a></td></tr>
+<tr class="component5-color"><td class="provType"><a title="bundle" href="#concept-bundle" class="internalDFN"><span class="insert">Bundle description</span></a></td><td><a><span class="insert">... prov:type='prov:Bundle' ...</span></a></td></tr>
+<tr class="component5-color"><td><a href="#concept-provenance-locator" class="internalDFN"><span class="insert">Provenance Locator</span></a></td><td><a title="hasProvenanceIn" href="#dfn-hasprovenancein" class="internalDFN"><span class="insert">hasProvenanceIn(id, subject, bundle, target, service, prov, attrs)</span></a></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component6-color"><td class="provType"><a href="#concept-collection" class="internalDFN">Collection</a></td><td><span class="delete">Collection</span><a title="collection" href="#concept-collection" class="internalDFN"><span class="insert">... prov:type='prov:Collection' ...</span></a></td><td rowspan="6"><a href="#component6"><span class="insert">Component 6: Collections</span></a></td></tr>
+<tr class="component6-color"><td class="provType"><a href="#concept-dictionary" class="internalDFN">Dictionary</a></td><td><span class="delete">Dictionary</span><a title="dictionary" href="#concept-dictionary" class="internalDFN"><span class="insert">... prov:type='prov:Dictionary' ...</span></a></td></tr>
+<tr class="component6-color"><td class="provType"><a title="empty collection" href="#concept-empty-collection" class="internalDFN"><span class="insert">EmptyCollection</span></a></td><td><a title="empty collection" href="#concept-empty-collection" class="internalDFN"><span class="insert">... prov:type='prov:EmptyCollection' ...</span></a></td></tr>
+<tr class="component6-color"><td><a href="#concept-insertion" class="internalDFN">Insertion</a></td><td><a title="derivedByInsertionFrom" href="#dfn-derivedbyinsertionfrom" class="internalDFN"><span class="delete">derivedByInsertionFrom(id,</span><span class="insert">derivedByInsertionFrom(id;</span> c2, c1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</a></td></tr>
+<tr class="component6-color"><td><a href="#concept-removal" class="internalDFN">Removal</a></td><td><a title="derivedByRemovalFrom" href="#dfn-derivedbyremovalfrom" class="internalDFN"><span class="delete">derivedByRemovalFrom(id,</span><span class="insert">derivedByRemovalFrom(id;</span> c2, c1, {key_1, ... key_n}, attrs)</a></td></tr>
+<tr class="component6-color"><td><a href="#concept-membership" class="internalDFN">Membership</a></td><td><a title="memberOf" href="#dfn-memberof" class="internalDFN">memberOf(c, {(key_1, e_1), ..., (key_n, e_n)})
+<span class="delete">Note</span><span class="delete">note(id, [ attr1=val1, ...])</span>
+<span class="delete">Annotation</span><span class="delete">hasAnnotation(r,n)</span></a></td></tr>
+</tbody></table>
+</div>
+
+<p>
+In the rest of the section, each type and relation is defined informally,
+ followed by a summary of the information used to represent the concept, and
+ illustrated with PROV-N examples.</p>
+
+
+<div id="component1" class="section">
+<h3><span class="secno"><span class="delete">4.1</span><span class="insert">5.1</span> </span>Component 1: Entities and Activities</h3>
+
+<p>The first component of PROV-DM is concerned with <a title="entity" href="#concept-entity" class="internalDFN">entities</a> and <a title="activity" href="#concept-activity" class="internalDFN">activities</a>, and their interrelations: <a href="#concept-usage" class="internalDFN">Usage</a>, <a href="#concept-generation" class="internalDFN">Generation</a>, <a href="#concept-start" class="internalDFN">Start</a>, <a href="#concept-end" class="internalDFN">End</a>, <a href="#concept-invalidation" class="internalDFN">Invalidation</a>, <span class="insert">and </span><a href="#concept-communication" class="internalDFN">Communication<span class="delete">, and </span><span class="delete">Start by Activity</span></a>. <a href="#figure-component1">Figure 5</a> uses UML to depict the first <span class="delete">component, with</span><span class="insert">component.
+Core structures are displayed in the yellow area, consisting of</span> two classes <span class="insert">(</span><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a><span class="insert">, </span><a href="#concept-activity" class="internalDFN"><span class="insert">Activity</span></a><span class="insert">) </span>and <span class="insert">three </span>binary associations between <span class="delete">them. Associations are not just binary: indeed, </span><span class="insert">them (</span><a href="#concept-usage" class="internalDFN">Usage</a>, <a href="#concept-generation" class="internalDFN">Generation</a>, <span class="insert">and </span><a href="#concept-communication" class="internalDFN"><span class="insert">Communication</span></a><span class="insert">). The rest of the figure displays extended structures, including UML association classes (see [</span><cite><a class="bibref" rel="biblioentry" href="#bib-UML"><span class="insert">UML</span></a></cite><span class="insert">], section 7.3.4, p. 42), represented in gray, to express expanded n-ary relations (for </span><a href="#concept-usage" class="internalDFN"><span class="insert">Usage</span></a><span class="insert">, </span><a href="#concept-generation" class="internalDFN"><span class="insert">Generation</span></a><span class="insert">, </span><a href="#concept-invalidation" class="internalDFN"><span class="insert">Invalidation</span></a><span class="insert">, </span><a href="#concept-start" class="internalDFN">Start</a>, <a href="#concept-end" class="internalDFN">End</a><span class="insert">). The figure</span> also <span class="delete">include</span><span class="insert">makes explicit associations with</span> <em>time</em> <span class="delete">attributes.</span><span class="insert">for these concepts (time being marked with the primitive stereotype).</span>
+</p>
+
+<div style="text-align: center;">
+
+<figure>
+
+<img src="uml/component1.png" alt="entities and activities">
+<div class="figcaption" id="figure-component1">Figure 5: Entities and Activities Component Overview</div>
+</figure>
+</div>
+
+
+
+
+
+ <div id="term-Entity" class="section">
+
+<h4><span class="secno"><span class="delete">4.1.1</span><span class="insert">5.1.1</span> </span>Entity</h4>
+
+
+<div class="glossary-ref"> An <dfn id="concept-entity">entity</dfn> is a physical, digital, conceptual, or other kind of <span class="delete">thing;</span><span class="insert">thing with some fixed aspects;</span> entities may be real or imaginary. </div>
+
+
+<p></p><div class="attributes" id="attributes-entity">An <dfn title="dfn-Entity" id="dfn-entity">entity</dfn><span class="withPn">, written <span class="pnExpression" id="pn-entity">entity(id, [attr1=val1, ...])</span> in PROV-N, </span> has:
+<ul>
+<li><span class="attribute" id="entity.id">id</span>: an identifier for an entity; </li>
+<li><span class="attribute" id="entity.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set of attribute-value pairs ((<span class="name">attr1</span>, <span class="name">val1</span>), ...) representing additional information about this entity.</li>
+</ul></div>
+
+<div class="anexample" count="16">
+<p>
+The following expression</p>
+<pre class="codeexample">entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ])
+</pre>
+states the existence of an entity, denoted by identifier <span class="name">tr:WD-prov-dm-20111215</span>, with type <span class="name">document</span> and version number <span class="name">2</span>. The attribute <span class="name">ex:version</span> is application specific, whereas the attribute <span class="name">type</span> (see <a href="#term-attribute-type">Section <span class="delete">4.7.4.4</span><span class="insert">5.7.4.4</span></a>) is reserved in the <a title="prov-namespace" href="#dfn-prov-namespace" class="internalDFN">PROV namespace</a>.
+
+</div>
+
+
+
+
+ </div>
+
+ <div id="term-Activity" class="section">
+
+<h4><span class="secno"><span class="delete">4.1.2</span><span class="insert">5.1.2</span> </span>Activity</h4>
+
+<div class="glossary-ref"> An <dfn id="concept-activity">activity</dfn> is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, generating, or being associated with entities. </div>
+
+<p></p><div class="attributes" id="attributes-activity"> An <dfn title="dfn-Activity" id="dfn-activity">activity</dfn><span class="withPn">, written <span class="pnExpression" id="pn-activity">activity(id, st, et, [attr1=val1, ...])</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="activity.id">id</span>: an identifier for an activity;</li>
+<li><span class="attribute" id="activity.startTime">startTime</span>: an <em class="rfc2119" title="optional">optional</em> time (<span class="name">st</span>) for the start of the activity;</li>
+<li><span class="attribute" id="activity.endTime">endTime</span>: an <em class="rfc2119" title="optional">optional</em> time (<span class="name">et</span>) for the end of the activity;</li>
+<li><span class="attribute" id="activity.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set of attribute-value pairs ((<span class="name">attr1</span>, <span class="name">val1</span>), ...) representing additional information about this activity.</li>
+</ul></div>
+
+<div class="anexample" count="17">
+<p>
+The following expression</p>
+<pre class="codeexample">activity(a1,2011-11-16T16:05:00,2011-11-16T16:06:00,
+ <span class="delete">[ex:host="server.example.org",prov:type="ex:edit" %% xsd:QName])</span><span class="insert">[ ex:host="server.example.org", prov:type='ex:edit' ])</span>
+</pre>
+<p>states the existence of an activity with identifier <span class="name">a1</span>, start time <span class="name">2011-11-16T16:05:00</span>, and end time <span class="name">2011-11-16T16:06:00</span>, running on host <span class="name">server.example.org</span>, and of type <span class="name">edit</span>. The attribute <span class="name">host</span> is application specific (declared in some namespace with prefix <span class="name">ex</span>). The attribute <span class="name">type</span> is a reserved attribute of PROV-DM, allowing for sub-typing to be expressed (see <a href="#term-attribute-type">Section <span class="delete">4.7.4.4</span><span class="insert">5.7.4.4</span></a>).</p>
+</div>
+
+
+
+<p>Further considerations:</p>
+<ul>
+<li>An activity is not an entity. This distinction is similar to the distinction between
+'continuant' and 'occurrent' in logic [<cite><a class="bibref" rel="biblioentry" href="#bib-Logic">Logic</a></cite>].
+</li>
+</ul>
+
+
+</div>
+
+<div id="term-Generation" class="section">
+<h4><span class="secno"><span class="delete">4.1.3</span><span class="insert">5.1.3</span> </span>Generation</h4>
+
+<div class="glossary-ref"> <dfn id="concept-generation">Generation</dfn> is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. </div>
+
+<p>
+</p><div class="attributes" id="attributes-generation"><dfn title="wasGeneratedBy" id="dfn-wasgeneratedby">Generation</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">wasGeneratedBy(id,e,a,t,attrs)</span><span class="insert">wasGeneratedBy(id; e, a, t, attrs)</span></span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="generation.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a generation;</li>
+<li><span class="attribute" id="generation.entity">entity</span>: an identifier (<span class="name">e</span>) for a created entity; </li>
+<li><span class="attribute" id="generation.activity">activity</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">a</span>) for the activity that creates the entity;</li>
+
+<li><span class="attribute" id="generation.time">time</span>: an <em class="rfc2119" title="optional">optional</em> "generation time" (<span class="name">t</span>), the time at which the entity was completely created;</li>
+
+<li><span class="attribute" id="generation.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this generation.</li>
+</ul></div>
+<p>While each of <a href="#generation.id"><span class="attribute"><span class="insert">id</span></span></a><span class="insert">, </span><a href="#generation.activity"><span class="attribute">activity</span></a>, <a href="#generation.time"><span class="attribute">time</span></a>, and <a href="#generation.attributes"><span class="attribute">attributes</span></a> is <em class="rfc2119" title="optional">optional</em>, at least one of them <em class="rfc2119" title="must">must</em> be present.</p>
+
+
+
+
+
+<div class="anexample" count="18">
+<p>
+The following expressions</p>
+<pre class="codeexample"> <span class="delete">wasGeneratedBy(e1,a1,</span><span class="insert">wasGeneratedBy(e1, a1,</span> 2001-10-26T21:32:52, <span class="delete">[ex:port="p1"])</span><span class="insert">[ ex:port="p1" ])</span>
+ <span class="delete">wasGeneratedBy(e2,a1,</span><span class="insert">wasGeneratedBy(e2, a1,</span> 2001-10-26T10:00:00, <span class="delete">[ex:port="p2"])</span><span class="insert">[ ex:port="p2" ])</span>
+</pre>
+<p>state the existence of two generations (with respective times <span class="name">2001-10-26T21:32:52</span> and <span class="name">2001-10-26T10:00:00</span>), at which new entities, identified by <span class="name">e1</span> and <span class="name">e2</span>, are created by an
+activity, identified by <span class="name">a1</span>.
+The first one is available on port <span class="name">p1</span>, whereas the other is available on port <span class="name">p2</span>. The semantics of <span class="name">port</span> are application specific.
+</p>
+</div>
+
+
+<div class="anexample" count="19">
+<p>
+In some cases, we may want to record the time at which an entity was generated without having to specify the activity that generated it. To support this requirement, the activity element in generation is optional. Hence, the following expression indicates the time at which an entity is generated, without naming the activity that did it.</p>
+<pre class="codeexample"> <span class="delete">wasGeneratedBy(e,-,2001-10-26T21:32:52)</span><span class="insert">wasGeneratedBy(e, -, 2001-10-26T21:32:52)</span>
+</pre>
+</div>
+
+
+</div>
+
+
+<div id="term-Usage" class="section">
+<h4><span class="secno"><span class="delete">4.1.4</span><span class="insert">5.1.4</span> </span>Usage</h4>
+
+<div class="glossary-ref"> <dfn id="concept-usage">Usage</dfn> is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. </div>
+
+
+<p></p><div class="attributes" id="attributes-usage"><dfn title="used" id="dfn-used">Usage</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">used(id,a,e,t,attrs)</span><span class="insert">used(id; a, e, t, attrs)</span></span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="usage.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a usage;</li>
+<li><span class="attribute" id="usage.activity">activity</span>: an identifier (<span class="name">a</span>) for the <span class="delete">consuming activity;</span><span class="insert">activity that used an entity;</span></li>
+<li><span class="attribute" id="usage.entity">entity</span>: an <em class="rfc2119" title="optional"><span class="insert">optional</span></em> identifier (<span class="name">e</span>) for the<span class="delete"> consumed entity;</span><span class="insert"> entity being used;</span></li>
+<li><span class="attribute" id="usage.time">time</span>: an <em class="rfc2119" title="optional">optional</em> "usage time" (<span class="name">t</span>), the time at which the entity started to be used;</li>
+<li><span class="attribute" id="usage.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this usage.</li>
+</ul></div>
+
+<p><span class="insert">While each of </span><a href="#usage.id"><span class="attribute"><span class="insert">id</span></span></a><span class="insert">, </span><a href="#usage.entity"><span class="attribute"><span class="insert">entity</span></span></a><span class="insert">, </span><a href="#usage.time"><span class="attribute"><span class="insert">time</span></span></a><span class="insert">, and </span><a href="#usage.attributes"><span class="attribute"><span class="insert">attributes</span></span></a><span class="insert"> is </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert">, at least one of them </span><em class="rfc2119" title="must"><span class="insert">must</span></em><span class="insert"> be present.</span></p>
+
+<p>
+A reference to a given entity <em class="rfc2119" title="may">may</em> appear in multiple usages that share
+ a given activity identifier.
+</p>
+
+
+<div class="anexample" count="20">
+<p>The following usages</p>
+<pre class="codeexample"> <span class="delete">used(a1,e1,2011-11-16T16:00:00,[ex:parameter="p1"])</span><span class="insert">used(a1, e1, 2011-11-16T16:00:00, [ ex:parameter="p1" ])</span>
+ <span class="delete">used(a1,e2,2011-11-16T16:00:01,[ex:parameter="p2"])</span><span class="insert">used(a1, e2, 2011-11-16T16:00:01, [ ex:parameter="p2" ])</span>
+</pre>
+<p>state that the activity identified by <span class="name">a1</span> used two entities identified by <span class="name">e1</span> and <span class="name">e2</span>, at times <span class="name">2011-11-16T16:00:00</span> and <span class="name">2011-11-16T16:00:01</span>, respectively; the first
+one was found as the value of parameter <span class="name">p1</span>, whereas the second was found as value of parameter <span class="name">p2</span>. The semantics of <span class="name">parameter</span> is application specific.</p>
+</div>
+
+
+
+
+
+
+</div>
+
+
+
+
+<div id="term-wasInformedBy" class="section">
+<h4><span class="secno"><span class="delete">4.1.5</span><span class="insert">5.1.5 </span></span><span class="insert">Communication</span></h4>
+
+<div class="glossary-ref"> <dfn id="concept-communication"><span class="insert">Communication</span></dfn><span class="insert"> is the exchange of an entity by two activities, one activity using the entity generated by the other. </span></div>
+
+
+<p><span class="insert">A communication implies that activity </span><span class="name"><span class="insert">a2</span></span><span class="insert"> is dependent on another </span><span class="name"><span class="insert">a1</span></span><span class="insert">, by way of some unspecified entity that is generated by </span><span class="name"><span class="insert">a1</span></span><span class="insert"> and used by </span><span class="name"><span class="insert">a2</span></span><span class="insert">.</span></p>
+
+
+
+
+<p></p><div class="attributes" id="attributes-wasInformedBy"><span class="insert">
+A </span><dfn title="wasInformedBy" id="dfn-wasinformedby"><span class="insert">communication</span></dfn><span class="withPn"><span class="insert">, written as
+</span><span class="pnExpression"><span class="insert">wasInformedBy(id; a2, a1, attrs)</span></span><span class="insert"> in PROV-N,</span></span><span class="insert"> has:
+</span><ul>
+<li><span class="attribute" id="wasInformedBy.id"><span class="insert">id</span></span><span class="insert">: an </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert"> identifier identifying the relation;</span></li>
+<li><span class="attribute" id="wasInformedBy.informed"><span class="insert">informed</span></span><span class="insert">: the identifier (</span><span class="name"><span class="insert">a2</span></span><span class="insert">) of the informed activity;
+</span></li><li><span class="attribute" id="wasInformedBy.informant"><span class="insert">informant</span></span><span class="insert">: the identifier (</span><span class="name"><span class="insert">a1</span></span><span class="insert">) of the informant activity;
+</span></li><li><span class="attribute" id="wasInformedBy.attributes"><span class="insert">attributes</span></span><span class="insert">: an </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert"> set (</span><span class="name"><span class="insert">attrs</span></span><span class="insert">) of attribute-value pairs representing additional information about this communication.</span></li>
+</ul>
+</div>
+
+
+
+<div class="anexample" count="21">
+<p><span class="insert">
+Consider two activities </span><span class="name"><span class="insert">a1</span></span><span class="insert"> and </span><span class="name"><span class="insert">a2</span></span><span class="insert">, the former performed by a government agency, and the latter by a driver caught speeding.
+</span></p><pre class="codeexample"><span class="insert">activity(a1, [ prov:type="traffic regulations enforcing" ])
+activity(a2, [ prov:type="fine paying, check writing, and mailing" ])
+wasInformedBy(a2, a1)
+</span></pre><span class="insert">
+The last line indicates that some implicit entity was generated by </span><span class="name"><span class="insert">a1</span></span><span class="insert"> and used by </span><span class="name"><span class="insert">a2</span></span><span class="insert">; this entity may be a traffic ticket that had a notice of fine, amount, and payment mailing details.
+</span></div>
+</div>
+
+<div id="term-Start" class="section">
+<h4><span class="secno"><span class="insert">5.1.6</span> </span>Start</h4>
+
+<div class="glossary-ref"> <span class="delete">Start</span><span class="delete"> is when an activity is deemed to have started. The activity did not exist before its start. Any usage or generation involving an activity follows the activity's start. A start may refer to an entity, known as </span><span class="delete">trigger</span><span class="delete">, that initiated the activity. </span></div>
+
+
+<p></p><div class="attributes" id="attributes-start">An activity <dfn title="wasStartedBy" id="dfn-wasstartedby">start</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">wasStartedBy(id,a,e,t,attrs)</span><span class="insert">wasStartedBy(id; a2, e, a1, t, attrs)</span></span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="start.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the activity start;</li>
+<li><span class="attribute" id="start.activity">activity</span>: an identifier (<span class="name"><span class="delete">a</span><span class="insert">a2</span></span>) for the started activity;</li>
+<li><span class="attribute" id="start.trigger">trigger</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">e</span>) for the entity triggering the activity;</li>
+<li><span class="attribute" id="start.starter"><span class="insert">starter</span></span><span class="insert">: an </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert"> identifier (</span><span class="name"><span class="insert">a1</span></span><span class="insert">) for the activity that generated the (possibly unspecified) entity (</span><span class="name"><span class="insert">e</span></span><span class="insert">);</span></li>
+<li><span class="attribute" id="start.time">time</span>: the <em class="rfc2119" title="optional">optional</em> time (<span class="name">t</span>) at which the activity was started; </li>
+<li><span class="attribute" id="start.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this activity start.
+</li></ul>
+</div>
+
+<p><span class="insert">While each of </span><a href="#start.id"><span class="attribute"><span class="insert">id</span></span></a><span class="insert">, </span><a href="#start.trigger"><span class="attribute"><span class="insert">trigger</span></span></a><span class="insert">, </span><a href="#start.starter"><span class="attribute"><span class="insert">starter</span></span></a><span class="insert">, </span><a href="#start.time"><span class="attribute"><span class="insert">time</span></span></a><span class="insert">, and </span><a href="#start.attributes"><span class="attribute"><span class="insert">attributes</span></span></a><span class="insert"> is </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert">, at least one of them </span><em class="rfc2119" title="must"><span class="insert">must</span></em><span class="insert"> be present.</span></p>
+
+
+<div class="anexample" count="22">
+<p>
+The following example contains the description of an activity <span class="name">a1</span> (a discussion), which was started at a specific time, and was triggered by an email message <span class="name">e1</span>.</p>
+<pre class="codeexample"><span class="delete">entity(e1,[prov:type="email message"])
+activity(a1,[prov:type="Discuss"])
+wasStartedBy(a1,e1,2011-11-16T16:05:00)</span><span class="insert">entity(e1, [ prov:type="email message"] )
+activity(a1, [ prov:type="Discuss" ])
+wasStartedBy(a1, e1, -, 2011-11-16T16:05:00)</span>
+</pre>
+Furthermore, if the message is also an input to the activity, this can be described as follows:
+<pre class="codeexample"><span class="delete">used(a1,e1,-)</span><span class="insert">used(a1, e1, -)
+</span></pre>
+<p><span class="insert">Alternatively, one can also describe the activity that generated the email message.</span></p>
+<pre class="codeexample"><span class="insert">activity(a0, [ prov:type="Write" ])
+wasGeneratedBy(e1, a0)
+wasStartedBy(a1, e1, a0, 2011-11-16T16:05:00)
+</span></pre>
+<p><span class="insert">If </span><span class="name"><span class="insert">e1</span></span><span class="insert"> is not known, it would also have valid to write:
+</span></p><pre class="codeexample"><span class="insert">wasStartedBy(a1, -, a0, 2011-11-16T16:05:00)</span>
+</pre>
+</div>
+
+<div class="anexample" count="23">
+<p>
+In the following example, a race is started by a bang, and responsibility for this trigger is attributed to an agent
+ <span class="name">ex:Bob</span>.
+</p><pre class="codeexample">activity(ex:foot_race)
+<span class="delete">wasStartedBy(ex:foot_race,ex:bang,2012-03-09T08:05:08-05:00)
+</span>entity(ex:bang)
+<span class="insert">wasStartedBy(ex:foot_race, ex:bang, -, 2012-03-09T08:05:08-05:00)
+</span>agent(ex:Bob)
+<span class="delete">wasAttributedTo(ex:bang,ex:Bob)</span><span class="insert">wasAttributedTo(ex:bang, ex:Bob)</span>
+</pre>
+</div>
+
+<div class="anexample" count="24">
+<p><span class="insert">
+In this example, filling fuel was started as a consequence of
+observing low fuel. The trigger entity is unspecified, it could
+for instance have been the low fuel warning light, the fuel tank
+indicator needle position, or the engine not running properly.</span>
+
+
+</p><pre class="codeexample"><span class="insert">activity(ex:filling-fuel)
+activity(ex:observing-low-fuel)
+
+agent(ex:driver, [ prov:type='prov:Person' )
+wasAssociatedWith(ex:filling-fuel, ex:driver)
+wasAssociatedWith(ex:observing-low-fuel, ex:driver)
+
+wasStartedBy(ex:filling-fuel, -, ex:observing-low-fuel, -)
+</span></pre>
+</div>
+
+<p>The relations wasStartedBy and used are orthogonal, and thus need to be expressed independently, according to the situation being described.</p>
+
+</div>
+
+<div id="term-End" class="section">
+<h4><span class="secno"><span class="delete">4.1.6</span><span class="insert">5.1.7</span> </span>End</h4>
+
+<div class="glossary-ref"> <dfn id="concept-end">End</dfn> is when an activity is deemed to have ended. The activity no longer exists after its end. Any usage, generation, or invalidation involving an activity precedes the activity's end. An end may refer to an entity, known as <dfn id="concept-end-trigger">trigger</dfn>, that terminated the <span class="delete">activity.</span><span class="insert">activity, or to an activity, known as </span><dfn id="concept-end-ender"><span class="insert">ender</span></dfn><span class="insert"> that generated the trigger.</span> </div>
+
+
+<p></p><div class="attributes" id="attributes-end">An activity <dfn title="wasEndedBy" id="dfn-wasendedby">end</dfn><span class="withAsn">, written <span class="pnExpression"><span class="delete">wasEndedBy(id,a,e,t,attrs)</span><span class="insert">wasEndedBy(id; a2, e, a1, t, attrs)</span></span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="end.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the activity end;</li>
+<li><span class="attribute" id="end.activity">activity</span>: an identifier (<span class="name"><span class="delete">a</span><span class="insert">a2</span></span>) for the ended activity;
+</li><li><span class="attribute" id="end.trigger">trigger</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">e</span>) for the entity triggering the activity ending;
+</li><li><span class="attribute" id="end.ender"><span class="insert">ender</span></span><span class="insert">: an </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert"> identifier (</span><span class="name"><span class="insert">a1</span></span><span class="insert">) for the activity that generated the (possibly unspecified) entity (</span><span class="name"><span class="insert">e</span></span><span class="insert">);</span></li>
+<li><span class="attribute" id="end.time">time</span>: the <em class="rfc2119" title="optional">optional</em> time (<span class="name">t</span>) at which the activity was ended; </li>
+<li><span class="attribute" id="end.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this activity end.
+</li></ul>
+</div>
+
+<p><span class="insert">While each of </span><a href="#end.id"><span class="attribute"><span class="insert">id</span></span></a><span class="insert">, </span><a href="#end.trigger"><span class="attribute"><span class="insert">trigger</span></span></a><span class="insert">, </span><a href="#end.ender"><span class="attribute"><span class="insert">ender</span></span></a><span class="insert">, </span><a href="#end.time"><span class="attribute"><span class="insert">time</span></span></a><span class="insert">, and </span><a href="#end.attributes"><span class="attribute"><span class="insert">attributes</span></span></a><span class="insert"> is </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert">, at least one of them </span><em class="rfc2119" title="must"><span class="insert">must</span></em><span class="insert"> be present.</span></p>
+
+
+<div class="anexample" count="25">
+<p>
+The following example is a description of an activity <span class="name">a1</span> (editing) that was ended following an approval document <span class="name">e1</span>.</p>
+<pre class="codeexample"><span class="delete">entity(e1,[prov:type="approval document"])
+activity(a1,[prov:type="Editing"])
+wasEndedBy(a1,e1)</span><span class="insert">entity(e1, [ prov:type="approval document" ])
+activity(a1, [ prov:type="Editing" ])
+wasEndedBy(a1, e1)</span>
+</pre>
+</div>
+
+
+
+</div>
+
+<div id="term-Invalidation" class="section">
+<h4><span class="secno"><span class="delete">4.1.7</span><span class="insert">5.1.8</span> </span>Invalidation</h4>
+
+
+<div class="glossary-ref"> <dfn id="concept-invalidation">Invalidation</dfn> is the start of the destruction, cessation, or expiry of an existing entity by an activity. The entity is no longer available for use <span class="insert">(or further invalidation) </span>after invalidation. Any generation or usage of an entity precedes its invalidation.</div>
+
+
+
+<p>
+Entities have a duration. Generation marks the beginning of an <span class="delete">entity. </span><span class="insert">entity, whereas invalidation marks its end.
+</span>An entity's lifetime can end for different reasons:</p>
+<ul>
+<li> an entity was destroyed: e.g. a painting was destroyed by fire; a Web page is taken out of a site;
+</li><li> an entity was consumed: e.g. Bob ate all his soup, Alice ran out of gas when driving to work;
+</li><li> an entity expires: e.g. a "buy one beer, get one free" offer is valid during happy hour (7-8pm);
+</li><li> an entity is time limited: e.g. the BBC news site on April 3rd, 2012;
+</li><li> an entity attribute is changing: e.g. the traffic light changed from green to red.
+</li></ul>
+<p>In the first two cases, the entity has physically disappeared after its termination: there is no more soup, or painting. In the last <span class="delete">two</span><span class="insert">three</span> cases, there may be an "offer voucher" that still exists, but it is no longer valid; likewise, on April 4th, the BBC news site still exists but it is not the same entity as BBC news Web site on April 3rd; or the traffic light became red and therefore is regarded as a different entity to the green light.
+</p>
+
+
+
+<p>
+</p><div class="attributes" id="attributes-invalidation"><dfn title="wasInvalidatedBy" id="dfn-wasinvalidatedby">Invalidation</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">wasInvalidatedBy(id,e,a,t,attrs)</span><span class="insert">wasInvalidatedBy(id; e, a, t, attrs)</span></span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="invalidation.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a invalidation;</li>
+<li><span class="attribute" id="invalidation.entity">entity</span>: an identifier for the invalidated entity; </li>
+<li><span class="attribute" id="invalidation.activity">activity</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the activity that invalidated the entity;</li>
+
+<li><span class="attribute" id="invalidation.time">time</span>: an <em class="rfc2119" title="optional">optional</em> "invalidation time", the time at which the entity began to be invalidated;</li>
+
+<li><span class="attribute" id="invalidation.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set of attribute-value pairs representing additional information about this invalidation.</li>
+</ul></div>
+<p>While each of <a href="#invalidation.id"><span class="attribute"><span class="insert">id</span></span></a><span class="insert">, </span><a href="#invalidation.activity"><span class="attribute">activity</span></a>, <a href="#invalidation.time"><span class="attribute">time</span></a>, and <a href="#invalidation.attributes"><span class="attribute">attributes</span></a> is <em class="rfc2119" title="optional">optional</em>, at least one of them <em class="rfc2119" title="must">must</em> be present.</p>
+
+
+
+<div class="anexample" id="anexample-invalidation1" count="26">
+<p>
+<em>The <span class="delete">Painter,</span><span class="insert">Painter</span></em><span class="insert">,</span> a Picasso painting, is known to have been destroyed in a <a href="http://en.wikipedia.org/wiki/Lost_artworks#20th_century">plane accident</a>.
+
+</p><pre class="codeexample">entity(ex:The-Painter)
+agent(ex:Picasso)
+wasAttributedTo(ex:The-Painter, ex:Picasso)
+activity(ex:crash)
+wasInvalidatedBy(ex:The-Painter, ex:crash, 1998-09-02, <span class="delete">[ex:circumstances="plane accident"])</span><span class="insert">[ ex:circumstances="plane accident" ])</span>
+</pre>
+</div>
+
+<div class="anexample" id="anexample-invalidation2" count="27">
+<p>
+The BBC news home page on 2012-04-03 <span class="name">ex:bbcNews2012-04-03</span>
+contained a reference to a given news item
+ <a href="http://www.bbc.co.uk/news/uk-17595024">bbc:news/uk-17595024</a>,
+but the BBC news home page on the next day did not.
+</p><pre class="codeexample">entity(ex:bbcNews2012-04-03)
+<span class="delete">memberOf(ex:bbcNews2012-04-03,{("item1",</span><span class="insert">memberOf(ex:bbcNews2012-04-03, {("item1",</span> bbc:news/uk-17595024)})
+wasGeneratedBy <span class="delete">(ex:bbcNews2012-04-03,-,2012-04-03T00:00:01)
+wasInvalidatedBy(ex:bbcNews2012-04-03,-,2012-04-03T23:59:59)</span><span class="insert">(ex:bbcNews2012-04-03, -, 2012-04-03T00:00:01)
+wasInvalidatedBy(ex:bbcNews2012-04-03, -, 2012-04-03T23:59:59)</span>
+</pre>
+
+
+We refer to example <span class="delete">anexample-specialization</span>
+<a href="#anexample-specialization" class="anexample-ref"><span><span class="insert">Example 40</span></span></a>
+ for further descriptions of the BBC Web site, and to <a href="#term-dictionary-membership">Section <span class="delete">Membership</span><span class="insert">5.6.5</span></a> for a description of the relation <a href="#dfn-memberof" class="internalDFN">memberOf</a>.
+</div>
+
+
+<div class="anexample" id="anexample-invalidation3" count="28">
+<p>
+In this example, the "buy one beer, get one free" offer expired at the end of the happy hour.</p>
+<pre class="codeexample">entity(buy_one_beer_get_one_free_offer_during_happy_hour)
+wasAttributedTo(proprietor)
+wasInvalidatedBy(buy_one_beer_get_one_free_offer_during_happy_hour,
+ -,2012-03-10T18:00:00)
+</pre>
+<p>In contrast, in the following descriptions, Bob redeemed the offer 45 minutes before it expired, and got two beers.
+</p>
+<pre class="codeexample">entity(buy_one_beer_get_one_free_offer_during_happy_hour)
+wasAttributedTo(proprietor)
+activity(redeemOffer)
+entity(twoBeers)
+
+wasAssociatedWith(redeemOffer,bob)
+used(buy_one_beer_get_one_free_offer_during_happy_hour,
+ redeemOffer, 2012-03-10T17:15:00)
+wasInvalidatedBy(buy_one_beer_get_one_free_offer_during_happy_hour,
+ redeemOffer, 2012-03-10T17:15:00)
+wasGeneratedBy(twoBeers,redeemOffer)
+</pre>
+<p>We see that the offer was both used to be converted into <span class="name">twoBeers</span> and invalidated by the <span class="name">redeemOffer</span> activity: in other words, the combined usage and invalidation indicate consumption of the offer.</p>
+</div>
+
+
+</div>
+
+
+
+<span class="delete">4.1.8 </span><span class="delete">Communication</span>
+
+ <span class="delete">Communication</span><span class="delete"> is the exchange of an entity by two activities, one activity using the entity generated by the other. </span>
+
+
+<span class="delete">A communication implies that activity </span><span class="delete">a2</span><span class="delete"> is dependent on another </span><span class="delete">a1</span><span class="delete">, by way of some unspecified entity that is generated by </span><span class="delete">a1</span><span class="delete"> and used by </span><span class="delete">a2</span><span class="delete">.</span>
+
+
+
+
+<span class="delete">
+A </span><span class="delete">communication</span><span class="delete">, written as
+</span><span class="delete">wasInformedBy(id,a2,a1,attrs)</span><span class="delete"> in PROV-N,</span><span class="delete"> has:
+</span>
+<span class="delete">id</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> identifier identifying the relation;</span>
+<span class="delete">informed</span><span class="delete">: the identifier (</span><span class="delete">a2</span><span class="delete">) of the informed activity;
+</span><span class="delete">informant</span><span class="delete">: the identifier (</span><span class="delete">a1</span><span class="delete">) of the informant activity;
+</span><span class="delete">attributes</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> set (</span><span class="delete">attrs</span><span class="delete">) of attribute-value pairs representing additional information about this communication.</span>
+
+
+
+
+
+
+<span class="delete">
+Consider two activities </span><span class="delete">a1</span><span class="delete"> and </span><span class="delete">a2</span><span class="delete">, the former performed by a government agency, and the latter by a driver caught speeding.
+</span><span class="delete">activity(a1, [prov:type="traffic regulations enforcing"])
+activity(a2, [prov:type="fine paying, check writing, and mailing"])
+wasInformedBy(a2,a1)
+</span><span class="delete">
+The last line indicates that some implicit entity was generated by </span><span class="delete">a1</span><span class="delete"> and used by </span><span class="delete">a2</span><span class="delete">; this entity may be a traffic ticket that had a notice of fine, amount, and payment mailing details.
+</span>
+
+
+
+<span class="delete">4.1.9 </span><span class="delete">Start by Activity</span>
+
+ <span class="delete">Start by Activity</span><span class="delete"> is the start of an activity with an implicit trigger generated by another activity. </span>
+
+
+
+<span class="delete">
+A </span><span class="delete">start by activity</span><span class="delete">, written as
+</span><span class="delete">wasStartedByActivity(id, a2, a1, attrs)</span><span class="delete"> in PROV-N,</span><span class="delete"> has:
+</span>
+<span class="delete">id</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> identifier of the relation;</span>
+<span class="delete">started</span><span class="delete">: the identifier (</span><span class="delete">a2</span><span class="delete">) of the started activity;
+</span><span class="delete">starter</span><span class="delete">: the identifier (</span><span class="delete">a1</span><span class="delete">) of the activity that started the other;</span>
+<span class="delete">attributes</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> set (</span><span class="delete">attrs</span><span class="delete">) of attribute-value pairs representing additional information about this start by activity.</span>
+
+
+
+
+
+
+<span class="delete">
+Suppose activities </span><span class="delete">a1</span><span class="delete"> and </span><span class="delete">a2</span><span class="delete"> are computer processes that are executed on different hosts, and that </span><span class="delete">a1</span><span class="delete"> started </span><span class="delete">a2</span><span class="delete">. This can be expressed as in the following fragment:</span>
+<span class="delete">activity(a1,t1,t2,[ex:host="server1.example.org",prov:type="workflow"])
+activity(a2,t3,t4,[ex:host="server2.example.org",prov:type="subworkflow"])
+wasStartedByActivity(a2,a1)
+</span><span class="delete">
+It is assumed that the activities </span><span class="delete">a1</span><span class="delete"> and </span><span class="delete">a2</span><span class="delete"> are of type "workflow" and "subworkflow", respectively; the latter was started by the former.
+</span>
+
+
+
+
+
+
+
+
+
+
+</div>
+
+<div id="component2" class="section">
+<h3><span class="secno"><span class="delete">4.2</span><span class="insert">5.2</span> </span>Component 2: Agents and Responsibility</h3>
+
+<p>The second component of <span class="delete">PROV-DM</span><span class="insert">PROV-DM, depicted in </span><a href="#figure-component2"><span class="insert">Figure 6</span></a><span class="insert">,</span> is concerned with <a title="agent" href="#concept-agent" class="internalDFN">agents</a> and the notions of
+<a href="#concept-attribution" class="internalDFN">Attribution</a>, <a href="#concept-association-core" class="internalDFN">Association</a>, <span class="delete">Responsibility</span><a href="#concept-delegation" class="internalDFN"><span class="insert">Delegation</span></a>, relating agents to entities, activities, and agents, respectively.<span class="delete">
+Figure </span><span class="delete">figure-component2</span><span class="delete"> depicts the second component with four</span><span class="insert">
+ Core structures are displayed in the yellow area and include three</span> classes <span class="delete">(Entity, Activity, Agent, </span>and <span class="delete">Plan)</span><span class="insert">three binary associations. Outside the yellow area, extended structures comprise</span> and <span class="delete">associations between them. </span>UML association classes <span class="insert">to express expanded n-ary relations, and subclasses </span><a href="#concept-plan" class="internalDFN"><span class="insert">Plan</span></a><span class="insert">, </span><a href="#concept-person" class="internalDFN"><span class="insert">Person</span></a><span class="insert">, </span><a title="software-agent" href="#concept-software-agent" class="internalDFN"><span class="insert">SofwareAgent</span></a><span class="insert">, and </span><a href="#concept-organization" class="internalDFN"><span class="insert">Organization</span></a><span class="insert">. The subclasses </span>are <span class="delete">used</span><span class="insert">marked by the UML stereotype "prov:type"</span> to <span class="delete">express n-ary relations.</span><span class="insert">indicate that that these are valid values for the attribute </span><a href="#term-attribute-type"><span class="insert">prov:type</span></a>
+</p>
+
+
+<div style="text-align: center;">
+
+<figure>
+
+<img src="uml/component2.png" alt="agents and responsibilities">
+<div class="figcaption" id="figure-component2">Figure 6: Agents and <span class="delete">Responsibilities</span><span class="insert">Responsibility</span> Component Overview</div>
+</figure>
+</div>
+
+<div id="term-Agent" class="section">
+<h4><span class="secno"><span class="delete">4.2.1</span><span class="insert">5.2.1</span> </span>Agent</h4>
+
+<div class="glossary-ref"> An <dfn id="concept-agent">agent</dfn> is something that bears some form of responsibility for an activity taking place or for the existence of an entity. </div>
+
+
+<p></p><div class="attributes" id="attributes-agent">An <dfn title="dfn-agent" id="dfn-agent">agent</dfn><span class="withPn">, written <span class="pnExpression" id="pn-agent">agent(id, [attr1=val1, ...])</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="agent.id">id</span>: an identifier for an agent;</li>
+<li><span class="attribute" id="agent.attributes">attributes</span>: a set of attribute-value pairs ((<span class="name">attr1</span>, <span class="name">val1</span>), ...) representing additional information about this agent.
+</li>
+</ul></div>
+
+
+<p>
+
+It is useful to define some basic categories of agents from an interoperability perspective.
+There are three types of agents that are common across most anticipated domains of use; <span class="delete">It</span><span class="insert">it</span> is acknowledged that these types do not cover all kinds of agent. </p>
+<ul>
+<li><span class="name">SoftwareAgent</span>
+<div class="glossary-ref"> A <dfn id="concept-software-agent" title="software-agent">software agent</dfn> is running software. </div>
+
+<p></p></li>
+
+<li><span class="name">Organization</span>
+
+<div class="glossary-ref"> Agents of type <dfn id="concept-organization">Organization</dfn> are social or legal institutions such as companies, societies, etc. </div>
+
+<p></p></li>
+
+<li><span class="name">Person</span>
+
+<div class="glossary-ref"> Agents of type <dfn id="concept-person" title="person">Person</dfn> are people. </div></li>
+</ul>
+
+
+
+
+
+<div class="anexample" count="29">
+<p>The following expression is about an agent identified by <span class="name">e1</span>, which is a person, named Alice, with employee number 1234.</p>
+<pre class="codeexample">agent(e1, [ex:employee="1234", ex:name="Alice", <span class="delete">prov:type="prov:Person" %% xsd:QName])</span><span class="insert">prov:type='prov:Person' ])</span>
+</pre>
+<p>It is optional to specify the type of an agent. When present, it is expressed using the <span class="name">prov:type</span> attribute.</p>
+</div>
+
+</div>
+
+<div id="term-attribution" class="section">
+<h4><span class="secno"><span class="delete">4.2.2</span><span class="insert">5.2.2</span> </span>Attribution</h4>
+
+<div class="glossary-ref"> <dfn id="concept-attribution">Attribution</dfn> is the ascribing of an entity to an agent. </div>
+
+<p>When an entity <span class="name">e</span> is attributed to agent <span class="name">ag</span>, entity <span class="name">e</span> was generated by some unspecified activity that in turn was associated to agent <span class="name">ag</span>. Thus, this relation is useful when the activity is not known, or irrelevant.</p>
+
+<p></p><div class="attributes" id="attributes-attribution">An <dfn title="wasAttributedTo" id="dfn-wasattributedto">attribution</dfn> relation<span class="withPn">, written <span class="pnExpression"><span class="delete">wasAttributedTo(id,e,ag,attrs)</span><span class="insert">wasAttributedTo(id; e, ag, attrs)</span></span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="attribution.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the relation;</li>
+<li><span class="attribute" id="attribution.entity">entity</span>: an entity identifier (<span class="name">e</span>);</li>
+<li><span class="attribute" id="attribution.agent">agent</span>: the identifier (<span class="name">ag</span>) of the agent whom the entity is ascribed <span class="delete">to;</span><span class="insert">to, and therefore bears some responsibility for its existence;</span></li>
+<li><span class="attribute" id="attribution.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this attribution.</li>
+</ul>
+</div>
+
+<div class="anexample" id="anexample-attribution" count="30">
+<p>
+Revisiting the example of <a href="#section-example-one">Section <span class="delete">3.1</span><span class="insert">4.1</span></a>,
+we can ascribe <span class="name">tr:WD-prov-dm-20111215</span> to some agents without an explicit activity. The reserved attribute <span class="name">role</span> (see <a href="#term-attribute-role">Section <span class="delete">4.7.4.3</span><span class="insert">5.7.4.3</span></a>) allows for role of the agent in the attribution to be specified.
+</p><pre class="codeexample">agent(ex:Paolo, [ prov:type="Person" ])
+agent(ex:Simon, [ prov:type="Person" ])
+entity(tr:WD-prov-dm-20111215, [ <span class="delete">prov:type="process:RecsWD" %% xsd:QName</span><span class="insert">prov:type='rec54:WD'</span> ])
+wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, <span class="delete">[prov:role="editor"])</span><span class="insert">[ prov:role="editor" ])</span>
+wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, <span class="delete">[prov:role="contributor"])</span><span class="insert">[ prov:role="contributor" ])</span>
+</pre>
+</div>
+
+</div>
+
+
+<div id="term-ActivityAssociation" class="section">
+<h4><span class="secno"><span class="delete">4.2.3</span><span class="insert">5.2.3</span> </span>Association</h4>
+
+<div class="glossary-ref"> An activity <dfn id="concept-activityAssociation">association</dfn> is an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity. It further allows for a plan to be specified, which is the plan intended by the agent to achieve some goals in the context of this activity. </div>
+
+<p></p>
+<div class="glossary-ref"> A <dfn id="concept-plan">plan</dfn> is an entity that represents a set of actions or steps intended by one or more agents to achieve some goals. </div>
+
+
+
+
+<p></p><div class="attributes" id="attributes-activity-association">An <dfn title="wasAssociatedWith" id="dfn-wasassociatedwith">activity association</dfn><span class="withPn">, written <span class="pnExpression"><span class="delete">wasAssociatedWith(id,a,ag,pl,attrs)</span><span class="insert">wasAssociatedWith(id; a, ag, pl, attrs)</span></span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="association.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the association between an activity and an agent;</li>
+<li><span class="attribute" id="association.activity">activity</span>: an identifier (<span class="name">a</span>) for the activity;</li>
+<li><span class="attribute" id="association.agent">agent</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">ag</span>) for the agent associated with the activity;</li>
+<li><span class="attribute" id="association.plan">plan</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">pl</span>) for the plan adopted by the agent in the context of this activity;
+</li><li><span class="attribute" id="association.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this association of this activity with this agent.</li>
+</ul></div>
+
+<div class="anexample" id="anexample-wasAssociatedWith" count="31">
+<p>In the following example, a designer <span class="insert">agent </span>and an operator <span class="delete">agents</span><span class="insert">agent</span> are associated with an activity. The designer's goals are achieved by a workflow <span class="name">ex:wf</span>, described as an an entity of type <span class="name"><a href="#concept-plan" class="internalDFN">plan</a></span>. </p>
+<pre class="codeexample">activity(ex:a, <span class="delete">[prov:type="workflow execution"])</span><span class="insert">[ prov:type="workflow execution" ])</span>
+agent(ex:ag1,<span class="delete"> [prov:type="operator"])</span><span class="insert"> [ prov:type="operator" ])</span>
+agent(ex:ag2,<span class="delete"> [prov:type="designer"])</span><span class="insert"> [ prov:type="designer" ])</span>
+wasAssociatedWith(ex:a, ex:ag1, -,<span class="delete"> [prov:role="loggedInUser", ex:how="webapp"])</span><span class="insert"> [ prov:role="loggedInUser", ex:how="webapp" ])</span>
+wasAssociatedWith(ex:a, ex:ag2, <span class="delete">ex:wf,[prov:role="designer", ex:context="project1"])</span><span class="insert">ex:wf, [ prov:role="designer", ex:context="project1" ])</span>
+entity(ex:wf, <span class="delete">[prov:type="prov:Plan"</span><span class="insert">[ prov:type='prov:Plan' ,
+ ex:label="Workflow 1",
+ ex:url="http://example.org/workflow1.bpel"</span> %% <span class="delete">xsd:QName, ex:label="Workflow 1",
+ ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI])</span><span class="insert">xsd:anyURI ])</span>
+</pre>
+Since the workflow <span class="name">ex:wf</span> is itself an entity, its provenance can also be expressed in PROV-DM: it can be generated by some activity and derived from other entities,
+for instance.
+</div>
+
+<div class="anexample" id="anexample-wasAssociatedWith-2" count="32">
+<p>In some cases, one wants to indicate a plan was followed, without having to specify which agent was involved.</p>
+<pre class="codeexample"><span class="delete">activity(ex:a,[prov:type="workflow execution"])
+wasAssociatedWith(ex:a,-,ex:wf)
+entity(ex:wf,[prov:type="prov:Plan"%% xsd:QName, </span><span class="insert">activity(ex:a, [ prov:type="workflow execution" ])
+wasAssociatedWith(ex:a, -, ex:wf)
+entity(ex:wf, [ prov:type='prov:Plan',
+ </span>ex:label="Workflow 1",
+
+ ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI])
+</pre>
+In this case, it is assumed that an agent exists, but it has not been specified.
+</div>
+
+
+
+
+</div>
+
+<div id="term-delegation" class="section">
+
+<h4><span class="secno"><span class="delete">4.2.4 </span><span class="delete">Responsibility</span><span class="insert">5.2.4 </span></span><span class="insert">Delegation</span></h4>
+
+<div class="glossary-ref"> <span class="delete">Responsibility</span> <dfn id="concept-delegation"><span class="insert">Delegation</span></dfn> is the <span class="delete">fact</span><span class="insert">assignment of authority to an agent (by itself or by another agent) to carry out a specific activity as a delegate or representative, while the agent</span> that <span class="delete">an agent is accountable</span><span class="insert">it represents remains responsible</span> for the <span class="delete">actions of a "subordinate" agent, in the context of an activity. </span><span class="insert">outcome of the delegated work. </span></div>
+
+<p><span class="delete">PROV offers</span><span class="insert">For example,</span> a<span class="delete"> mild version of responsibility
+in the form of a relation to represent when an agent acted on another
+agent's behalf. So for example someone running a mail program,
+the program and the person are both
+agents of the activity; furthermore, the mail software
+agent is running on the person's behalf. In another example, the</span>
+student acted on behalf of his supervisor, who acted on behalf of the
+department chair, who acted on behalf of the university; all those
+agents are responsible in some way for the activity that took place but
+we do not say explicitly who bears responsibility and to what
+degree. </p>
+
+
+<p>
+</p><div class="attributes" id="attributes-delegation">
+A <dfn title="actedOnBehalfOf" id="dfn-actedonbehalfof"><span class="delete">responsibility</span><span class="insert">delegation</span></dfn> link<span class="withPn">, written <span class="pnExpression"><span class="delete">actedOnBehalfOf(id,ag2,ag1,a,attrs)</span><span class="insert">actedOnBehalfOf(id; ag2, ag1, a, attrs)</span></span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="delegation.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the <span class="delete">responsibility</span><span class="insert">delegation</span> link between <span class="delete">subordinate</span><span class="insert">delegate</span> and responsible;</li>
+<li><span class="delete">subordinate</span><span class="attribute" id="delegation.delegate"><span class="insert">delegate</span></span>: an identifier (<span class="name">ag2</span>) for the agent associated with an activity, acting on behalf of the responsible
+agent;</li>
+<li><span class="attribute" id="delegation.responsible">responsible</span>: an identifier (<span class="name">ag1</span>) for the agent, on behalf of which the <span class="delete">subordinate</span><span class="insert">delegate</span> agent acted;</li>
+<li><span class="attribute" id="delegation.activity">activity</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">a</span>) of an activity for which the <span class="delete">responsibility</span><span class="insert">delegation</span> link holds;</li>
+<li><span class="attribute" id="delegation.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this <span class="delete">responsibility</span><span class="insert">delegation</span> link.</li>
+</ul></div>
+
+
+<div class="anexample" count="33">
+<p>The following fragment describes three agents: a programmer, a researcher, and a funder. The programmer and researcher are associated with a workflow activity. The programmer acts on behalf
+of the researcher <span class="delete">(delegation)</span><span class="insert">(line-management)</span> encoding the commands specified by the researcher; the researcher acts on behalf of the funder, who has a contractual agreement with the researcher. The terms
+<span class="delete">'delegation'</span><span class="insert">'line-management'</span> and <span class="delete">'contact'</span><span class="insert">'contract'</span> used in this example are domain specific.</p>
+<pre class="codeexample"><span class="delete">activity(a,[prov:type="workflow"])
+agent(ag1,[prov:type="programmer"])
+agent(ag2,[prov:type="researcher"])
+agent(ag3,[prov:type="funder"])
+wasAssociatedWith(a,ag1,[prov:role="loggedInUser"])
+wasAssociatedWith(a,ag2)
+wasAssociatedWith(a,ag3)
+actedOnBehalfOf(ag1,ag2,a,[prov:type="delegation"])
+actedOnBehalfOf(ag2,ag3,a,[prov:type="contract"])</span><span class="insert">activity(a,[ prov:type="workflow" ])
+agent(ag1, [ prov:type="programmer" ])
+agent(ag2, [ prov:type="researcher" ])
+agent(ag3, [ prov:type="funder" ])
+wasAssociatedWith(a, ag1, [ prov:role="loggedInUser" ])
+wasAssociatedWith(a, ag2)
+wasAssociatedWith(a, ag3)
+actedOnBehalfOf(ag1, ag2, a, [ prov:type="line-management" ])
+actedOnBehalfOf(ag2, ag3, a, [ prov:type="contract" ])</span>
+</pre>
+</div>
+
+
+
+</div>
+
+
+
+</div>
+
+<div id="component3" class="section">
+<h3><span class="secno"><span class="delete">4.3</span><span class="insert">5.3</span> </span>Component 3: Derivations</h3>
+
+
+
+<p>The third component of PROV-DM is concerned <span class="delete">with</span><span class="insert">with:</span> <a title="derivation" href="#concept-derivation" class="internalDFN">derivations</a> of <a title="entity" href="#concept-entity" class="internalDFN">entities</a> from <span class="delete">others, and</span><span class="insert">others;</span> derivation subtypes <a href="#concept-revision" class="internalDFN">Revision</a>, <a href="#concept-quotation" class="internalDFN">Quotation</a>, <span class="insert">and </span><a href="#concept-original-source" class="internalDFN">Original Source</a><span class="delete">, and</span><span class="insert">; derivation-related</span> <a href="#concept-trace" class="internalDFN">Trace</a>.
+
+ <a href="#figure-component3">Figure <span class="delete">figure-component3</span><span class="insert">7</span></a> depicts the third component
+with <span class="delete">three </span><span class="insert">PROV core structures in the yellow area, including two </span>classes<span class="delete"> (Entity, Activity,</span><span class="insert">
+(</span><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a><span class="insert">, </span><a href="#concept-activity" class="internalDFN"><span class="insert">Activity</span></a><span class="insert">)</span> and <span class="delete">Agent) and associations between them.</span><span class="insert">binary association
+(</span><a href="#concept-derivation" class="internalDFN"><span class="insert">Derivation</span></a><span class="insert">). PROV extended structures are found outside this
+area.</span> UML association classes express<span class="insert"> expanded</span> n-ary relations.
+</p>
+
+
+<div style="text-align: center;">
+
+<figure>
+
+<img src="uml/component3.png" alt="derivation">
+<div class="figcaption" id="figure-component3">Figure 7: Derivation Component Overview</div>
+</figure>
+</div>
+
+<div id="Derivation-Relation" class="section">
+<h4><span class="secno"><span class="delete">4.3.1</span><span class="insert">5.3.1</span> </span>Derivation</h4>
+
+
+
+
+
+<div class="glossary-ref"> A <dfn id="concept-derivation">derivation</dfn> is a transformation of an entity into another, <span class="insert">an update of an entity, resulting in </span>a <span class="insert">new one, or based on an entity, the </span>construction of <span class="delete">an entity into another, or an update of an entity, resulting in a new one.</span><span class="insert">another.</span></div>
+
+
+
+
+<p>According to <a href="#section-prov-overview">Section 2</a>, for an entity to be transformed from, created from, or resulting from an update to another, there must be some
+underpinning activities performing the necessary actions resulting in such a derivation.
+A derivation can be described at various levels of precision. In its simplest form, derivation relates two entities. Optionally, attributes can be added to represent further information about the derivation. If the derivation is the result of a single known activity, then this activity can also be optionally expressed. To provide a completely accurate description of the derivation, the generation and usage of the generated and used entities, respectively, can be <span class="delete">provided.</span><span class="insert">provided, so as to make the derivation path, through usage, activity, and generation, explicit.</span> Optional information such as activity, generation, and usage can be linked to derivations to aid analysis of provenance and to facilitate provenance-based reproducibility. </p>
+
+
+<p></p><div class="attributes" id="attributes-derivation">A <dfn title="wasDerivedFrom" id="dfn-wasderivedfrom">derivation</dfn><span class="withPn">, written <span class="pnExpression" id="pn-wasDerivedFrom"><span class="delete">wasDerivedFrom(id,</span><span class="insert">wasDerivedFrom(id;</span> e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="derivation.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a derivation;</li>
+<li><span class="attribute" id="derivation.generatedEntity">generatedEntity</span>: the identifier (<span class="name"><span class="delete">ee</span><span class="insert">e2</span></span>) of the entity generated by the derivation;</li>
+<li><span class="attribute" id="derivation.usedEntity">usedEntity</span>: the identifier (<span class="name">e1</span>) of the entity used by the derivation;</li>
+<li><span class="attribute" id="derivation.activity">activity</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
+<li><span class="attribute" id="derivation.generation">generation</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">g2</span>) for the generation involving the generated entity<span class="insert"> (</span><span class="name"><span class="insert">e2</span></span><span class="insert">)</span> and activity;</li>
+<li><span class="attribute" id="derivation.usage">usage</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">u1</span>) for the usage involving the used entity <span class="insert">(</span><span class="name"><span class="insert">e1</span></span><span class="insert">) </span>and activity;</li>
+<li><span class="attribute" id="derivation.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this derivation.</li>
+</ul>
+</div>
+
+
+
+<div class="anexample" count="34">
+<p>The following descriptions are about derivations between <span class="name">e2</span> and <span class="name">e1</span>, but no information is provided as to the identity of the activity (and usage and generation) underpinning the derivation. In the second line, a type attribute is also provided.</p>
+<pre class="codeexample">wasDerivedFrom(e2, e1)
+wasDerivedFrom(e2, e1, [prov:type="physical transform"])
+</pre>
+<p>The following description expresses that activity <span class="name">a</span>,
+using the entity <span class="name">e1</span> according to usage <span class="name">u1</span>,
+ derived the
+entity <span class="name">e2</span> and generated it according to generation
+ <span class="name">g2</span>. It is followed by descriptions for generation <span class="name">g2</span> and usage <span class="name">u1</span>.</p>
+<pre class="codeexample">wasDerivedFrom(e2, e1, a, g2, u1)
+<span class="delete">wasGeneratedBy(g2,</span><span class="insert">wasGeneratedBy(g2;</span> e2, a, -)
+<span class="delete">used(u1,</span><span class="insert">used(u1;</span> a, e1, -)
+</pre>
+<p>With such a comprehensive description of derivation, a program that analyzes provenance can identify the activity underpinning the derivation, it can identify how the original entity <span class="name">e1</span> was used by the activity (e.g. for instance, which argument it was passed as, if the activity is the result of a function invocation), and which output the derived entity <span class="name">e2</span> was obtained from (say, for a function returning multiple results).</p>
+</div>
+
+
+
+
+</div>
+
+<div id="term-Revision" class="section">
+<h4><span class="secno"><span class="delete">4.3.2</span><span class="insert">5.3.2</span> </span>Revision</h4>
+
+<p><span class="glossary-ref"> A <dfn id="concept-revision">revision</dfn> is a derivation that revises an entity into a revised version. </span></p>
+
+<p><span class="delete"> Deciding whether something is made available as a revision of something else usually involves an agent who takes responsibility for approving that the former is a due variant of the latter.
+ The agent who is responsible for the revision may optionally be specified.
+ </span>Revision is a particular case of <a href="#concept-derivation" class="internalDFN">derivation</a> of an entity into its revised version.</p>
+
+<span class="delete"> A </span><span class="delete">revision</span><span class="delete"> relation</span><span class="delete">, written </span><span class="delete">wasRevisionOf(id,e2,e1,ag,attrs)</span><span class="delete"> in PROV-N,</span><span class="delete"> has:</span>
+
+<span class="delete">id</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> identifier for the relation;</span>
+<span class="delete">newer</span><span class="delete">: the identifier (</span><span class="delete">e2</span><span class="delete">) of the revised entity;
+</span><span class="delete">older</span><span class="delete">: the identifier (</span><span class="delete">e1</span><span class="delete">) of the older entity;
+</span><span class="delete">responsibility</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> identifier (</span><span class="delete">ag</span><span class="delete">) for the agent who approved the newer entity as a variant of the older;
+</span><span class="delete">attributes</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> set (</span><span class="delete">attrs</span><span class="delete">) of attribute-value pairs representing additional information about this relation.</span>
+
+
+
+
+
+
+
+
+
+<div class="anexample" id="anexample-revision" count="35">
+<p>
+Revisiting the example of <a href="#section-example-two">Section <span class="delete">3.2</span><span class="insert">4.2</span></a>,
+we can now state that the report
+ <span class="name">tr:WD-prov-dm-20111215</span> <span class="delete">is</span><span class="insert">was</span> a revision of
+ the report <span class="name">tr:WD-prov-dm-20111018<span class="delete">, approved by
+agent </span><span class="delete">w3:Consortium</span></span>.
+</p><pre class="codeexample">entity(tr:WD-prov-dm-20111215, [ <span class="delete">prov:type="process:RecsWD" %% xsd:QName </span><span class="insert">prov:type='rec54:WD' </span>])
+entity(tr:WD-prov-dm-20111018, [ <span class="delete">prov:type="process:RecsWD" %% xsd:QName </span><span class="insert">prov:type='rec54:WD' </span>])
+<span class="delete">wasRevisionOf(tr:WD-prov-dm-20111215,</span><span class="insert">wasDerivedFrom(tr:WD-prov-dm-20111215,</span> tr:WD-prov-dm-20111018, <span class="delete">w3:Consortium)</span><span class="insert">[ prov:type='prov:WasRevisionOf' ])</span>
+</pre>
+</div>
+
+
+
+</div>
+
+<div id="term-quotation" class="section">
+<h4><span class="secno"><span class="delete">4.3.3</span><span class="insert">5.3.3</span> </span>Quotation</h4>
+
+<p>
+<span class="glossary-ref"> A <dfn id="concept-quotation">quotation</dfn> is the repeat of (some or all of) an entity, such as text or image, by someone <span class="delete">other than</span><span class="insert">who may or may not be</span> its original author. </span>
+</p>
+
+<p>Quotation
+ is a particular case of <a href="#concept-derivation" class="internalDFN">derivation</a> in which <span class="insert">an </span>entity <span class="delete">e2</span> is derived from an original entity <span class="delete">e1</span> by copying, or "quoting", some or all of it.<span class="delete">
+ A </span><span class="delete">quotation</span><span class="delete"> relation</span><span class="delete">, written </span><span class="delete">wasQuotedFrom(id,e2,e1,ag2,ag1,attrs)</span><span class="delete"> in PROV-N,</span><span class="delete"> has:</span></p>
+
+<span class="delete">id</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> identifier for the relation;</span>
+<span class="delete">quote</span><span class="delete">: an identifier (</span><span class="delete">e2</span><span class="delete">) for the entity that represents the quote (the partial copy);
+</span><span class="delete">original</span><span class="delete">: an identifier (</span><span class="delete">e1</span><span class="delete">) for the original entity being quoted;
+</span><span class="delete">quoterAgent</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> identifier (</span><span class="delete">ag2</span><span class="delete">) for the agent who performs the quote;
+</span><span class="delete">originalAgent</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> identifier (</span><span class="delete">ag1</span><span class="delete">) for the agent to whom the original entity is attributed;
+</span><span class="delete">attributes</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> set (</span><span class="delete">attrs</span><span class="delete">) of attribute-value pairs representing additional information about this relation.</span>
+
+
+
+
+
+
+
+
+<div class="anexample" id="anexample-quotation" count="36">
+<p>
+The following paragraph is a quote from one of <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/">the author's blogs</a>.
+</p><blockquote id="bl-dagstuhl"><em>
+"During the workshop, it became clear to me that the consensus based models (which are often graphical in nature) can not only be formalized but also be directly connected to these database focused formalizations. I just needed to get over the differences in syntax. This could imply that we could have nice way to trace provenance across systems and through databases and be able to understand the mathematical properties of this interconnection."</em>
+</blockquote>
+<p>If <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/"><span class="name">wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/</span></a> denotes the original blog by agent <span class="name">ex:Paul</span>, and
+ <a href="#bl-dagstuhl"><span class="name">dm:bl-dagstuhl</span></a> denotes the above paragraph, then the following descriptions express that the above paragraph <span class="delete">is</span><span class="insert">was</span> copied by agent <span class="name">ex:Luc</span> from a part of the blog, attributed to the agent <span class="name">ex:Paul</span>.</p>
+<pre class="codeexample">entity(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/)
+<span class="insert">entity(dm:bl-dagstuhl)
+</span>agent(ex:Luc)
+agent(ex:Paul)
+<span class="delete">wasQuotedFrom(dm:bl-dagstuhl,wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/,ex:Luc,ex:Paul)</span><span class="insert">wasDerivedFrom(dm:bl-dagstuhl,
+ wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/,
+ [ prov:type='prov:WasQuotedFrom' ])
+wasAttributedTo(dm:bl-dagstuhl, ex:Luc)
+wasAttributedTo(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/, ex:Paul)</span>
+</pre>
+
+</div>
+
+
+</div>
+
+
+<div id="term-original-source" class="section">
+<h4><span class="secno"><span class="delete">4.3.4</span><span class="insert">5.3.4</span> </span>Original Source</h4>
+
+<p>
+<span class="glossary-ref"> An <dfn id="concept-original-source">original source</dfn> refers to the source material that is closest to the person, information, period, or idea being studied. </span>
+</p>
+
+<p>An <dfn id="dfn-original-source">original source</dfn> relation is a particular case of <a href="#concept-derivation" class="internalDFN">derivation</a>
+that aims to give
+credit to the source that originated some information. It is recognized that it may be
+hard to determine which entity constitutes an original source. This definition is inspired by
+<span class="name">original-source</span> as defined in
+<a href="http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html">http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html</a>.</p>
+
+
+<span class="delete"> An </span><span class="delete">original source</span><span class="delete"> relation</span><span class="delete">, written </span><span class="delete">hadOriginalSource(id,e2,e1,attrs)</span><span class="delete">,</span><span class="delete"> has:</span>
+
+<span class="delete">id</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> identifier for the relation;</span>
+<span class="delete">derived</span><span class="delete">: an identifier (</span><span class="delete">e2</span><span class="delete">) for the derived entity; </span>
+<span class="delete">source</span><span class="delete">: an identifier (</span><span class="delete">e1</span><span class="delete">) for the original source entity;</span>
+<span class="delete">attributes</span><span class="delete">: an </span><span class="delete">optional</span><span class="delete"> set (</span><span class="delete">attrs</span><span class="delete">) of attribute-value pairs representing additional information about this relation.</span>
+
+
+<div class="anexample" count="37">
+<p>
+Let us consider the concept introduced in the current section, identified as <a href="#concept-original-source"><span class="name">dm:concept-original-source</span></a>, and
+the Google page <a href="http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html"><span class="name">go:credit-where-credit-is-due.html</span></a>, where the notion original-source was originally described (to the knowledge of the authors).
+</p><pre class="codeexample">entity(dm:concept-original-source)
+entity(go:credit-where-credit-is-due.html)
+<span class="delete">hadOriginalSource(dm:concept-original-source,go:credit-where-credit-is-due.html)</span><span class="insert">wasDerivedFrom(dm:concept-original-source, go:credit-where-credit-is-due.html,
+ [ prov:type='prov:HadOriginalSource' ])</span>
+</pre>
+</div>
+
+
+</div>
+
+<div id="term-trace" class="section">
+<h4><span class="secno"><span class="delete">4.3.5</span><span class="insert">5.3.5</span> </span>Trace</h4>
+
+<p>
+<span class="glossary-ref"> <dfn id="concept-trace">Trace</dfn> is the ability to link back an entity to another by means of derivation or responsibility relations, possibly repeatedly traversed. </span>
+</p>
+
+
+<p> A trace relation between two entities <span class="name">e2</span> and <span class="name">e1</span> is a generic dependency of <span class="name">e2</span>
+on <span class="name">e1</span> that indicates either that <span class="name">e1</span> may have been necessary for <span class="name">e2</span> to be created, or that <span class="name">e1</span> bears
+some responsibility for <span class="name">e2</span>'s existence.
+
+
+</p><p>A <dfn title="tracedTo" id="dfn-tracedto">Trace</dfn> relation <span class="withPn">, written <span class="pnExpression"><span class="delete">tracedTo(id,e2,e1,attrs)</span><span class="insert">tracedTo(id; e2, e1, attrs)</span></span> in PROV-N,</span> has:</p>
+<ul>
+<li><span class="attribute" id="trace.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
+<li><span class="attribute" id="trace.entity">entity</span>: an identifier (<span class="name">e2</span>) for an entity;
+</li><li><span class="attribute" id="trace.ancestor">ancestor</span>: an identifier (<span class="name">e1</span>) for an ancestor entity that the former depends on;
+</li><li><span class="attribute" id="trace.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+<p>We note that the ancestor <span class="delete">is allowed to</span><em class="rfc2119" title="may"><span class="insert">may</span></em> be an agent since agents <span class="delete">are </span><span class="insert">may be </span>entities. </p>
+
+<p>
+<a href="#concept-derivation" class="internalDFN">Derivation</a> and <a href="#concept-attribution" class="internalDFN">attribution</a> are particular cases of trace.
+</p>
+
+<div class="anexample" count="38">
+<p>We refer to the example of <a href="#section-example-two">Section <span class="delete">3.1</span><span class="insert">4.2</span></a>, and specifically to <a href="#prov-a-document2-top">Figure 3</a>. We can see that there is a path from
+<span class="name">tr:WD-prov-dm-20111215</span> to
+<span class="name">w3:Consortium</span> and to
+<span class="name">process:rec-advance</span>. This is expressed as follows.
+</p><pre class="codeexample"> <span class="delete">tracedTo(tr:WD-prov-dm-20111215,w3:Consortium)</span><span class="insert">tracedTo(tr:WD-prov-dm-20111215, w3:Consortium)</span>
+ <span class="delete">tracedTo(tr:WD-prov-dm-20111215,process:rec-advance)</span><span class="insert">tracedTo(tr:WD-prov-dm-20111215, process:rec-advance)</span>
+</pre>
+</div>
+
+
+
+
+</div>
+
+</div>
+
+<div id="component4" class="section">
+<h3><span class="secno"><span class="delete">4.4</span><span class="insert">5.4</span> </span>Component 4: Alternate Entities</h3>
+
+
+<p>The fourth component of PROV-DM is concerned with
+relations <a href="#concept-specialization" class="internalDFN">specialization</a> and <a href="#concept-alternate" class="internalDFN">alternate</a> between entities.
+
+ <a href="#figure-component4">Figure <span class="delete">figure-component4</span><span class="insert">8</span></a> depicts
+the fourth component with a single class and two<span class="insert"> binary</span> associations.
+</p>
+
+
+<div style="text-align: center;">
+
+<figure>
+
+<img src="uml/component4.png" alt="alternates">
+<div class="figcaption" id="figure-component4">Figure 8: Alternates Component Overview</div>
+</figure>
+</div>
+
+
+
+<p><span class="delete">Wherever two people describe the</span><span class="insert">Two</span> provenance <span class="delete">of a</span><span class="insert">descriptions about the</span> same <span class="delete">thing,
+one cannot expect them to coordinate and agree on the identifiers to use to denote</span><span class="insert">thing may emphasize differents aspects of</span> that thing.</p>
+<div class="anexample" id="entity-example1" count="39">
+<p>User Alice writes an article. In its provenance, she wishes to refer to the precise version of the article with a date-specific <span class="delete">URI,</span><span class="insert">IRI,</span> as she might edit the article later. Alternatively, user Bob refers to the article in general, independently of its variants over time.</p>
+</div>
+<p>
+<span class="delete">To allow for identifiers to be chosen freely</span><span class="insert">The PROV data model introduces relations, called specialization</span> and <span class="delete">independently by each user, the PROV data model introduces relations</span><span class="insert">alternate,</span>
+that allow entities to be linked together.<span class="delete">
+The following two relations</span><span class="insert"> They</span> are <span class="delete">introduced for expressing specialized or alternate entities.</span><span class="insert">defined as follows.</span> </p>
+
+
+<div id="term-specialization" class="section">
+
+<h4><span class="secno"><span class="delete">4.4.1</span><span class="insert">5.4.1</span> </span>Specialization</h4>
+
+
+<span class="glossary-ref"> An entity <span class="insert">that </span>is a <dfn id="concept-specialization">specialization</dfn> of another <span class="delete">if they refer to some common</span><span class="insert">shares all aspects of the latter, and additionally presents more specific aspects of the same</span> thing <span class="delete">but the former is a more constrained</span><span class="insert">as the latter. In particular, the lifetime of the specialized</span> entity <span class="delete">than the latter. The common thing does not need to be identified. </span><span class="insert">contains that of any specialization. </span></span>
+
+
+<p>
+Examples of <span class="delete">constraints </span><span class="insert">aspects </span>include a time period, an abstraction, and a context associated with the entity.</p>
+
+
+
+
+<p>
+</p><div class="attributes" id="attributes-specialization">A <dfn title="specializationOf" id="dfn-specializationof">specialization</dfn> relation<span class="withPn">, written <span class="pnExpression"><span class="delete">specializationOf(sub, super)</span><span class="insert">specializationOf(infra, supra)</span></span> in PROV-N,</span> has:
+
+<ul>
+<li><span class="delete">specializedEntity</span><span class="attribute" id="specialization.specialization"><span class="insert">specialization</span></span>: an identifier (<span class="name"><span class="delete">sub</span><span class="insert">infra</span></span>) of the specialized entity;</li>
+<li><span class="attribute" id="specialization.generalEntity">generalEntity</span>: an identifier (<span class="name"><span class="delete">super</span><span class="insert">supra</span></span>) of the entity that is being specialized.</li>
+</ul>
+</div>
+
+<div class="anexample" id="anexample-specialization" count="40">
+<p>
+The BBC news home page on 2012-03-23 <span class="name">ex:bbcNews2012-03-23</span>
+is a specialization of the BBC news page in general
+ <a href="http://www.bbc.co.uk/news/">bbc:news/</a>. This can be expressed as follows.
+</p><pre class="codeexample">specializationOf(ex:bbcNews2012-03-23, bbc:news/)
+</pre>
+We have created a new qualified name, <span class="name">ex:bbcNews2012-03-23</span>, in the namespace <span class="name">ex</span>, to identify the specific page carrying this day's news, which would otherwise be the generic <span class="name">bbc:news/</span> page.
+</div>
+
+
+
+
+
+
+
+
+</div>
+
+<div id="term-alternate" class="section">
+
+<h4><span class="secno"><span class="delete">4.4.2</span><span class="insert">5.4.2</span> </span>Alternate</h4>
+
+
+<span class="glossary-ref"> <span class="delete">An entity is</span><span class="insert">Two</span> <dfn id="concept-alternate">alternate</dfn> <span class="delete">of another if they are both a specialization of some common entity. The common entity does</span><span class="insert">entities present aspects of the same thing. These aspects may be the same or different, and the alternate entities may or may</span> not <span class="delete">need to be identified. </span><span class="insert">overlap in time. </span></span>
+
+
+
+
+<p></p><div class="attributes" id="attributes-alternate">An <dfn title="alternateOf" id="dfn-alternateof">alternate</dfn> relation<span class="withPn">, written <span class="pnExpression">alternateOf(e1, e2)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="alternate.alternate1">alternate1</span>: an identifier (<span class="name">e1</span>) of the first of the two entities;</li>
+<li><span class="attribute" id="alternate.alternate2">alternate2</span>: an identifier (<span class="name">e2</span>) of the second of the two entities.</li>
+</ul>
+</div>
+
+<div class="anexample" id="anexample-alternate" count="41">
+<p>
+A given news item on the BBC News site
+ <a href="http://www.bbc.co.uk/news/science-environment-17526723">bbc:news/science-environment-17526723</a> for desktop
+is an alternate of a
+ <a href="http://www.bbc.co.uk/news/mobile/science-environment-17526723">bbc:news/mobile/science-environment-17526723</a> for mobile devices.</p>
+<pre class="codeexample">entity(bbc:news/science-environment-17526723, [ prov:type="a news item for desktop"])
+entity(bbc:news/mobile/science-environment-17526723, [ prov:type="a news item for mobile devices"])
+alternateOf(bbc:news/science-environment-17526723, bbc:news/mobile/science-environment-17526723)
+</pre>
+<p>They are both specialization of an (unspecified) entity. </p>
+</div>
+
+
+<div class="anexample" id="anexample-alternate2" count="42">
+<p>
+Considering again the two versions of the technical report <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> (second working draft) and <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span> (first working draft). They are alternate of each other.
+</p><pre class="codeexample">entity(tr:WD-prov-dm-20111018)
+entity(tr:WD-prov-dm-20111215)
+alternateOf(tr:WD-prov-dm-20111018,tr:WD-prov-dm-20111215)
+</pre>
+<p>They are both specialization of the page <a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a>.</p>
+</div>
+
+</div>
+
+
+</div>
+
+
+<div id="component5" class="section">
+<h3><span class="secno"><span class="delete">4.5</span><span class="insert">5.5</span> </span>Component 5:<span class="insert"> Bundles</span></h3>
+
+
+<p><span class="insert">The fifth component of PROV-DM is concerned with bundles, a mechanism to support provenance of provenance.
+</span><a href="#figure-component5"><span class="insert">Figure 9</span></a><span class="insert"> depict a UML class diagram for the fifth component. It comprises a </span><a href="#concept-bundle" class="internalDFN"><span class="insert">Bundle</span></a><span class="insert"> class, a subclass of </span><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a><span class="insert"> and a novel n-ary relation, </span><a href="#concept-provenance-locator" class="internalDFN"><span class="insert">Provenance Locator</span></a><span class="insert">.
+</span></p>
+
+<div style="text-align: center;">
+<figure>
+
+<img src="uml/component5.png" alt="bundles">
+<div class="figcaption" id="figure-component5"><span class="insert">Figure 9: Bundle Component Overview</span></div>
+</figure>
+</div>
+
+
+
+
+<div id="term-bundle" class="section">
+
+<h4><span class="secno"><span class="insert">5.5.1 </span></span><span class="insert">Bundle constructor</span></h4>
+
+
+<p>
+<span class="glossary-ref"><span class="insert">
+ A </span><dfn id="concept-bundle"><span class="insert">bundle</span></dfn><span class="insert"> is a named set of provenance descriptions, and is itself an entity, so allowing provenance of provenance to be expressed. </span></span>
+ </p>
+
+
+
+
+<p>
+</p><div class="attributes" id="attributes-bundle"><span class="insert">
+ A </span><dfn title="dfn-bundle" id="dfn-bundle-declaration"><span class="insert">bundle constructor</span></dfn><span class="insert"> allows the content and the name of a bundle to be specified; it is written </span><span class="pnExpression"><span class="insert">bundle id description_1 ... description_n endBundle</span></span><span class="insert"> and consists of:
+</span><ul>
+<li><span class="attribute" id="bundle.declaration.id"><span class="insert">id</span></span><span class="insert">: an identifier for the bundle;</span></li>
+<li><span class="attribute" id="bundle.declaration.descriptions"><span class="insert">descriptions</span></span><span class="insert">: a set of provenance descriptions </span><span class="name"><span class="insert">
+description_1</span></span><span class="insert">, ..., </span><span class="name"><span class="insert">description_n</span></span><span class="insert">.</span></li>
+</ul>
+<p><span class="insert">A bundle's identifier </span><span class="name"><span class="insert">id</span></span><span class="insert"> identifies a unique set of descriptions.</span></p>
+</div>
+</div>
+
+
+
+
+
+<div id="term-bundle-entity" class="section">
+
+<h4><span class="secno"><span class="insert">5.5.2 </span></span><span class="insert">Bundle Description</span></h4>
+
+<p><span class="insert">A bundle is a named set of descriptions, but it is also an entity so that its provenance can be described. </span></p><span class="insert">
+
+PROV defines the following type for bundles:
+</span><ul>
+<li><span class="name"><span class="insert">prov:Bundle</span></span><span class="insert"> is the type that denotes </span><a title="bundle" href="#concept-bundle" class="internalDFN"><span class="insert">bundles</span></a><span class="insert">.
+</span></li></ul>
+
+
+<p><span class="insert">
+A bundle description is of the form </span><span class="pnExpression"><span class="insert">entity(id,[prov:type='prov:Bundle', attr1=val1, ...])</span></span><span class="insert">
+where </span><span class="name"><span class="insert">id</span></span><span class="insert"> is an identifier denoting a bundle,
+ a type </span><span><span class="insert">prov:Bundle</span></span><span class="insert"> and
+an </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert"> set of attribute-value pairs ((</span><span class="name"><span class="insert">attr1</span></span><span class="insert">, </span><span class="name"><span class="insert">val1</span></span><span class="insert">), ...) representing additional information about this bundle.
+</span></p>
+
+
+<p><span class="insert">The provenance of provenance can then be described using PROV constructs, as illustrated by
+</span><a href="#anexample-provenance-of-provenance" class="anexample-ref"><span><span class="insert">Example 43</span></span></a><span class="insert">
+and
+</span><a href="#anexample-provenance-aggregation" class="anexample-ref"><span><span class="insert">Example 44</span></span></a><span class="insert">.</span></p>
+
+<div class="anexample" id="anexample-provenance-of-provenance" count="43">
+<p><span class="insert">Let us consider two entities </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">ex:report2</span></span><span class="insert">.</span></p>
+<pre class="codeexample"><span class="insert">
+entity(ex:report1, [ prov:type="report", ex:version=1 ])
+wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)
+entity(ex:report2, [ prov:type="report", ex:version=2])
+wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)
+wasDerivedFrom(ex:report2, ex:report1)
+</span></pre>
+
+<p><span class="insert">Let us assume that Bob observed the creation of </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">.
+A first bundle can be expressed.</span></p>
+<pre class="codeexample"><span class="insert">
+bundle bob:bundle1
+ entity(ex:report1, [ prov:type="report", ex:version=1 ])
+ wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)
+endBundle
+</span></pre>
+
+<p><span class="insert">In contrast,
+Alice observed the creation of </span><span class="name"><span class="insert">ex:report2</span></span><span class="insert"> and its derivation from </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">.
+A separate bundle can also be expressed.</span></p>
+<pre class="codeexample"><span class="insert">
+bundle alice:bundle2
+ entity(ex:report1)
+ entity(ex:report2, [ prov:type="report", ex:version=2 ])
+ wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)
+ wasDerivedFrom(ex:report2, ex:report1)
+endBundle
+</span></pre>
+
+<p><span class="insert">The first bundle contains the descriptions corresponding to Bob observing the creation of </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">. Its provenance can be described as follows.</span></p>
+<pre class="codeexample"><span class="insert">
+entity(bob:bundle1, [prov:type='prov:Bundle'])
+wasGeneratedBy(bob:bundle1, -, 2012-05-24T10:30:00)
+wasAttributedTo(bob:bundle1, ex:Bob)
+</span></pre>
+
+<p><span class="insert">In contrast, the second bundle is attributed to Alice who
+observed the derivation of </span><span class="name"><span class="insert">ex:report2</span></span><span class="insert"> from </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">.</span></p>
+<pre class="codeexample"><span class="insert">
+entity(alice:bundle2, [ prov:type='prov:Bundle' ])
+wasGeneratedBy(alice:bundle2, -, 2012-05-25T11:15:00)
+wasAttributedTo(alice:bundle2, ex:Alice)
+</span></pre>
+</div>
+
+<div class="anexample" id="anexample-provenance-aggregation" count="44">
+<p><span class="insert">A provenance aggregator could merge two bundles, resulting in a novel bundle, whose provenance is described as follows.</span></p>
+<pre class="codeexample"><span class="insert">
+bundle agg:bundle3
+ entity(ex:report1, [ prov:type="report", ex:version=1 ])
+ wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)
+
+ entity(ex:report2, [ prov:type="report", ex:version=2 ])
+ wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)
+ wasDerivedFrom(ex:report2, ex:report1)
+endBundle
+
+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)
+</span></pre>
+<p><span class="insert">The new bundle is given a new identifier </span><span class="name"><span class="insert">agg:bundle3</span></span><span class="insert"> and is attributed to the </span><span class="name"><span class="insert">ex:aggregator01</span></span><span class="insert"> agent.
+</span></p></div>
+
+
+</div>
+
+<div id="term-hasProvenanceIn" class="section">
+
+<h4><span class="secno"><span class="insert">5.5.3 </span></span><span class="insert">Provenance Locator</span></h4><span class="insert">
+
+
+In </span><a href="#anexample-provenance-of-provenance" class="anexample-ref"><span><span class="insert">Example 43</span></span></a><span class="insert">, we initially presented a scenario involving two entities </span><span class="name"><span class="insert">report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">report2</span></span><span class="insert">, and showed how their descriptions can be organized into two bundles. There is no explicit indication that the second bundle "is a continuation" of the description offered by the first bundle. Given that bundles may be retrieved separately [</span><cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ"><span class="insert">PROV-AQ</span></a></cite><span class="insert">], it is not obvious for a provenance consumer to navigate descriptions across bundles. To aid consumers,
+ Alice may wish to express that there is further provenance information about </span><span class="name"><span class="insert">report1</span></span><span class="insert"> in bundle </span><span class="name"><span class="insert">bob:bundle1</span></span><span class="insert">. To this end, PROV introduces the notion of provenance locator, inspired by [</span><cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ"><span class="insert">PROV-AQ</span></a></cite><span class="insert">].
+
+
+</span><p></p><div class="glossary-ref"><span class="insert"> A </span><dfn id="concept-provenance-locator"><span class="insert">provenance locator</span></dfn><span class="insert"> is information that helps locate provenance descriptions. It can identify a bundle within which provenance descriptions can be found. It may further identify a service, or may offer a IRI where provenance descriptions can be found. </span></div>
+
+<p>
+
+
+</p><div class="attributes" id="attributes-hasProvenanceIn"><span class="insert">
+A </span><dfn title="hasProvenanceIn" id="dfn-hasprovenancein"><span class="insert">provenance locator</span></dfn><span class="insert">,
+written
+</span><span class="pnExpression"><span class="insert">hasProvenanceIn(id, subject, bundle, target, attrs)</span></span><span class="insert">, has:
+</span><ul>
+<li><span class="attribute" id="prov.locator.id"><span class="insert">id</span></span><span class="insert">: an identifier for a provenance locator; </span></li>
+<li><span class="attribute" id="prov.locator.subject"><span class="insert">subject</span></span><span class="insert">: an identifier denoting something (entity, activity, agent, or relation instance);</span></li>
+<li><span class="attribute" id="prov.locator.bundle"><span class="insert">bundle</span></span><span class="insert">: an </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert"> identifier (</span><span class="name"><span class="insert">bundle</span></span><span class="insert">) for a bundle;
+</span></li><li><span class="attribute" id="prov.locator.target"><span class="insert">target</span></span><span class="insert">: an </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert"> identifier (</span><span class="name"><span class="insert">target</span></span><span class="insert">) denoting something described in another set of descriptions (referred to as </span><a href="http://www.w3.org/TR/prov-aq/#dfn-target-uri"><span class="insert">Target-URI</span></a><span class="insert"> in [</span><cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ"><span class="insert">PROV-AQ</span></a></cite><span class="insert">]);
+</span></li><li><span class="attribute" id="prov.locator.attributes"><span class="insert">attributes</span></span><span class="insert">: an </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert"> set (</span><span class="name"><span class="insert">attrs</span></span><span class="insert">) of attribute-value pairs representing additional information about this locator; it optionally includes
+</span><a href="#term-attribute-service-uri"><span class="name"><span class="insert">prov:service-uri</span></span></a><span class="insert">
+or
+</span><a href="#term-attribute-provenance-uri"><span class="name"><span class="insert">prov:provenance-uri</span></span></a><span class="insert">.</span></li>
+</ul>
+<p><span class="insert">If the target is not specified, it is assumed that target is the same identifier as subject.
+</span></p></div>
+
+<p><span class="insert">When the subject and optional target denote entities,
+a provenance locator not only provides a </span><em><span class="insert">located context</span></em><span class="insert">, but it also expresses an </span><a href="#concept-alternate" class="internalDFN"><span class="insert">alternate</span></a><span class="insert"> relation between the entity denoted by </span><span class="name"><span class="insert">subject</span></span><span class="insert"> and the entity described in the located context. This is an alternate since the entity denoted by </span><span class="name"><span class="insert">subject</span></span><span class="insert"> in the current context presents other aspects than the entity in the located one.</span></p>
+
+<div class="anexample" id="anexample-provenance-locator" count="45">
+<p><span class="insert">According to the following provenance locator, provenance descriptions about </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> can be found in bundle </span><span class="name"><span class="insert">bob:bundle1</span></span><span class="insert">.</span></p>
+<pre class="codeexample"><span class="insert">
+hasProvenanceIn(ex:report1, bob:bundle1, -)
+</span></pre>
+<p><span class="insert">According to the following provenance locator, provenance descriptions about </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> can be found in bundle </span><span class="name"><span class="insert">bob:bundle1</span></span><span class="insert">, which is available from the provenance service identified by the provided URI.</span></p>
+<pre class="codeexample"><span class="insert">
+hasProvenanceIn(ex:report1, bob:bundle1, -, [ prov:service-uri="http://example.com/service" %% xsd:anyURI ])
+</span></pre>
+</div>
+
+
+<div class="anexample" id="anexample-provenance-locator2" count="46">
+<p><span class="insert">Let us again consider the same scenario involving two entities </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">ex:report2</span></span><span class="insert">.</span></p>
+<p><span class="insert">The first bundle can be expressed with all Bob's observations about the creation of </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">.
+</span></p>
+<pre class="codeexample"><span class="insert">
+bundle bob:bundle4
+ entity(ex:report1, [ prov:type="report", ex:version=1 ])
+ wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)
+endBundle
+</span></pre>
+
+<p><span class="insert">Likewise, Alice's observation about the derivation of </span><span class="name"><span class="insert">ex:report2</span></span><span class="insert"> from </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">, is expressed in a separate bundle.</span></p>
+<pre class="codeexample"><span class="insert">
+bundle alice:bundle5
+ entity(ex:report1)
+ 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)
+endBundle
+</span></pre>
+<p><span class="insert">In bundle </span><span class="name"><span class="insert">alice:bundle5</span></span><span class="insert">, there is a description for entity </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">, and
+a provenance locator pointing to bundle </span><span class="name"><span class="insert">bob:bundle4</span></span><span class="insert">.
+The locator indicates that some provenance description for </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> can be found in bundle </span><span class="name"><span class="insert">bob:bundle4</span></span><span class="insert">. The purpose of the locator is twofold. First, it allows for </span><a href="http://www.w3.org/TR/prov-aq/#incremental-provenance-retrieval"><span class="insert">incremental navigation</span></a><span class="insert"> of provenance [</span><cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ"><span class="insert">PROV-AQ</span></a></cite><span class="insert">]. Second, it makes entity </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> described in </span><span class="name"><span class="insert">alice:bundle5</span></span><span class="insert"> an </span><a href="#concept-alternate" class="internalDFN"><span class="insert">alternate</span></a><span class="insert"> of </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> described in </span><span class="name"><span class="insert">bob:bundle4</span></span><span class="insert">.
+</span></p>
+</div>
+
+
+<div class="anexample" id="anexample-provenance-locator3" count="47">
+<p><span class="insert">Alternatively, Alice may have decided to use a different identifier for </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">.</span></p>
+<pre class="codeexample"><span class="insert">
+bundle alice:bundle6
+ entity(alice:report1)
+ hasProvenanceIn(alice:report1, bob:bundle4, ex:report1)
+ entity(ex:report2, [ prov:type="report", ex:version=2 ])
+ wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)
+ wasDerivedFrom(ex:report2, alice:report1)
+endBundle
+</span></pre>
+<p><span class="insert">Alice can specify the </span><a href="#prov.locator.target"><span class="insert">target</span></a><span class="insert"> in the provenance locator to be </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">.
+With such a statement, Alice states that provenance information about </span><span class="name"><span class="insert">alice:report1</span></span><span class="insert"> can be found in bundle
+</span><span class="name"><span class="insert">bob:bundle4</span></span><span class="insert"> under the name </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">. In effect, </span><span class="name"><span class="insert">alice:report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> are declared to be alternate.</span></p>
+</div>
+
+<div class="anexample" id="aexample-note" count="48">
+<p><span class="insert">Consider the following bundle of descriptions, in which derivation and generations have been identified.
+</span></p><pre class="codeexample"><span class="insert">
+bundle obs:bundle7
+ 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(obs:bundle7, [ prov:type='prov:Bundle' ])
+wasAttributedTo(obs:bundle7, ex:observer01)
+</span></pre><span class="insert">
+Bundle </span><span class="name"><span class="insert">obs:bundle7</span></span><span class="insert"> 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.
+</span><pre class="codeexample"><span class="insert">
+bundle tool:bundle8
+ entity(tool:bundle8, [ prov:type='viz:Configuration', prov:type='prov:Bundle' ])
+ wasAttributedTo(tool:bundle8, viz:Visualizer)
+
+ entity(ex:report1, [viz:color="orange"]) // ex:report1 is a reused identifier
+ hasProvenanceIn(ex:report1, obs:bundle7, -)
+
+ entity(tool:r2, [viz:color="blue"]) // tool:r2 is a new identifier
+ hasProvenanceIn(tool:r2, obs:bundle7, ex:report2)
+
+ wasDerivedBy(ex:d; ex:report2, ex:report1, [viz:style="dotted"])
+ hasProvenanceIn(ex:d, obs:bundle7, -)
+endBundle
+</span></pre>
+
+<p><span class="insert">In bundle </span><span class="name"><span class="insert">tool:bundle8</span></span><span class="insert">, the prefix </span><span class="name"><span class="insert">viz</span></span><span class="insert"> is used for naming visualisation-specific attributes, types or values.</span></p>
+
+<p><span class="insert">Bundle </span><span class="name"><span class="insert">tool:bundle8</span></span><span class="insert"> is given type </span><span class="name"><span class="insert">viz:Configuration</span></span><span class="insert"> 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.
+</span></p>
+
+<p><span class="insert">For the purpose of illustration, we show that the visualisation tool
+reused identifier </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert">, but created a new identifier </span><span class="name"><span class="insert">tool:r2</span></span><span class="insert">.
+They denote entities which are alternates of with </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> and </span><span class="name"><span class="insert">ex:report2</span></span><span class="insert">, described in bundle </span><span class="name"><span class="insert">obs:bundle7</span></span><span class="insert">, with visualization attribute for the color to be used when rendering these entities.
+Likewise, the derivation has a style attribute. </span></p>
+
+<p><span class="insert">According to their definition,
+derivations have an </span><a href="#derivation.id"><span class="insert">optional identifier</span></a><span class="insert">.
+To express an alternate for a derivation, we need to be able to reference it, by means of an identifier. Hence, it is necessary for it to have an identifier in the first place (</span><span class="name"><span class="insert">ex:d</span></span><span class="insert">).</span></p>
+</div>
+
+</div>
+</div>
+
+
+
+<div id="component6" class="section">
+<h3><span class="secno"><span class="insert">5.6 </span></span><span class="insert">Component 6:</span> Collections</h3>
+
+<p>The fifth component of PROV-DM is concerned with the notion of collections.
+A collection is an entity that has some members. The members are themselves entities, and therefore their provenance can be expressed. Some applications need to be able to express the provenance of the collection itself: e.g. who maintains the collection, which members it contains as it evolves, and how it was assembled. The purpose of Component 5 is to define the types and relations that are useful to express the provenance of collections. In PROV, the concept of Collection is implemented by means of dictionaries, which we introduce in this section. </p>
+
+<p><a href="#figure-component6">Figure <span class="delete">figure-component5</span><span class="insert">10</span></a> depicts
+the <span class="delete">fifth</span><span class="insert">sixth</span> component with <span class="delete">four</span><span class="insert">three</span> new classes <span class="insert">(Collection, Dictionary, </span>and <span class="insert">Pair) and </span>three <span class="delete">associations.</span><span class="insert">associations (insertion, removal, and memberOf).</span>
+</p>
+
+
+<div style="text-align: center;">
+
+
+<figure>
+
+<img src="uml/component6.png" alt="dictionaries">
+
+<div class="figcaption" id="figure-component6">Figure <span class="delete">9:</span><span class="insert">10:</span> Collections Component Overview</div>
+</figure>
+</div>
+
+
+<p>The intent of these relations and types is to express the <em>history of changes that occurred to a collection</em>.
+Changes to collections are about the insertion of entities in collections and the removal of members from collections.
+Indirectly, such history provides a way to reconstruct the contents of a collection.</p>
+
+<div id="term-collection" class="section">
+<h4><span class="secno"><span class="delete">4.5.1</span><span class="insert">5.6.1</span> </span>Collection</h4>
+
+<span class="glossary-ref"> A <dfn id="concept-collection">collection</dfn> is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be <dfn id="dfn-member-of">member of</dfn> the collections. </span>
+
+<p>In PROV, the concept of Collection is provided as an extensibility point for other kinds of collections. Collections are implemented by means of dictionaries, which are introduced next. </p>
+
+</div>
+
+<div id="term-dictinonary" class="section">
+<h4><span class="secno"><span class="delete">4.5.2</span><span class="insert">5.6.2</span> </span>Dictionary</h4>
+
+
+<p>PROV-DM defines a specific type of collection: a dictionary, specified as follows.</p>
+
+
+<span class="glossary-ref"> A <dfn id="concept-dictionary">dictionary</dfn> is a collection whose members are indexed by keys. </span>
+
+<p>Conceptually, a dictionary has a logical structure consisting of key-entity pairs. This structure is often referred to as a <em>map</em>, and is a generic indexing mechanism that can abstract commonly used data structures, including associative lists (also known as "dictionaries" 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>A given dictionary forms a given structure for its members. A different structure (obtained either by insertion or removal of members) constitutes a different dictionary. Hence,
+ for the purpose of provenance, a dictionary entity is viewed as a snapshot of a structure. Insertion and removal operations result in new snapshots, each snapshot forming an identifiable dictionary entity.</p>
+
+
+<p>PROV-DM defines the following types related to dictionaries:</p>
+
+<ul>
+ <li> <span class="name">prov:Dictionary</span> denotes an entity of type dictionary, i.e. an entity that can participate in relations amongst dictionaries;
+
+ </li><li><span class="name">prov:EmptyDictionary</span> denotes an empty dictionary.
+</li></ul>
+
+
+
+
+
+
+
+<div class="anexample" count="49">
+<pre class="codeexample">entity(d0, <span class="delete">[prov:type="prov:EmptyDictionary" %% xsd:QName])</span><span class="insert">[prov:type='prov:EmptyDictionary' ])</span> // d0 is an empty dictionary
+entity(d1, <span class="delete">[prov:type="prov:Dictionary"</span><span class="insert">[prov:type='prov:Dictionary'</span> <span class="delete">%% xsd:QName])</span><span class="insert">])</span> // d1 is a dictionary, with unknown content
+</pre>
+</div>
+
+
+
+</div>
+
+
+<div id="term-dictionary-insertion" class="section">
+<h4><span class="secno"><span class="delete">4.5.3</span><span class="insert">5.6.3</span> </span>Insertion</h4>
+
+<span class="glossary-ref"> <dfn id="concept-insertion">Insertion</dfn> is a derivation that transforms a dictionary into another, by insertion of one or more key-entity pairs. </span>
+
+
+
+
+
+<p></p><div class="attributes" id="attributes-derivedByInsertionFrom">
+<p>An <dfn title="derivedByInsertionFrom" id="dfn-derivedbyinsertionfrom">Insertion</dfn> relation<span class="withPn">, written <span class="pnExpression"><span class="delete">derivedByInsertionFrom(id,</span><span class="insert">derivedByInsertionFrom(id;</span> d2, d1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</span>,</span> has:</p>
+<ul>
+<li><span class="attribute" id="derivedByInsertionFrom.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
+<li><span class="attribute" id="derivedByInsertionFrom.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> insertion; </li>
+<li><span class="attribute" id="derivedByInsertionFrom.before">before</span>: an identifier (<span class="name">d1</span>) for the dictionary <em>before</em> insertion;</li>
+<li><span class="attribute" id="derivedByInsertionFrom.key-entity-set">key-entity-set</span>: the inserted key-entity pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span> in which each <span class="name">key_i</span> is a <a href="#dfn-value" class="internalDFN">value</a>, and <span class="name">e_i</span> is an identifier for the entity that has been inserted with the key;
+ each <span class="name">key_i</span> is expected to be unique for the key-entity-set;
+</li>
+<li><span class="attribute" id="derivedByInsertionFrom.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+</div>
+
+<p>
+An Insertion relation <span class="name"><span class="delete">derivedByInsertionFrom(id,</span><span class="insert">derivedByInsertionFrom(id;</span> d2, d1, {(key_1, e_1), ..., (key_n, e_n)})</span> states that <span class="name">d2</span> is the state of the dictionary
+following the insertion of pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span> into dictionary <span class="name">d1</span>.</p>
+
+
+
+
+
+
+<div class="anexample" count="50">
+<pre class="codeexample">entity(d0, <span class="delete">[prov:type="prov:EmptyDictionary" %% xsd:QName])</span><span class="insert">[prov:type='prov:EmptyDictionary' ])</span> // d0 is an empty dictionary
+entity(e1)
+entity(e2)
+entity(e3)
+entity(d1, <span class="delete">[prov:type="prov:Dictionary" %% xsd:QName])</span><span class="insert">[prov:type='prov:Dictionary' ])</span>
+entity(d2, <span class="delete">[prov:type="prov:Dictionary" %% xsd:QName])</span><span class="insert">[prov:type='prov:Dictionary' ])</span>
+
+derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)})
+derivedByInsertionFrom(d2, d1, {("k3", e3)})
+</pre>
+From this set of descriptions, we conclude:
+<ul>
+<li> <span class="name">d0</span> is the set <span class="name">{ }</span>
+</li><li> <span class="name">d1</span> is the set <span class="name">{ ("k1", e1), ("k2", e2) }</span>
+</li><li> <span class="name">d2</span> is the set <span class="name">{ ("k1", e1), ("k2", e2), ("k3", e3) }</span>
+</li></ul>
+</div>
+
+<p>Insertion provides an "update semantics" for the keys that are already present in a dictionary,
+since a new pair replaces an existing pair with the same key in the new dictionary. This is illustrated by the following example.</p>
+
+<div class="anexample" count="51">
+<pre class="codeexample">entity(d0, <span class="delete">[prov:type="prov:EmptyDictionary" %% xsd:QName])</span><span class="insert">[prov:type='prov:EmptyDictionary' ])</span> // d0 is an empty dictionary
+entity(e1)
+entity(e2)
+entity(e3)
+entity(d1, <span class="delete">[prov:type="prov:Dictionary" %% xsd:QName])</span><span class="insert">[prov:type='prov:Dictionary' ])</span>
+entity(d2, <span class="delete">[prov:type="prov:Dictionary" %% xsd:QName])</span><span class="insert">[prov:type='prov:Dictionary' ])</span>
+
+derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)})
+derivedByInsertionFrom(d2, d1, {("k1", e3)})
+</pre>
+ This is a case of <em>update</em> of <span class="name">e1</span> to <span class="name">e3</span> for the same key, <span class="name">"k1"</span>. <br>
+ From this set of descriptions, we conclude:
+<ul>
+<li> <span class="name">d0</span> is the set <span class="name">{ }</span>
+</li><li> <span class="name">d1</span> is the set <span class="name">{ ("k1", e1), ("k2", e2) }</span>
+</li><li> <span class="name">d2</span> is the set <span class="name">{ ("k1", e3), ("k2", e2) }</span>
+</li></ul>
+</div>
+
+</div>
+
+
+<div id="term-dictionary-removal" class="section">
+<h4><span class="secno"><span class="delete">4.5.4</span><span class="insert">5.6.4</span> </span>Removal</h4>
+
+<span class="glossary-ref"> <dfn id="concept-removal">Removal</dfn> is a derivation that transforms a dictionary into another, by removing one or more key-entity pairs. </span>
+
+
+
+
+<p>
+</p><div class="attributes" id="attributes-derivedByRemovalFrom">
+<p> A <dfn title="derivedByRemovalFrom" id="dfn-derivedbyremovalfrom">Removal</dfn> relation, written <span class="pnExpression"><span class="delete">derivedByRemovalFrom(id,</span><span class="insert">derivedByRemovalFrom(id;</span> d2, d1, {key_1, ... key_n}, attrs)</span>, has:</p>
+<ul>
+<li><span class="attribute" id="derivedByRemovalFrom.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
+<li><span class="attribute" id="derivedByRemovalFrom.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> the deletion; </li>
+<li><span class="attribute" id="derivedByRemovalFrom.before">before</span>: an identifier (<span class="name">d1</span>) for the dictionary <em>before</em> the deletion;</li>
+<li><span class="attribute" id="derivedByRemovalFrom.key-set">key-set</span>: a set of deleted keys <span class="name">key_1</span>, ..., <span class="name">key_n</span>, for which each <span class="name">key_i</span> is a <a href="#dfn-value" class="internalDFN">value</a>;</li>
+<li><span class="attribute" id="derivedByRemovalFrom.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+</div>
+
+<p>A Removal relation <span class="name"><span class="delete">derivedByRemovalFrom(id,</span><span class="insert">derivedByRemovalFrom(id;</span> d2,d1, {key_1, ..., key_n})</span> states that <span class="name">d2</span> is the state of the dictionary following the removal of the set of pairs corresponding to keys <span class="name">key_1...key_n</span> from <span class="name">d1</span>.
+
+</p><div class="anexample" count="52">
+<pre class="codeexample">entity(d0, [prov:type="prov:EmptyDictionary"]) // d0 is an empty dictionary
+entity(e1)
+entity(e2)
+entity(e3)
+entity(d1, [prov:type="prov:Dictionary"])
+entity(d2, [prov:type="prov:Dictionary"])
+
+derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2",e2)})
+derivedByInsertionFrom(d2, d1, {("k3", e3)})
+derivedByRemovalFrom(d3, d2, {"k1", "k3"})
+</pre>
+From this set of descriptions, we conclude:
+<ul>
+<li><span class="name">d0</span> is the set <span class="name">{ }</span>
+</li><li><span class="name">d1</span> is the set <span class="name">{ ("k1", e1), ("k2", e2) }</span>
+</li><li><span class="name">d2</span> is the set <span class="name">{ ("k1", e1), ("k2", e2), ("k3", e3) }</span>
+</li><li><span class="name">d3</span> is the set <span class="name">{ ("k2", e2) }</span>
+</li></ul>
+
+
+</div>
+
+</div>
+
+
+<div id="term-dictionary-membership" class="section">
+<h4><span class="secno"><span class="delete">4.5.5</span><span class="insert">5.6.5</span> </span>Membership</h4>
+
+
+<span class="glossary-ref"> <dfn id="concept-membership">Membership</dfn> is the belonging of a key-entity pair to dictionary. </span>
+
+<p>
+The insertion and removal relations make insertions and removals explicit as part of the history of a dictionary. This, however, requires explicit mention of the state of the dictionary prior to each operation. The membership relation removes this <span class="delete">needs,</span><span class="insert">need,</span> allowing the state of a dictionary <span class="name">c</span> to be expressed without having to introduce a prior state.</p>
+
+<p>
+</p><div class="attributes" id="attributes-memberOf">
+ A <dfn title="memberOf" id="dfn-memberof">membership</dfn> relation, written <span class="pnExpression"><span class="delete">memberOf(id,</span><span class="insert">memberOf(id;</span> c, {(key_1, e_1), ..., (key_n, e_n)}, cplt, attrs)</span>, has:
+<ul>
+<li><span class="attribute" id="memberOf.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
+<li><span class="attribute" id="memberOf.after">after</span>: an identifier (<span class="name">c</span>) for the dictionary whose members are asserted; </li>
+<li><span class="attribute" id="memberOf.key-entity-set">key-entity-set</span>: a set of key-entity pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span> that are members of the dictionary;</li>
+<li><span class="attribute" id="memberOf.complete">complete</span>: an <em class="rfc2119" title="optional">optional</em> boolean
+<a title="value" href="#dfn-value" class="internalDFN">Value</a> (<span class="name">cplt</span>); if true, it indicates that no other member belongs to the dictionary; if false, it indicates that other members belong to the dictionary; if unspecified, other members <em class="rfc2119" title="may">may</em> belong to the dictionary.
+</li><li><span class="attribute" id="memberOf.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+</div>
+
+
+
+
+<p>The description <span class="name">memberOf(c, {(key_1, e_1), ..., (key_n, e_n)})</span> states that <span class="name">c</span> is known to include <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)}</span>, without having to introduce a previous state. </p>
+
+<div class="anexample" count="53">
+<pre class="codeexample">entity(d1, <span class="delete">[prov:type="prov:Dictionary"</span><span class="insert">[prov:type='prov:Dictionary'</span> <span class="delete">%% xsd:QName])</span><span class="insert">])</span> // d1 is a dictionary, with unknown content
+entity(d2, <span class="delete">[prov:type="prov:Dictionary"</span><span class="insert">[prov:type='prov:Dictionary'</span> <span class="delete">%% xsd:QName])</span><span class="insert">])</span> // d2 is a dictionary, with unknown content
+
+entity(e1)
+entity(e2)
+
+memberOf(d1, {("k1", e1), ("k2", e2)} )
+memberOf(d2, {("k1", e1), ("k2", e2)}, true)
+
+entity(e3)
+entity(d3, <span class="delete">[prov:type="prov:Dictionary"</span><span class="insert">[prov:type='prov:Dictionary'</span> <span class="delete">%% xsd:QName])</span><span class="insert">])</span>
+
+derivedByInsertionFrom(d3, d1, {("k3", e3)})
+</pre>
+From these descriptions, we conclude:
+<ul>
+<li> <span class="name">d1</span> has the following pairs as members: <span class="name">("k1", e1), ("k2", e2)</span>, and may contain others.
+</li><li> <span class="name">d2</span> exactly has the following pairs as members: <span class="name">("k1", e1), ("k2", e2)</span>, and does not contain any other.
+</li><li> <span class="name">d3</span> has the following pairs as members: <span class="name">("k1", e1), ("k2", e2), ("k3", v3)</span>, and may contain others.
+</li></ul>
+<p> Thus, the states of <span class="name">d1</span> and <span class="name">d3</span> are only partially known.</p>
+</div>
+
+
+
+</div>
+
+
+
+<p>Further considerations: </p>
+
+<ul>
+
+<li>The state of a dictionary (i.e., the set of key-entity 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 derivations involving insertions and removals. Entity type <span class="name">emptyDictionary</span> can be used in this context as it marks the start of a sequence of dictionary operations.</li>
+
+
+<li>The representation of a dictionary through these relations makes no assumption regarding the underlying data structure used to store and manage dictionaries. In particular, no assumptions are needed regarding the mutability of a data structure that is subject to updates. Entities, however, are immutable and this applies to those entities that represent dictionaries. This is reflected in the constraints listed in [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>]. </li>
+</ul>
+
+
+</div>
+
+
+
+
+
+
+
+
+
+<div id="second-class-elements" class="section">
+<h3><span class="secno"><span class="delete">4.6 </span><span class="delete">Component 6: Annotations</span>
+
+<span class="delete">The sixth component of PROV-DM is concerned with </span><span class="delete">notes</span><span class="delete"> and </span><span class="delete">annotations</span><span class="delete">.
+</span>
+
+<span class="delete">As provenance descriptions are exchanged between systems, it may be useful for a third party to add extra information to what they are describing. For instance, a "trust service" may add value-judgements about the
+trustworthiness of some of the entities or agents occurring in provenance records it is given access to. Likewise, an interactive visualization component may want to enrich an existing set of provenance descriptions with information helping reproduce their
+visual representation. To help with interoperability, PROV-DM introduces a simple annotation mechanism allowing anything that is identifiable to be associated with notes.
+For this, a type and and a relation are introduced.</span>
+
+
+<span class="delete">The annotation mechanism (with note and annotation) forms a key aspect of the extensibility mechanism of PROV-DM (see </span><span class="delete">extensibility section</span><span class="delete">).</span>
+
+
+<span class="delete">4.6.1 </span><span class="delete">Note</span>
+
+<span class="delete"> A </span><span class="delete">note</span><span class="delete"> is an identified set of application-specific attribute-value pairs.</span>
+
+
+<span class="delete">A </span><span class="delete">note</span><span class="delete">, written </span><span class="delete">note(id, [attr1=val1, ...])</span><span class="delete"> in PROV-N,</span><span class="delete"> has:
+</span>
+<span class="delete">id</span><span class="delete">: an identifier for a note;</span>
+<span class="delete">attributes</span><span class="delete">: a set of attribute-value pairs ((</span><span class="delete">attr1</span><span class="delete">, </span><span class="delete">val1</span><span class="delete">), ...) representing application-specific information.</span>
+
+
+
+
+
+
+
+<span class="delete">
+The following note consists of a set of application-specific attribute-value pairs, intended
+to help the rendering of the pre-existing entity it is associated with, by
+specifying its color and its position on the screen.</span>
+<span class="delete">note(ex:n1,[draw:color="blue", draw:screenX=20, draw:screenY=30])
+hasAnnotation(tr:WD-prov-dm-20111215,ex:n1)
+</span>
+<span class="delete">The note is linked to the entity </span><span class="delete">tr:WD-prov-dm-20111215</span><span class="delete">, with
+relation </span><span class="delete">hasAnnotation</span><span class="delete">
+discussed in </span><span class="delete">Section 4.6.2</span><span class="delete">.
+The note's identifier is declared in the namespace denoted by prefix </span><span class="delete">ex</span><span class="delete"> to illustrate that the rendering application may differ from the application involving entity </span><span class="delete">tr:WD-prov-dm-20111215</span><span class="delete">. The prefix </span><span class="delete">draw</span><span class="delete"> also denotes an application-specific namespace.
+</span>
+
+
+
+<span class="delete">In contrast, a reputation service may enrich an existing provenance record with notes providing reputation ratings about agents. In the following fragment, both agents </span><span class="delete">ex2:Simon</span><span class="delete"> and </span><span class="delete">ex2:Paolo</span><span class="delete"> are rated "excellent".</span>
+<span class="delete">note(ex3:n2,[trust:reputation="excellent"])
+hasAnnotation(ex2:Simon,ex3:n2)
+hasAnnotation(ex2:Paolo,ex3:n2)
+</span>
+<span class="delete">The note's identifier is declared in a separate namespace denoted by prefix </span><span class="delete">ex3</span><span class="delete">. The prefix </span><span class="delete">trust</span><span class="delete"> also denotes an application specific namespace.</span>
+
+
+
+
+
+
+
+<span class="delete">4.6.2 </span><span class="delete">Annotation</span>
+
+
+
+<span class="delete"> An </span><span class="delete">annotation</span><span class="delete"> is a link between something that is identifiable and a note referred to by its identifier.</span>
+
+<span class="delete">Multiple notes can
+be associated with a given identified object; symmetrically, multiple objects can be associated with a given note. Since notes have identifiers, they can also be
+annotated. </span>
+
+<span class="delete">An </span><span class="delete">annotation relation</span><span class="delete">, written </span><span class="delete">hasAnnotation(r,n)</span><span class="delete"> in PROV-N,</span><span class="delete"> has:
+</span>
+<span class="delete">something</span><span class="delete">: the identifier (</span><span class="delete">r</span><span class="delete">) of something being annotated;</span>
+<span class="delete">note</span><span class="delete">: an identifier (</span><span class="delete">n</span><span class="delete">) of a note.</span>
+
+
+
+
+<span class="delete">
+The following expressions</span>
+<span class="delete">entity(e1,[prov:type="document"])
+entity(e2,[prov:type="document"])
+activity(a,t1,t2)
+used(u1,a,e1,[ex:file="stdin"])
+wasGeneratedBy(e2, a, [ex:file="stdout"])
+
+note(n1,[ex:icon="doc.png"])
+hasAnnotation(e1,n1)
+hasAnnotation(e2,n1)
+
+note(n2,[ex:style="dotted"])
+hasAnnotation(u1,n2)
+</span>
+<span class="delete">describe two documents (attribute-value pair: </span><span class="delete">prov:type="document"</span><span class="delete">) identified by </span><span class="delete">e1</span><span class="delete"> and </span><span class="delete">e2</span><span class="delete">, and their annotation with a note indicating that the icon (an application specific way of rendering provenance) is </span><span class="delete">doc.png</span><span class="delete">. The example also
+includes an activity, its usage of the first entity, and its generation of the second entity. The </span><span class="delete">usage</span><span class="delete"> is annotated with a style (an application specific way
+of rendering this edge graphically). To be able to express this annotation, the usage was provided with an identifier </span><span class="delete">u1</span><span class="delete">, which was then referred to in </span><span class="delete">hasAnnotation(u1,n2)</span><span class="delete">.
+</span>
+
+
+
+
+
+
+
+
+
+
+
+
+<span class="delete">4.7</span><span class="insert">5.7</span> </span>Further Elements of PROV-DM</h3>
+
+This section introduces further elements of PROV-DM.
+
+<div id="term-NamespaceDeclaration" class="section">
+<h4><span class="secno"><span class="delete">4.7.1</span><span class="insert">5.7.1</span> </span>Namespace Declaration</h4>
+
+<p>A PROV-DM <dfn id="dfn-namespace">namespace</dfn> is identified by an IRI [<cite><a class="bibref" rel="biblioentry" href="#bib-IRI">IRI</a></cite>]. In PROV-DM, attributes, identifiers, and values with <a title="qualified name" href="#concept-qualifiedName" class="internalDFN">qualified names</a> as data type can be placed in a namespace using the mechanisms described in this specification. </p>
+
+
+<p>A <dfn id="dfn-namespaceDeclaration">namespace declaration</dfn> consists of a binding between a prefix and a namespace. Every qualified name with this prefix in the scope of this
+declaration refers to this namespace.
+ </p>
+
+<p>A <dfn id="dfn-defaultNamespaceDeclaration">default namespace declaration</dfn> consists of a namespace. Every un-prefixed qualified name in the scope of this default namespace declaration
+refers to this namespace.</p>
+
+<p>The <dfn title="prov-namespace" id="dfn-prov-namespace">PROV namespace</dfn> is identified by the URI <a href="http://www.w3.org/ns/prov#">http://www.w3.org/ns/prov#</a>.</p>
+
+</div>
+
+<div id="term-qualified-name" class="section">
+<h4><span class="secno"><span class="delete">4.7.2</span><span class="insert">5.7.2</span> </span>Qualified Name</h4>
+
+
+<span class="glossary-ref"> A <dfn id="concept-qualifiedName">qualified name</dfn> is a name subject to <a href="#dfn-namespace" class="internalDFN">namespace</a> interpretation. It consists of a <a href="#dfn-namespace" class="internalDFN">namespace</a>, denoted by an optional prefix, and a local name.<p></p> </span>
+
+<p>PROV-DM stipulates that a qualified name can be mapped into an IRI
+ by concatenating the IRI associated with the prefix and the local part.</p>
+
+<p>A qualified name's prefix is <em class="rfc2119" title="optional">optional</em>. If a prefix occurs in a
+ qualified name, it refers to a <a href="#dfn-namespace" class="internalDFN">namespace</a> declared in a namespace declaration. In the absence of prefix, the qualified name
+ refers to the <a title="default namespace declaration" href="#dfn-defaultNamespaceDeclaration" class="internalDFN">default namespace</a>.</p>
+
+</div>
+
+
+
+<div id="term-identifier" class="section">
+<h4><span class="secno"><span class="delete">4.7.3</span><span class="insert">5.7.3</span> </span>Identifier</h4>
+
+<p>
+An <dfn id="dfn-identifier">identifier</dfn> is a <a href="#concept-qualifiedName" class="internalDFN">qualified
+ name</a>.
+</p>
+
+</div>
+
+<div id="term-attribute" class="section">
+<h4><span class="secno"><span class="delete">4.7.4</span><span class="insert">5.7.4</span> </span>Attribute</h4>
+
+<p>An <dfn title="dfn-attribute" id="dfn-attribute">attribute</dfn> is a <a href="#concept-qualifiedName" class="internalDFN">qualified name</a>.
+
+
+</p><p>The PROV data model introduces a pre-defined set of attributes in the <a title="prov-namespace" href="#dfn-prov-namespace" class="internalDFN">PROV namespace</a>, which we define below.
+This specification does not provide any interpretation for any attribute declared in any other namespace.</p>
+
+
+
+
+<div id="attributes-at-a-glance-div" style="text-align: left;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="attributes-at-a-glance">Table <span class="delete">5:</span><span class="insert">6:</span> PROV-DM Attributes At a Glance</caption>
+<tbody><tr><td><b>Attribute</b></td><td><b><span class="insert">Allowed In</span></b></td><td><b>value</b></td><td><b>Section</b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+<tr><td>prov:label</td><td><em><span class="insert">any construct</span></em></td><td><a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a></td><td>Section <a href="#term-attribute-label"><span class="delete">4.7.4.1</span><span class="insert">5.7.4.1</span></a> </td></tr>
+<tr><td>prov:location</td><td><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a><span class="insert">, </span><a href="#concept-activity" class="internalDFN"><span class="insert">Activity</span></a><span class="insert">, </span><br> <a href="#concept-usage" class="internalDFN"><span class="insert">Usage</span></a><span class="insert">, and </span><a href="#concept-generation" class="internalDFN"><span class="insert">Generation</span></a><span class="insert">.</span></td><td><a title="value" href="#dfn-value" class="internalDFN">Value</a></td><td>Section <a href="#term-attribute-location"><span class="delete">4.7.4.2</span><span class="insert">5.7.4.2</span></a> </td></tr>
+<tr><td>prov:role</td><td><a href="#concept-usage" class="internalDFN"><span class="insert">Usage</span></a><span class="insert">, </span><a href="#concept-generation" class="internalDFN"><span class="insert">Generation</span></a><span class="insert">, </span><br> <a href="#concept-association-core" class="internalDFN"><span class="insert">Association</span></a><span class="insert">, </span><a href="#concept-start" class="internalDFN"><span class="insert">Start</span></a><span class="insert">, and </span><a href="#concept-end" class="internalDFN"><span class="insert">End</span></a></td><td><a title="value" href="#dfn-value" class="internalDFN">Value</a></td><td>Section <a href="#term-attribute-role"><span class="delete">4.7.4.3</span><span class="insert">5.7.4.3</span></a> </td></tr>
+<tr><td>prov:type</td><td><em><span class="insert">any construct</span></em></td><td><a title="value" href="#dfn-value" class="internalDFN">Value</a></td><td>Section <a href="#term-attribute-type"><span class="delete">4.7.4.4</span><span class="insert">5.7.4.4</span></a> </td></tr>
+<tr><td>prov:value</td><td><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a></td><td><a title="value" href="#dfn-value" class="internalDFN">Value</a></td><td>Section <a href="#term-attribute-value"><span class="delete">4.7.4.5</span><span class="insert">5.7.4.5</span></a> </td></tr>
+
+<tr><td><span class="insert">prov:provenance-uri</span></td><td><a href="#concept-provenance-locator" class="internalDFN"><span class="insert">Provenance Locator</span></a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI"><span class="insert">xsd:anyURI</span></a></td><td><span class="insert">Section </span><a href="#term-attribute-provenance-uri"><span class="insert">5.7.4.6</span></a> </td></tr>
+<tr><td><span class="insert">prov:service-uri</span></td><td><a href="#concept-provenance-locator" class="internalDFN"><span class="insert">Provenance Locator</span></a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI"><span class="insert">xsd:anyURI</span></a></td><td><span class="insert">Section </span><a href="#term-attribute-service-uri"><span class="insert">5.7.4.7</span></a> </td></tr>
+</tbody></table>
+</div>
+
+
+
+
+
+<div id="term-attribute-label" class="section">
+<h5><span class="secno"><span class="delete">4.7.4.1</span><span class="insert">5.7.4.1</span> </span>prov:label</h5>
+
+<p> The attribute <dfn title="dfn-label" id="dfn-dfn-label"><span class="name">prov:label</span></dfn> provides a human-readable representation of a PROV-DM element or relation. The value associated with the attribute <span class="name">prov:label</span> <em class="rfc2119" title="must">must</em> be a string.</p>
+
+<div class="anexample" count="54">
+<p>The following entity is provided with a label attribute.</p>
+<pre class="codeexample"> entity(ex:e1, [prov:label="This is a label"])
+</pre>
+</div>
+
+
+</div>
+
+
+<div id="term-attribute-location" class="section">
+<h5><span class="secno"><span class="delete">4.7.4.2</span><span class="insert">5.7.4.2</span> </span>prov:location</h5>
+
+<p>A <dfn title="dfn-Location" id="dfn-dfn-location">location</dfn> can be an identifiable geographic place (ISO 19112), but it can also be a non-geographic place such as a directory, row, or column. As such, there are numerous ways in which location can be expressed, such as by a coordinate,
+address, landmark, and so forth. This document does not specify how to concretely express locations, but instead provide a mechanism to introduce locations, by means of a reserved attribute. </p>
+
+
+<p>
+The attribute <span class="name">prov:location</span> is an <em class="rfc2119" title="optional">optional</em> attribute of entity, activity, usage, and generation. The value associated with the attribute <span class="name">prov:location</span> <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value</a>, expected to denote a location.
+</p>
+
+<div class="anexample" count="55">
+<p>The following expression describes entity Mona Lisa, a painting, with a location attribute. </p>
+<pre class="codeexample"> entity(ex:MonaLisa, [prov:location="Le Louvres, Paris", prov:type="StillImage"])
+</pre>
+</div>
+</div>
+
+
+
+
+
+
+<div id="term-attribute-role" class="section">
+<h5><span class="secno"><span class="delete">4.7.4.3</span><span class="insert">5.7.4.3</span> </span>prov:role</h5>
+
+<p>The attribute <dfn title="dfn-role" id="dfn-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 <span class="delete">usage, generation,</span><a href="#concept-usage" class="internalDFN"><span class="insert">usage</span></a><span class="insert">, </span><a href="#concept-generation" class="internalDFN"><span class="insert">generation</span></a><span class="insert">,</span>
+ <span class="delete">association,</span><a href="#concept-association-core" class="internalDFN"><span class="insert">association</span></a><span class="insert">,</span> <span class="delete">start,</span><a href="#concept-start" class="internalDFN"><span class="insert">start</span></a><span class="insert">,</span> and <span class="delete">end.</span><a href="#concept-end" class="internalDFN"><span class="insert">end</span></a><span class="insert">.</span> The attribute <span class="name">prov:role</span> is allowed to occur multiple times in a list of attribute-value pairs. The value associated with a <span class="name">prov:role</span> attribute <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value</a>.</p>
+
+<div class="anexample" count="56">
+<p>The following activity is associated with an agent acting as the operator. </p>
+<pre class="codeexample"> wasAssociatedWith(a, ag, [prov:role="operator"])
+</pre>
+</div>
+</div>
+
+<div id="term-attribute-type" class="section">
+<h5><span class="secno"><span class="delete">4.7.4.4</span><span class="insert">5.7.4.4</span> </span>prov:type</h5>
+
+<p>The attribute <dfn title="dfn-type" id="dfn-dfn-type"><span class="name">prov:type</span></dfn> provides further typing information for an element or relation. 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 <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value.</a> The attribute <span class="name">prov:type</span>
+is allowed to occur multiple times.</p>
+
+<div class="anexample" count="57">
+<p>The following describes an agent of type software agent.</p>
+<pre class="codeexample"> agent(ag, <span class="delete">[prov:type="prov:SoftwareAgent" %% xsd:QName])</span><span class="insert">[prov:type='prov:SoftwareAgent' ])</span>
+</pre>
+</div>
+
+<p>The following types are pre-defined in PROV, and are valid values for the <span class="name">prov:type</span> attribute.</p>
+
+
+
+
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="prov-dm-predefined-types"><span class="insert">Table 7: PROV-DM Predefined Types</span></caption>
+<tbody><tr><td><b><span class="insert">Type</span></b></td><td><b><span class="insert">Specification</span></b></td><td><b><span class="insert">Core concept</span></b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+<tr><td><span class="name"><span class="insert">prov:Bundle</span></span></td><td><a title="bundle" href="#concept-bundle" class="internalDFN"><span class="insert">Section 5.5.1</span></a></td><td><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a></td></tr>
+<tr><td><span class="name"><span class="insert">prov:Collection</span></span></td><td><a title="collection" href="#concept-collection" class="internalDFN"><span class="insert">Section 5.6.1</span></a></td><td><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a></td></tr>
+<tr><td><span class="name"><span class="insert">prov:Dictionary</span></span></td><td><a title="dictionary" href="#concept-dictionary" class="internalDFN"><span class="insert">Section 5.6.2</span></a></td><td><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a></td></tr>
+<tr><td><span class="name"><span class="insert">prov:EmptyDictionary</span></span></td><td><a title="empty-dictionary"><span class="insert">Section 5.6.2</span></a></td><td><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a></td></tr>
+<tr><td><span class="name"><span class="insert">prov:HadOriginalSource</span></span></td><td><a title="original source" href="#concept-original-source" class="internalDFN"><span class="insert">Section 5.3.4</span></a></td><td><a href="#concept-derivation" class="internalDFN"><span class="insert">Derivation</span></a></td></tr>
+<tr><td><span class="name"><span class="insert">prov:Organization</span></span></td><td><a title="organization" href="#concept-organization" class="internalDFN"><span class="insert">Section 5.2.1</span></a></td><td><a href="#concept-agent" class="internalDFN"><span class="insert">Agent</span></a></td></tr>
+<tr><td><span class="name"><span class="insert">prov:Person</span></span></td><td><a title="person" href="#concept-person" class="internalDFN"><span class="insert">Section 5.2.1</span></a></td><td><a href="#concept-agent" class="internalDFN"><span class="insert">Agent</span></a></td></tr>
+<tr><td><span class="name">prov:Plan</span>
+
+<span class="delete">prov:Account</span>
+
+</td> <td><a title="plan" href="#concept-plan" class="internalDFN"><span class="insert">Section 5.2.3</span></a></td><td><a href="#concept-entity" class="internalDFN"><span class="insert">Entity</span></a></td></tr>
+<tr><td><span class="name">prov:SoftwareAgent</span>
+
+</td><td><a title="software-agent" href="#concept-software-agent" class="internalDFN"><span class="insert">Section 5.2.1</span></a></td><td><a href="#concept-agent" class="internalDFN"><span class="insert">Agent</span></a></td></tr>
+<tr><td><span class="name"><span class="delete">prov:Organization</span>
+
+<span class="insert">prov:WasQuotedFrom</span></span></td><td><a title="Quotation" href="#concept-quotation" class="internalDFN"><span class="insert">Section 5.3.3</span></a></td><td><a href="#concept-derivation" class="internalDFN"><span class="insert">Derivation</span></a></td></tr>
+<tr><td><span class="name"><span class="delete">prov:Person</span>
+
+<span class="delete">prov:Collection</span>
+
+<span class="delete">prov:Dictionary</span>
+
+<span class="delete">prov:EmptyDictionary</span>
+
+<span class="insert">prov:WasRevisionOf</span></span></td><td><a title="Revision" href="#concept-revision" class="internalDFN"><span class="insert">Section 5.3.2</span></a></td><td><a href="#concept-derivation" class="internalDFN"><span class="insert">Derivation</span></a></td></tr>
+</tbody></table>
+
+</div>
+
+
+<div id="term-attribute-value" class="section">
+<h5><span class="secno"><span class="delete">4.7.4.5</span><span class="insert">5.7.4.5</span> </span>prov:value</h5>
+
+<p>The attribute <dfn title="dfn-value" id="dfn-dfn-value"><span class="name">prov:value</span></dfn> provides a <a title="value" href="#dfn-value" class="internalDFN">Value</a> associated with an entity.</p>
+
+
+<p>The attribute <span class="name">prov:value</span> is an <em class="rfc2119" title="optional">optional</em> attribute of entity. The value associated with the attribute <span class="name">prov:value</span> <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value</a>. The attribute <span class="name">prov:value</span> <em class="rfc2119" title="may">may</em> occur at most once in a set of attribute-value pairs.</p>
+
+<div class="anexample" count="58">
+<p>The following example illustrates the provenance of the number <span class="name">4</span> obtained by an activity that computed the length of an input string <span class="name">"abcd"</span>.
+The input and the output are expressed as entities <span class="name">ex:in</span> and <span class="name">ex:out</span>, respectively. They each have a <span class="name">prov:value</span> attribute associated with the corresponding value.
+</p>
+<pre class="codeexample">entity(ex:in, [prov:value="abcd"])
+entity(ex:out, [prov:value=4])
+activity(ex:len, [prov:type="string-length"])
+used(ex:len,ex:in)
+wasGeneratedBy(ex:out,ex:len)
+wasDerivedFrom(ex:out,ex:in)
+</pre>
+</div>
+
+<div class="note">Should we also have prov:encoding?</div>
+
+</div>
+
+
+
+
+
+
+
+
+
+
+<div id="term-attribute-provenance-uri" class="section">
+<h5><span class="secno"><span class="insert">5.7.4.6 </span></span><span class="insert">prov:provenance-uri</span></h5>
+
+
+<p><span class="insert"> The attribute </span><dfn title="dfn-provenance-uri" id="dfn-dfn-provenance-uri"><span class="name"><span class="insert">prov:provenance-uri</span></span></dfn><span class="insert"> provides
+ an </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert"> IRI in the context of a </span><a href="#concept-provenance-locator" class="internalDFN"><span class="insert">Provenance Locator</span></a><span class="insert">; when this IRI is dereferenced, it allows access to provenance descriptions. It is referred to as </span><a href="http://www.w3.org/TR/prov-aq/#dfn-provenance-uri"><span class="insert">Provenance-URI</span></a><span class="insert"> in [</span><cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ"><span class="insert">PROV-AQ</span></a></cite><span class="insert">]. </span></p>
+
+
+<p><span class="insert">The attributes </span><a href="#term-attribute-service-uri"><span class="name"><span class="insert">prov:service-uri</span></span></a><span class="insert">
+and
+</span><a href="#term-attribute-provenance-uri"><span class="name"><span class="insert">prov:provenance-uri</span></span></a><span class="insert"> are mutually exclusive.</span></p>
+
+
+<div class="anexample" id="anexample-provenance-uri" count="59">
+<p><span class="insert">According to the following provenance locator, provenance descriptions about </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> can be found in bundle </span><span class="name"><span class="insert">bob:bundle1</span></span><span class="insert">, which is available from the provenance service identified by the provided URI.</span></p>
+<pre class="codeexample"><span class="insert">
+hasProvenanceIn(ex:report1, bob:bundle1, -, [ prov:provenance-uri="http://example.com/service" %% xsd:anyURI ])
+</span></pre>
+</div>
+
+
+
+</div>
+
+
+<div id="term-attribute-service-uri" class="section">
+<h5><span class="secno"><span class="insert">5.7.4.7 </span></span><span class="insert">prov:service-uri</span></h5>
+
+<p><span class="insert"> The attribute </span><dfn title="dfn-service-uri" id="dfn-dfn-service-uri"><span class="name"><span class="insert">prov:service-uri</span></span></dfn><span class="insert"> provides
+ an </span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert"> IRI in the context of a </span><a href="#concept-provenance-locator" class="internalDFN"><span class="insert">Provenance Locator</span></a><span class="insert">; this IRI denotes a </span><a href="http://www.w3.org/TR/prov-aq/#dfn-provenance-service"><span class="insert">provenance service</span></a><span class="insert"> from which provenance can be retrieved. It is referred to as </span><a href="http://www.w3.org/TR/prov-aq/#dfn-service-uri"><span class="insert">Service-URI</span></a><span class="insert"> in [</span><cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ"><span class="insert">PROV-AQ</span></a></cite><span class="insert">].</span></p>
+
+
+<p><span class="insert">The attributes </span><a href="#term-attribute-service-uri"><span class="name"><span class="insert">prov:service-uri</span></span></a><span class="insert">
+and
+</span><a href="#term-attribute-provenance-uri"><span class="name"><span class="insert">prov:provenance-uri</span></span></a><span class="insert"> are mutually exclusive.</span></p>
+
+
+<div class="anexample" id="anexample-service-uri" count="60">
+<p><span class="insert">According to the following provenance locator, provenance descriptions about </span><span class="name"><span class="insert">ex:report1</span></span><span class="insert"> can be found in the resource identified by the provided URI.</span></p>
+<pre class="codeexample"><span class="insert">
+hasProvenanceIn(ex:report1, [ prov:service=uri="http://example.com/some-provenance.pn" %% xsd:anyURI ])
+</span></pre>
+</div>
+
+</div>
+
+
+
+
+</div>
+
+<div id="term-value" class="section">
+<h4><span class="secno"><span class="delete">4.7.5</span><span class="insert">5.7.5</span> </span>Value</h4>
+
+<p>
+By means of attribute-value pairs, the PROV data model can refer to <dfn title="value" id="dfn-value">values</dfn> such as strings, numbers, time, qualified names, and IRIs.
+The interpretation of such values is outside the scope of PROV-DM.</p>
+<p>Each kind of such values is called a <em>datatype</em>. The datatypes are taken from
+the set of XML Schema Datatypes, version 1.1 [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>] and the RDF specification [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-CONCEPTS">RDF-CONCEPTS</a></cite>]. The normative definitions of these datatypes are provided by the respective specifications.
+Each datatype is identified by its XML <a href="http://www.w3.org/TR/xmlschema-2/#QName">xsd:QName</a>.</p>
+
+<p>
+</p>
+
+<p>We note that PROV-DM <dfn title="dfn-time" id="dfn-dfn-time">time instants</dfn> are defined according to xsd:dateTime [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>].</p>
+
+
+
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="prov-dm-data-types">Table <span class="delete">6:</span><span class="insert">8:</span> PROV-DM Data Types</caption>
+<tbody><tr><td><a href="http://www.w3.org/TR/xmlschema-2/#decimal">xsd:decimal</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#double">xsd:double</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#integer">xsd:integer</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#float">xsd:float</a></td><td><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-XMLLiteral"><span class="insert">rdf:XMLLiteral</span></a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger">xsd:nonNegativeInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a></td> <td><span class="delete">rdf:XMLLiteral</span><a href="http://www.w3.org/TR/prov-n/#prod-QUALIFIED_NAME"><span class="insert">prov:QUALIFIED_NAME</span></a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger">xsd:nonPositiveInteger</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#normalizedString">xsd:normalizedString</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#positiveInteger">xsd:positiveInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#negativeInteger">xsd:negativeInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#language">xsd:language</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#long">xsd:long</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#Name">xsd:Name</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#int">xsd:int</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#NCName">xsd:NCName</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#short">xsd:short</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#NMTOKEN">xsd:NMTOKEN</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#byte">xsd:byte</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#boolean">xsd:boolean</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedLong">xsd:unsignedLong</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#hexBinary">xsd:hexBinary</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedInt">xsd:unsignedInt</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#base64Binary">xsd:base64Binary</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedShort">xsd:unsignedShort</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedByte">xsd:unsignedByte</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#QName">xsd:QName</a></td><td></td></tr>
+</tbody></table>
+
+
+
+
+
+
+<div class="anexample" id="anexample-value" count="61">
+<p>
+The following examples respectively are the string "abc", the integer number 1, and the IRI "http://example.org/foo".
+</p><pre class="codeexample"> "abc"
+ 1
+ "http://example.org/foo" %% xsd:anyURI
+</pre>
+<p>The following example shows a value of type <span class="name">xsd:QName</span> (see
+<a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#QName">QName</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>]).
+The prefix <span class="name">ex</span> <em class="rfc2119" title="must">must</em> be bound to a <a href="#dfn-namespace" class="internalDFN">namespace</a> declared in a <a href="#dfn-namespaceDeclaration" class="internalDFN">namespace declaration</a>.</p>
+<pre class="codeexample">
+ "ex:value" %% xsd:QName
+</pre>
+</div>
+
+
+
+<div class="anexample" id="anexample-time" count="62">
+<p>
+In the following example, the generation time of entity <span class="name">e1</span> is expressed according to
+<a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>].</p>
+<pre class="codeexample">
+ wasGeneratedBy(e1,a1, 2001-10-26T21:32:52)
+</pre>
+</div>
+
+<div class="note">
+We need to check that we are including all xsd types that are the latest versions of XML Schema/RDF.
+</div>
+</div>
+</div>
+
+
+
+</div>
+
+
+
+
+ <div id="extensibility-section" class="section">
+<h2><span class="secno"><span class="delete">5.</span><span class="insert">6.</span> </span>PROV-DM Extensibility Points</h2>
+
+
+<p>The PROV data model provides extensibility points that allow designers to specialize it <span class="delete">to</span><span class="insert">for</span> specific applications or domains. We summarize these extensibility points here:
+
+</p><ul>
+<li> Attribute-value lists occur in all types and relations of the data model. Applications designers are free to introduce further application-specific attributes. Attributes for a given application can be distinguished by qualifying them with a prefix denoting a namespace
+declared in a namespace declaration.
+
+<p>The <a title="prov-namespace" href="#dfn-prov-namespace" class="internalDFN">PROV namespace</a> declares a set of reserved attributes catering for extensibility: <a href="#term-attribute-type"><span class="name">prov:type</span></a>, <a href="#term-attribute-role"><span class="name">prov:role</span></a>, <a href="#term-attribute-location"><span class="name">prov:location</span></a>.</p></li>
+
+<li>Sub-types and sub-relations can be expressed by means of the reserved attribute
+<a href="#term-attribute-type"><span class="name">prov:type</span></a>.
+
+<div class="anexample" id="anexample-sub-relation" count="63">
+<p>
+In the following example, <span class="name">e2</span> is a translation of <span class="name">e1</span>,
+expressed as a sub-type of derivation.
+</p><pre class="codeexample">
+ wasDerivedFrom(e2,e1, <span class="delete">[prov:type="ex:Translation" %% xsd:QName])</span><span class="insert">[prov:type='ex:Translation' ])</span>
+</pre>
+</div>
+
+<div class="anexample" id="anexample-sub-type" count="64">
+<p>
+In the following example, <span class="name">e</span> is described as a Car, a type of entity.
+</p><pre class="codeexample">
+ entity(e, <span class="delete">[prov:type="ex:Car" %% xsd:QName])</span><span class="insert">[prov:type='ex:Car' ])</span>
+</pre>
+</div>
+
+
+
+
+</li>
+
+
+
+
+
+<li>New namespaces and associated prefixes can be declared, allowing attributes and names to be qualified. </li>
+
+<li>Notes allow arbitrary metadata to be associated with anything identifiable in PROV-DM. Notes consist of attribute-value pairs. Attributes are qualified by a
+namespace.</li>
+
+</ul>
+
+<p>The PROV data model is designed to be application and technology independent, but specializations of PROV-DM are welcome and encouraged. To ensure interoperability, specializations of
+the PROV data model that exploit the extensibility points summarized in this section <em class="rfc2119" title="must">must</em> preserve the semantics specified in this document and in [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>]. </p>
+
+
+
+ </div>
+
+
+
+<div id="valid-provenance" class="section">
+<h2><span class="secno"><span class="delete">6.</span><span class="insert">7.</span> </span>Creating Valid Provenance</h2>
+
+
+<ul>
+
+<li>This specification defines PROV-DM, a data model that allows
+descriptions of the people, institutions, entities, and activities,
+involved in producing, influencing, or delivering a piece of data or a
+thing to be expressed. However, with this data model, it is also possible to compose
+descriptions that would not make sense: for instance, one could
+express that an entity was used before it was generated, or that the
+activity that generated an entity began its existence after the entity
+generation. A set of constraints have been defined for PROV-DM and
+can be found in a companion specification [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].
+They <em class="rfc2119" title="should">should</em> be used by developers to compose provenance descriptions that are valid, and
+by implementers of reasoning engines aiming to check whether provenance descriptions have problems. </li>
+
+
+
+<li>
+<p> The example of <a href="#prov-dm-example">section 3</a> contains identifiers such as <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span>, which denotes a specific version of a technical report. On the other hand, a URI such as <a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a> denotes the latest version of a document. One needs to ensure that provenance descriptions for the latter resource remain valid as the resource state changes. </p>
+
+<p>To this end, PROV-DM allows asserters to describe "<em>partial states</em>" of entities by means of attributes and associated values. Some further constraints apply to the use of these attributes, since the values associated with them are expected to remain unchanged for some period of time. The constraints associated to attributes allow provenance descriptions to be refined, they can also be found in the companion specification [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].</p>
+
+
+</li>
+
+
+<li>
+<p>The idea of bundling provenance descriptions is crucial to the PROV approach. Indeed, it allows multiple provenance perspectives to be provided for a given entity. It is also the mechanism by which provenance of provenance can be expressed.<span class="delete"> Such a named bundle is referred</span><span class="insert">
+Descriptions in bundles are expected</span> to <span class="delete">as an </span><span class="delete">account</span><span class="delete"> and is regarded as an </span><span class="delete">Account</span><span class="delete"> so that its provenance can be expressed. The notion of account is</span><span class="insert">satisfy constraints</span> specified in the companion specification [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite><span class="delete">], as well as the constraints that </span><span class="delete">structurally well-formed</span><span class="delete"> descriptions </span><span class="delete">should</span><span class="delete"> satisfy.</span><span class="insert">].</span></p>
+</li>
+
+
+</ul>
+
+
+</div>
+
+
+
+<div class="appendix section" id="acknowledgements">
+ <h2><span class="secno">A. </span>Acknowledgements</h2>
+ <p>
+ WG membership to be listed here.
+ </p>
+ </div>
+
+
+
+<div id="references" class="appendix section"><h2><span class="secno">B. </span>References</h2><div id="normative-references" class="section"><h3><span class="secno">B.1 </span>Normative references</h3><dl class="bibliography"><dt id="bib-IRI">[IRI]</dt><dd>M. Duerst, M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRI).</cite></a> January 2005. Internet RFC 3987. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3987.txt</a>
+</dd><dt id="bib-RDF-CONCEPTS">[RDF-CONCEPTS]</dt><dd>Graham Klyne; Jeremy J. Carroll. <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210"><cite>Resource Description Framework (RDF): Concepts and Abstract Syntax.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210">http://www.w3.org/TR/2004/REC-rdf-concepts-20040210</a>
+</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd>S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119. URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
+</dd><dt id="bib-UML"><span class="insert">[UML]</span></dt><dd><span class="insert">Object Management Group </span><a href="http://www.omg.org/spec/UML/2.0/Superstructure/PDF/"><cite><span class="insert">Unified Modeling Language: Superstructure</span></cite></a><span class="insert">. version 2.0, 2005URL: </span><a href="http://www.omg.org/spec/UML/2.0/Superstructure/PDF/"><span class="insert">http://www.omg.org/spec/UML/2.0/Superstructure/PDF/</span></a>
+</dd><dt id="bib-URI">[URI]</dt><dd>T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifiers (URI): generic syntax.</cite></a> January 2005. Internet RFC 3986. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>
+</dd><dt id="bib-XMLSCHEMA-2">[XMLSCHEMA-2]</dt><dd>Paul V. Biron; Ashok Malhotra. <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/"><cite>XML Schema Part 2: Datatypes Second Edition.</cite></a> 28 October 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/</a>
+</dd></dl></div><div id="informative-references" class="section"><h3><span class="secno">B.2 </span>Informative references</h3><dl class="bibliography"><dt id="bib-Logic">[Logic]</dt><dd>W. E. Johnson<a href="http://www.ditext.com/johnson/intro-3.html"><cite>Logic: Part III</cite></a>.1924. URL: <a href="http://www.ditext.com/johnson/intro-3.html">http://www.ditext.com/johnson/intro-3.html</a>
+</dd><dt id="bib-PROV-AQ">[PROV-AQ]</dt><dd>Graham Klyne and Paul Groth (eds.) Luc Moreau, Olaf Hartig, Yogesh Simmhan, James Meyers, Timothy Lebo, Khalid Belhajjame, and Simon Miles <a href="http://www.w3.org/TR/prov-aq/"><cite>Provenance Access and Query</cite></a>. 2011, Working Draft. URL: <a href="http://www.w3.org/TR/prov-aq/">http://www.w3.org/TR/prov-aq/</a>
+</dd><dt id="bib-PROV-CONSTRAINTS">[PROV-CONSTRAINTS]</dt><dd>James Cheney, Paolo Missier, and Luc Moreau (eds.) <a href="http://www.w3.org/TR/prov-constraints/"><cite>Constraints of the PROV Data Model</cite></a>. 2011, Working Draft. URL: <a href="http://www.w3.org/TR/prov-constraints/">http://www.w3.org/TR/prov-constraints/</a>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau and Paolo Missier (eds.) <a href="http://www.w3.org/TR/prov-n/"><cite>PROV-N: The Provenance Notation</cite></a>. 2011, Working Draft. URL: <a href="http://www.w3.org/TR/prov-n/">http://www.w3.org/TR/prov-n/
+<span class="delete">[PROV-O]</span><span class="delete">Satya Sahoo and Deborah McGuinness (eds.) Khalid Belhajjame, James Cheney, Daniel Garijo, Timothy Lebo, Stian Soiland-Reyes, and Stephan Zednik </span><span class="delete">Provenance Formal Model</span><span class="delete">. 2011, Working Draft. URL: </span><span class="delete">http://www.w3.org/TR/prov-o/</span>
+<span class="delete">[PROV-PRIMER]</span><span class="delete">Yolanda Gil and Simon Miles (eds.) Khalid Belhajjame, Helena Deus, Daniel Garijo, Graham Klyne, Paolo Missier, Stian Soiland-Reyes, and Stephan Zednik </span><span class="delete">Prov Model Primer</span><span class="delete">. 2011, Working Draft. URL: </span><span class="delete">http://www.w3.org/TR/prov-primer/</span>
+<span class="delete">[PROV-SEM]</span><span class="delete">James Cheney </span><span class="delete">Formal Semantics Strawman</span><span class="delete">. 2011, Work in progress. URL: </span><span class="delete">http://www.w3.org/2011/prov/wiki/FormalSemanticsStrawman</span></a>
+</dd></dl></div></div></body></html>
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/model/releases/ED-prov-dm-20120525/prov-dm.html Fri May 25 10:51:50 2012 +0100
@@ -0,0 +1,3974 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html lang="en" dir="ltr">
+<head>
+ <title>PROV-DM: The PROV Data Model</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <!--
+ === NOTA BENE ===
+ For the three scripts below, if your spec resides on dev.w3 you can check them
+ out in the same tree and use relative links so that they'll work offline,
+ -->
+
+<!-- see http://www.somacon.com/p141.php for table configuration -->
+ <style type="text/css">
+ .note { font-size:small; margin-left:50px }
+
+table.thinborder {
+ border-width: 1px;
+ border-spacing: 0px;
+ border-style: none;
+ border-color: gray;
+ border-collapse: collapse;
+}
+table.thinborder th {
+ border-width: 1px;
+ padding: 0px;
+ border-style: solid;
+ border-color: gray;
+ -moz-border-radius: ;
+}
+table.thinborder td {
+ border-width: 1px;
+ padding: 2px;
+ border-style: solid;
+ border-color: gray;
+ -moz-border-radius: ;
+}
+</style>
+
+
+
+
+
+
+
+
+
+
+ <style type="text/css">
+/*****************************************************************
+ * ReSpec CSS
+ * Robin Berjon (robin at berjon dot com)
+ * v0.05 - 2009-07-31
+ *****************************************************************/
+
+
+/* --- INLINES --- */
+em.rfc2119 {
+ text-transform: lowercase;
+ font-variant: small-caps;
+ font-style: normal;
+ color: #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+ border: none;
+}
+
+dfn {
+ font-weight: bold;
+}
+
+a.internalDFN {
+ color: inherit;
+ border-bottom: 1px solid #99c;
+ text-decoration: none;
+}
+
+a.externalDFN {
+ color: inherit;
+ border-bottom: 1px dotted #ccc;
+ text-decoration: none;
+}
+
+a.bibref {
+ text-decoration: none;
+}
+
+code {
+ color: #ff4500;
+}
+
+
+/* --- WEB IDL --- */
+pre.idl {
+ border-top: 1px solid #90b8de;
+ border-bottom: 1px solid #90b8de;
+ padding: 1em;
+ line-height: 120%;
+}
+
+pre.idl::before {
+ content: "WebIDL";
+ display: block;
+ width: 150px;
+ background: #90b8de;
+ color: #fff;
+ font-family: initial;
+ padding: 3px;
+ font-weight: bold;
+ margin: -1em 0 1em -1em;
+}
+
+.idlType {
+ color: #ff4500;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+/*.idlModule*/
+/*.idlModuleID*/
+/*.idlInterface*/
+.idlInterfaceID, .idlDictionaryID {
+ font-weight: bold;
+ color: #005a9c;
+}
+
+.idlSuperclass {
+ font-style: italic;
+ color: #005a9c;
+}
+
+/*.idlAttribute*/
+.idlAttrType, .idlFieldType, .idlMemberType {
+ color: #005a9c;
+}
+.idlAttrName, .idlFieldName, .idlMemberName {
+ color: #ff4500;
+}
+.idlAttrName a, .idlFieldName a, .idlMemberName a {
+ color: #ff4500;
+ border-bottom: 1px dotted #ff4500;
+ text-decoration: none;
+}
+
+/*.idlMethod*/
+.idlMethType {
+ color: #005a9c;
+}
+.idlMethName {
+ color: #ff4500;
+}
+.idlMethName a {
+ color: #ff4500;
+ border-bottom: 1px dotted #ff4500;
+ text-decoration: none;
+}
+
+/*.idlParam*/
+.idlParamType {
+ color: #005a9c;
+}
+.idlParamName {
+ font-style: italic;
+}
+
+.extAttr {
+ color: #666;
+}
+
+/*.idlConst*/
+.idlConstType {
+ color: #005a9c;
+}
+.idlConstName {
+ color: #ff4500;
+}
+.idlConstName a {
+ color: #ff4500;
+ border-bottom: 1px dotted #ff4500;
+ text-decoration: none;
+}
+
+/*.idlException*/
+.idlExceptionID {
+ font-weight: bold;
+ color: #c00;
+}
+
+.idlTypedefID, .idlTypedefType {
+ color: #005a9c;
+}
+
+.idlRaises, .idlRaises a.idlType, .idlRaises a.idlType code, .excName a, .excName a code {
+ color: #c00;
+ font-weight: normal;
+}
+
+.excName a {
+ font-family: monospace;
+}
+
+.idlRaises a.idlType, .excName a.idlType {
+ border-bottom: 1px dotted #c00;
+}
+
+.excGetSetTrue, .excGetSetFalse, .prmNullTrue, .prmNullFalse, .prmOptTrue, .prmOptFalse {
+ width: 45px;
+ text-align: center;
+}
+.excGetSetTrue, .prmNullTrue, .prmOptTrue { color: #0c0; }
+.excGetSetFalse, .prmNullFalse, .prmOptFalse { color: #c00; }
+
+.idlImplements a {
+ font-weight: bold;
+}
+
+dl.attributes, dl.methods, dl.constants, dl.fields, dl.dictionary-members {
+ margin-left: 2em;
+}
+
+.attributes dt, .methods dt, .constants dt, .fields dt, .dictionary-members dt {
+ font-weight: normal;
+}
+
+.attributes dt code, .methods dt code, .constants dt code, .fields dt code, .dictionary-members dt code {
+ font-weight: bold;
+ color: #000;
+ font-family: monospace;
+}
+
+.attributes dt code, .fields dt code, .dictionary-members dt code {
+ background: #ffffd2;
+}
+
+.attributes dt .idlAttrType code, .fields dt .idlFieldType code, .dictionary-members dt .idlMemberType code {
+ color: #005a9c;
+ background: transparent;
+ font-family: inherit;
+ font-weight: normal;
+ font-style: italic;
+}
+
+.methods dt code {
+ background: #d9e6f8;
+}
+
+.constants dt code {
+ background: #ddffd2;
+}
+
+.attributes dd, .methods dd, .constants dd, .fields dd, .dictionary-members dd {
+ margin-bottom: 1em;
+}
+
+table.parameters, table.exceptions {
+ border-spacing: 0;
+ border-collapse: collapse;
+ margin: 0.5em 0;
+ width: 100%;
+}
+table.parameters { border-bottom: 1px solid #90b8de; }
+table.exceptions { border-bottom: 1px solid #deb890; }
+
+.parameters th, .exceptions th {
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+ font-family: initial;
+ font-weight: normal;
+ text-shadow: #666 1px 1px 0;
+}
+.parameters th { background: #90b8de; }
+.exceptions th { background: #deb890; }
+
+.parameters td, .exceptions td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+ vertical-align: top;
+}
+
+.parameters tr:first-child td, .exceptions tr:first-child td {
+ border-top: none;
+}
+
+.parameters td.prmName, .exceptions td.excName, .exceptions td.excCodeName {
+ width: 100px;
+}
+
+.parameters td.prmType {
+ width: 120px;
+}
+
+table.exceptions table {
+ border-spacing: 0;
+ border-collapse: collapse;
+ width: 100%;
+}
+
+/* --- TOC --- */
+.toc a {
+ text-decoration: none;
+}
+
+a .secno {
+ color: #000;
+}
+
+/* --- TABLE --- */
+table.simple {
+ border-spacing: 0;
+ border-collapse: collapse;
+ border-bottom: 3px solid #005a9c;
+}
+
+.simple th {
+ background: #005a9c;
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+}
+
+.simple th[scope="row"] {
+ background: inherit;
+ color: inherit;
+ border-top: 1px solid #ddd;
+}
+
+.simple td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+ background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+ margin-top: 0;
+}
+
+.section dd > p:last-child {
+ margin-bottom: 0;
+}
+
+.section dd {
+ margin-bottom: 1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+ margin-bottom: 0;
+}
+
+/* --- EXAMPLES --- */
+pre.example {
+ border-top: 1px solid #ff4500;
+ border-bottom: 1px solid #ff4500;
+ padding: 1em;
+ margin-top: 1em;
+}
+
+pre.example::before {
+ content: "Example";
+ display: block;
+ width: 150px;
+ background: #ff4500;
+ color: #fff;
+ font-family: initial;
+ padding: 3px;
+ font-weight: bold;
+ margin: -1em 0 1em -1em;
+}
+
+/* --- EDITORIAL NOTES --- */
+.issue {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #ffc;
+}
+
+.issue::before {
+ content: "Issue";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.note {
+ margin: 1em 0em 0em;
+ padding: 1em;
+ border: 2px solid #cff6d9;
+ background: #e2fff0;
+}
+
+.note::before {
+ content: "Note";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #cff6d9;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+/* --- Best Practices --- */
+div.practice {
+ border: solid #bebebe 1px;
+ margin: 2em 1em 1em 2em;
+}
+
+span.practicelab {
+ margin: 1.5em 0.5em 1em 1em;
+ font-weight: bold;
+ font-style: italic;
+}
+
+span.practicelab { background: #dfffff; }
+
+span.practicelab {
+ position: relative;
+ padding: 0 0.5em;
+ top: -1.5em;
+}
+
+p.practicedesc {
+ margin: 1.5em 0.5em 1em 1em;
+}
+
+@media screen {
+ p.practicedesc {
+ position: relative;
+ top: -2em;
+ padding: 0;
+ margin: 1.5em 0.5em -1em 1em;
+ }
+}
+
+/* --- SYNTAX HIGHLIGHTING --- */
+pre.sh_sourceCode {
+ background-color: white;
+ color: black;
+ font-style: normal;
+ font-weight: normal;
+}
+
+pre.sh_sourceCode .sh_keyword { color: #005a9c; font-weight: bold; } /* language keywords */
+pre.sh_sourceCode .sh_type { color: #666; } /* basic types */
+pre.sh_sourceCode .sh_usertype { color: teal; } /* user defined types */
+pre.sh_sourceCode .sh_string { color: red; font-family: monospace; } /* strings and chars */
+pre.sh_sourceCode .sh_regexp { color: orange; font-family: monospace; } /* regular expressions */
+pre.sh_sourceCode .sh_specialchar { color: #ffc0cb; font-family: monospace; } /* e.g., \n, \t, \\ */
+pre.sh_sourceCode .sh_comment { color: #A52A2A; font-style: italic; } /* comments */
+pre.sh_sourceCode .sh_number { color: purple; } /* literal numbers */
+pre.sh_sourceCode .sh_preproc { color: #00008B; font-weight: bold; } /* e.g., #include, import */
+pre.sh_sourceCode .sh_symbol { color: blue; } /* e.g., *, + */
+pre.sh_sourceCode .sh_function { color: black; font-weight: bold; } /* function calls and declarations */
+pre.sh_sourceCode .sh_cbracket { color: red; } /* block brackets (e.g., {, }) */
+pre.sh_sourceCode .sh_todo { font-weight: bold; background-color: #00FFFF; } /* TODO and FIXME */
+
+/* Predefined variables and functions (for instance glsl) */
+pre.sh_sourceCode .sh_predef_var { color: #00008B; }
+pre.sh_sourceCode .sh_predef_func { color: #00008B; font-weight: bold; }
+
+/* for OOP */
+pre.sh_sourceCode .sh_classname { color: teal; }
+
+/* line numbers (not yet implemented) */
+pre.sh_sourceCode .sh_linenum { display: none; }
+
+/* Internet related */
+pre.sh_sourceCode .sh_url { color: blue; text-decoration: underline; font-family: monospace; }
+
+/* for ChangeLog and Log files */
+pre.sh_sourceCode .sh_date { color: blue; font-weight: bold; }
+pre.sh_sourceCode .sh_time, pre.sh_sourceCode .sh_file { color: #00008B; font-weight: bold; }
+pre.sh_sourceCode .sh_ip, pre.sh_sourceCode .sh_name { color: #006400; }
+
+/* for Prolog, Perl... */
+pre.sh_sourceCode .sh_variable { color: #006400; }
+
+/* for LaTeX */
+pre.sh_sourceCode .sh_italics { color: #006400; font-style: italic; }
+pre.sh_sourceCode .sh_bold { color: #006400; font-weight: bold; }
+pre.sh_sourceCode .sh_underline { color: #006400; text-decoration: underline; }
+pre.sh_sourceCode .sh_fixed { color: green; font-family: monospace; }
+pre.sh_sourceCode .sh_argument { color: #006400; }
+pre.sh_sourceCode .sh_optionalargument { color: purple; }
+pre.sh_sourceCode .sh_math { color: orange; }
+pre.sh_sourceCode .sh_bibtex { color: blue; }
+
+/* for diffs */
+pre.sh_sourceCode .sh_oldfile { color: orange; }
+pre.sh_sourceCode .sh_newfile { color: #006400; }
+pre.sh_sourceCode .sh_difflines { color: blue; }
+
+/* for css */
+pre.sh_sourceCode .sh_selector { color: purple; }
+pre.sh_sourceCode .sh_property { color: blue; }
+pre.sh_sourceCode .sh_value { color: #006400; font-style: italic; }
+
+/* other */
+pre.sh_sourceCode .sh_section { color: black; font-weight: bold; }
+pre.sh_sourceCode .sh_paren { color: red; }
+pre.sh_sourceCode .sh_attribute { color: #006400; }
+
+</style><style type="text/css">
+/* --- EDITORIAL NOTES --- */
+.component1-color {
+ background-color: rgba(255,42,42,0.2);
+}
+
+.component2-color {
+ background-color: rgba(0,68,170,0.2);
+}
+
+.component3-color {
+ background-color: rgba(0,170,0,0.2);
+}
+.component4-color {
+ background-color: rgba(204,255,0,0.2);
+}
+
+.component6-color {
+ background-color: rgba(11,40,40,0.2);
+}
+
+.component5-color {
+ background-color: rgba(244,105,14,0.2);
+}
+
+.pending {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #BFEFFF;
+}
+
+.pending::before {
+ content: "Pending Review";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.resolved {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #9BCD9B;
+}
+
+.resolved::before {
+ content: "Resolved";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.inference {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.inference[id]::before {
+ content: "Inference: " attr(id);
+ width: 380px; /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.inference::before {
+ content: "Inference";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.syntax {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.syntax[id]::before {
+ content: "Syntax: " attr(id);
+ width: 380px; /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.syntax::before {
+ content: "Syntax";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.unamedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+
+.unamedconstraint::before {
+ content: "Constraint";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+.constraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.constraint[id]::before {
+ content: "Constraint: " attr(id);
+ width: 380px; /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.constraint::before {
+ content: "Constraint";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+.interpretation {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.interpretation[id]::before {
+ content: "Interpretation: " attr(id);
+ width: 380px; /* How can we compute the length of "Interpretation: " attr(id) */
+}
+
+
+.interpretation::before {
+ content: "Interpretation";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.definition {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #777;
+ background: #fff;
+}
+
+.definition[id]::before {
+ content: "Definition: " attr(id);
+ width: 380px;
+}
+
+
+.definition::before {
+ content: "Definition";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #000;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.deprecatedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.deprecatedconstraint[id]::before {
+ content: "Deprecated: " attr(id);
+ width: 380px; /* How can we compute the length of "Deprecatedconstraint: " attr(id) */
+}
+
+
+.deprecatedconstraint::before {
+ content: "Deprecated";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.glossary-ref {
+ font-style: italic;
+}
+
+.dfn {
+ font-weight: bold;
+}
+
+
+.attribute {
+ font-style: italic;
+}
+
+
+.conditional {
+ color: blue;
+}
+
+.grammar {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ font-size: 80%;
+}
+.nonterminal {
+ font-weight: bold;
+ font-family: sans-serif;
+ font-size: 95%;
+}
+
+.name {
+ font-family: monospace;
+}
+
+
+.xmpl {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.xmpl::before {
+ content: "Example";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.anexample[count]::before {
+ content: "Example " attr(count) ;
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+
+.anexample:before {
+ content: "Example:";
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+.anexample {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ background-color: #f9f9f9;
+}
+.anexample table {
+ background-color: #f9f9f9;
+}
+
+.pnExpression {
+ font-weight: normal;
+ font-size:120%;
+ font-family: monospace;
+}
+
+
+div[class="grammar"] span[class="name"]:before {
+ content: "'";
+}
+
+div[class="grammar"] span[class="name"]:after {
+ content: "'";
+}
+
+
+div[class="grammar"] span[class="optional"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="optional"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")?";
+}
+
+
+div[class="grammar"] span[class="plus"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="plus"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")+";
+}
+
+
+div[class="grammar"] span[class="star"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="star"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")*";
+}
+
+div[class="grammar"] span[class="choice"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="choice"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+div[class="grammar"] span[class="group"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="group"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+table {
+ background-color: #f9f9f9;
+}
+
+
+.interpretation-forward::before {
+ content: "Interpretation: ";
+ font-weight: bold;
+}
+
+.structural-forward::before {
+ content: "Structural constraint: ";
+ font-weight: bold;
+}
+
+.essential {
+ font-weight: bold;
+}
+
+.provType::before {
+}
+
+</style><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css" charset="utf-8"></head>
+ <body style="display: inherit; "><div class="head"><p><a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a></p><h1 class="title" id="title">PROV-DM: The PROV Data Model</h1><h2 id="subtitle">working towards WD6 (<a href="diff.html">Diffs since last release</a>)</h2><h2 id="w3c-editor-s-draft-25-may-2012"><acronym title="World Wide Web Consortium">W3C</acronym> Editor's Draft 25 May 2012</h2><dl><dt>This version:</dt><dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html">http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html</a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html">http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html</a></dd><dt>Previous version:</dt><dd><a href="http://www.w3.org/TR/2012/WD-prov-dm-20120503/">http://www.w3.org/TR/2012/WD-prov-dm-20120503/</a></dd><dt>Editors:</dt><dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd>
+<dd><a href="http://www.cs.ncl.ac.uk/people/Paolo.Missier">Paolo Missier</a>, Newcastle University</dd>
+<dt>Authors:</dt><dd><a href="http://semanticweb.org/wiki/Khalid_Belhajjame">Khalid Belhajjame</a>, University of Manchester</dd>
+<dd><span>Reza B'Far</span>, Oracle Corporation</dd>
+<dd><span>Stephen Cresswell</span>, legislation.gov.uk</dd>
+<dd><a href="http://www.isi.edu/~gil/">Yolanda Gil</a>, Invited Expert</dd>
+<dd><a href="http://www.few.vu.nl/~pgroth/">Paul Groth</a>, VU University of Amsterdam</dd>
+<dd><span>Graham Klyne</span>, University of Oxford</dd>
+<dd><a href="http://tw.rpi.edu/web/person/JamesMcCusker">Jim McCusker</a>, Rensselaer Polytechnic Institute</dd>
+<dd><a href="http://www.inf.kcl.ac.uk/staff/simonm/">Simon Miles</a>, Invited Expert</dd>
+<dd><a href="http://www.rpi.edu/research/ccni/">James Myers</a>, Rensselaer Polytechnic Institute</dd>
+<dd><a href="http://cci.case.edu/cci/index.php/Satya_Sahoo">Satya Sahoo</a>, Case Western Reserve University</dd>
+<dd><span>Curt Tilmes</span>, National Aeronautics and Space Administration</dd>
+</dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2011-2012 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. <acronym title="World Wide Web Consortium">W3C</acronym> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p><hr></div>
+
+ <div id="abstract" class="introductory section"><h2>Abstract</h2>
+<p>
+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
+extended structures catering for more advanced uses of provenance.
+PROV-DM is organized in six components, respectively dealing with:
+(1) entities and activities, and the time at which they were created, used, or ended;
+(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) a notion of bundle, a mechanism to support provenance of provenance; and,
+(6) collections forming a logical structure for its members.
+</p>
+
+<p>This document introduces the provenance concepts found in
+PROV and defines PROV-DM types and
+relations. PROV data model is domain-agnostic, but is equipped with
+extensibility points allowing domain-specific information to be included. </p>
+
+<p>Two further documents complete the specification of PROV-DM.
+First, a companion document specifies the set of constraints that
+provenance descriptions should follow. Second,
+a separate document describes a provenance notation for expressing
+instances of provenance for human consumption; this notation is used in examples in
+this document. </p>
+
+ </div><div id="sotd" class="introductory section"><h2>Status of This Document</h2><p><em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current <acronym title="World Wide Web Consortium">W3C</acronym> publications and the latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><acronym title="World Wide Web Consortium">W3C</acronym> technical reports index</a> at http://www.w3.org/TR/.</em></p>
+<h4 id="intended-to-be-last-call--tbc">Intended to be Last Call (TBC)</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 id="please-comment-by--date-tbd">Please Comment By (date TBD)</h4>
+<p>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 id="prov-family-of-specifications">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:
+<ul>
+<li> PROV-DM, the PROV data model for provenance (this document);</li>
+<li> PROV-CONSTRAINTS, a set of constraints applying to the PROV data model;</li>
+<li> PROV-N, a notation for provenance aimed at human consumption;</li>
+<li> PROV-O, the PROV ontology, an OWL-RL ontology allowing the mapping of PROV to RDF;</li>
+<li> PROV-AQ, the mechanisms for accessing and querying provenance; </li>
+<li> PROV-PRIMER, a primer for the PROV data model;</li>
+<li> PROV-SEM, a formal semantics for the PROV data model;</li>
+<li> PROV-XML, an XML schema for the PROV data model.</li>
+</ul>
+<h4 id="how-to-read-the-prov-family-of-specifications">How to read the PROV Family of Specifications</h4>
+<ul>
+<li>The primer is the entry point to PROV offering an introduction to the provenance model.</li>
+<li>The Linked Data and Semantic Web community should focus on PROV-O defining PROV classes and properties specified in an OWL-RL ontology. For further details, PROV-DM and PROV-CONSTRAINTS specify the constraints applicable to the data model, and its interpretation. PROV-SEM provides a mathematical semantics.</li>
+<li>The XML community should focus on PROV-XML defining an XML schema for PROV. Further details can also be found in PROV-DM, PROV-CONSTRAINTS, and PROV-SEM.</li>
+<li>Developers seeking to retrieve or publish provenance should focus on PROV-AQ.</li>
+<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>
+<p>This document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as an Editor's Draft. If you wish to make comments regarding this document, please send them to <a href="mailto:public-prov-comments@w3.org">public-prov-comments@w3.org</a> (<a href="mailto:public-prov-comments-request@w3.org?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>). All feedback is welcome.</p><p>Publication as an Editor's Draft does not imply endorsement by the <acronym title="World Wide Web Consortium">W3C</acronym> Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.</p><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>. <acronym title="World Wide Web Consortium">W3C</acronym> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>.</p></div><div id="toc" class="section"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction<br>
+</a><ul class="toc"><li class="tocline"><a href="#structure-of-this-document" class="tocxref"><span class="secno">1.1 </span>Structure of this Document</a></li><li class="tocline"><a href="#conventions" class="tocxref"><span class="secno">1.2 </span>Notational Conventions</a></li></ul></li><li class="tocline"><a href="#section-prov-overview" class="tocxref"><span class="secno">2. </span>PROV Overview</a><ul class="toc"><li class="tocline"><a href="#core-structures" class="tocxref"><span class="secno">2.1 </span>PROV Core Structures</a><ul class="toc"><li class="tocline"><a href="#section-entity-activity" class="tocxref"><span class="secno">2.1.1 </span>Entity and Activity</a></li><li class="tocline"><a href="#section-agents-attribution-association-delegation" class="tocxref"><span class="secno">2.1.2 </span>Agents and Responsibility</a></li><li class="tocline"><a href="#section-derivation" class="tocxref"><span class="secno">2.1.3 </span>Derivation</a></li></ul></li><li class="tocline"><a href="#section-extended-structures" class="tocxref"><span class="secno">2.2 </span>PROV Extended Structures</a><ul class="toc"><li class="tocline"><a href="#section-prov-extended-mechanisms" class="tocxref"><span class="secno">2.2.1 </span>Mechanisms to Define Extended Structures</a><ul class="toc"><li class="tocline"><a href="#section-prov-extended-approach-subtyping" class="tocxref"><span class="secno">2.2.1.1 </span>Subtyping</a></li><li class="tocline"><a href="#section-prov-extended-approach-expanded-relation" class="tocxref"><span class="secno">2.2.1.2 </span>Expanded Relations</a></li><li class="tocline"><a href="#section-prov-extended-approach-optional-identification-new-relation" class="tocxref"><span class="secno">2.2.1.3 </span>Optional Identification and New Relations</a></li></ul></li><li class="tocline"><a href="#section-provenance-of-provnance" class="tocxref"><span class="secno">2.2.2 </span>Provenance of Provenance</a></li><li class="tocline"><a href="#section-collections" class="tocxref"><span class="secno">2.2.3 </span>Collections</a></li></ul></li><li class="tocline"><a href="#section-overview-components" class="tocxref"><span class="secno">2.3 </span>Modular Organization</a></li></ul></li><li class="tocline"><a href="#prov-notation" class="tocxref"><span class="secno">3. </span>The Provenance Notation</a></li><li class="tocline"><a href="#prov-dm-example" class="tocxref"><span class="secno">4. </span>Illustration of PROV-DM by an Example</a><ul class="toc"><li class="tocline"><a href="#section-example-one" class="tocxref"><span class="secno">4.1 </span>The Authors View</a></li><li class="tocline"><a href="#section-example-two" class="tocxref"><span class="secno">4.2 </span>The Process View</a></li><li class="tocline"><a href="#section-example-c" class="tocxref"><span class="secno">4.3 </span>Attribution of Provenance</a></li></ul></li><li class="tocline"><a href="#data-model-components" class="tocxref"><span class="secno">5. </span>PROV-DM Types and Relations</a><ul class="toc"><li class="tocline"><a href="#component1" class="tocxref"><span class="secno">5.1 </span>Component 1: Entities and Activities</a><ul class="toc"><li class="tocline"><a href="#term-Entity" class="tocxref"><span class="secno">5.1.1 </span>Entity</a></li><li class="tocline"><a href="#term-Activity" class="tocxref"><span class="secno">5.1.2 </span>Activity</a></li><li class="tocline"><a href="#term-Generation" class="tocxref"><span class="secno">5.1.3 </span>Generation</a></li><li class="tocline"><a href="#term-Usage" class="tocxref"><span class="secno">5.1.4 </span>Usage</a></li><li class="tocline"><a href="#term-wasInformedBy" class="tocxref"><span class="secno">5.1.5 </span>Communication</a></li><li class="tocline"><a href="#term-Start" class="tocxref"><span class="secno">5.1.6 </span>Start</a></li><li class="tocline"><a href="#term-End" class="tocxref"><span class="secno">5.1.7 </span>End</a></li><li class="tocline"><a href="#term-Invalidation" class="tocxref"><span class="secno">5.1.8 </span>Invalidation</a></li></ul></li><li class="tocline"><a href="#component2" class="tocxref"><span class="secno">5.2 </span>Component 2: Agents and Responsibility</a><ul class="toc"><li class="tocline"><a href="#term-Agent" class="tocxref"><span class="secno">5.2.1 </span>Agent</a></li><li class="tocline"><a href="#term-attribution" class="tocxref"><span class="secno">5.2.2 </span>Attribution</a></li><li class="tocline"><a href="#term-ActivityAssociation" class="tocxref"><span class="secno">5.2.3 </span>Association</a></li><li class="tocline"><a href="#term-delegation" class="tocxref"><span class="secno">5.2.4 </span>Delegation</a></li></ul></li><li class="tocline"><a href="#component3" class="tocxref"><span class="secno">5.3 </span>Component 3: Derivations</a><ul class="toc"><li class="tocline"><a href="#Derivation-Relation" class="tocxref"><span class="secno">5.3.1 </span>Derivation</a></li><li class="tocline"><a href="#term-Revision" class="tocxref"><span class="secno">5.3.2 </span>Revision</a></li><li class="tocline"><a href="#term-quotation" class="tocxref"><span class="secno">5.3.3 </span>Quotation</a></li><li class="tocline"><a href="#term-original-source" class="tocxref"><span class="secno">5.3.4 </span>Original Source</a></li><li class="tocline"><a href="#term-trace" class="tocxref"><span class="secno">5.3.5 </span>Trace</a></li></ul></li><li class="tocline"><a href="#component4" class="tocxref"><span class="secno">5.4 </span>Component 4: Alternate Entities</a><ul class="toc"><li class="tocline"><a href="#term-specialization" class="tocxref"><span class="secno">5.4.1 </span>Specialization</a></li><li class="tocline"><a href="#term-alternate" class="tocxref"><span class="secno">5.4.2 </span>Alternate</a></li></ul></li><li class="tocline"><a href="#component5" class="tocxref"><span class="secno">5.5 </span>Component 5: Bundles</a><ul class="toc"><li class="tocline"><a href="#term-bundle" class="tocxref"><span class="secno">5.5.1 </span>Bundle constructor</a></li><li class="tocline"><a href="#term-bundle-entity" class="tocxref"><span class="secno">5.5.2 </span>Bundle Description</a></li><li class="tocline"><a href="#term-hasProvenanceIn" class="tocxref"><span class="secno">5.5.3 </span>Provenance Locator</a></li></ul></li><li class="tocline"><a href="#component6" class="tocxref"><span class="secno">5.6 </span>Component 6: Collections</a><ul class="toc"><li class="tocline"><a href="#term-collection" class="tocxref"><span class="secno">5.6.1 </span>Collection</a></li><li class="tocline"><a href="#term-dictinonary" class="tocxref"><span class="secno">5.6.2 </span>Dictionary</a></li><li class="tocline"><a href="#term-dictionary-insertion" class="tocxref"><span class="secno">5.6.3 </span>Insertion</a></li><li class="tocline"><a href="#term-dictionary-removal" class="tocxref"><span class="secno">5.6.4 </span>Removal</a></li><li class="tocline"><a href="#term-dictionary-membership" class="tocxref"><span class="secno">5.6.5 </span>Membership</a></li></ul></li><li class="tocline"><a href="#second-class-elements" class="tocxref"><span class="secno">5.7 </span>Further Elements of PROV-DM</a><ul class="toc"><li class="tocline"><a href="#term-NamespaceDeclaration" class="tocxref"><span class="secno">5.7.1 </span>Namespace Declaration</a></li><li class="tocline"><a href="#term-qualified-name" class="tocxref"><span class="secno">5.7.2 </span>Qualified Name</a></li><li class="tocline"><a href="#term-identifier" class="tocxref"><span class="secno">5.7.3 </span>Identifier</a></li><li class="tocline"><a href="#term-attribute" class="tocxref"><span class="secno">5.7.4 </span>Attribute</a><ul class="toc"><li class="tocline"><a href="#term-attribute-label" class="tocxref"><span class="secno">5.7.4.1 </span>prov:label</a></li><li class="tocline"><a href="#term-attribute-location" class="tocxref"><span class="secno">5.7.4.2 </span>prov:location</a></li><li class="tocline"><a href="#term-attribute-role" class="tocxref"><span class="secno">5.7.4.3 </span>prov:role</a></li><li class="tocline"><a href="#term-attribute-type" class="tocxref"><span class="secno">5.7.4.4 </span>prov:type</a></li><li class="tocline"><a href="#term-attribute-value" class="tocxref"><span class="secno">5.7.4.5 </span>prov:value</a></li><li class="tocline"><a href="#term-attribute-provenance-uri" class="tocxref"><span class="secno">5.7.4.6 </span>prov:provenance-uri</a></li><li class="tocline"><a href="#term-attribute-service-uri" class="tocxref"><span class="secno">5.7.4.7 </span>prov:service-uri</a></li></ul></li><li class="tocline"><a href="#term-value" class="tocxref"><span class="secno">5.7.5 </span>Value</a></li></ul></li></ul></li><li class="tocline"><a href="#extensibility-section" class="tocxref"><span class="secno">6. </span>PROV-DM Extensibility Points</a></li><li class="tocline"><a href="#valid-provenance" class="tocxref"><span class="secno">7. </span>Creating Valid Provenance</a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">B.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.2 </span>Informative references</a></li></ul></li></ul></div>
+
+
+
+
+
+
+<!-- <div class="buttonpanel">
+<form action="#"><p>
+<input id="hide-asn" onclick="set_display_by_class('div','withAsn','none');set_display_by_class('span','withAsn','none'); set_display_by_id('hide-asn','none'); set_display_by_id('show-asn','');" type="button"
+value="Hide ASN" />
+<input id="show-asn" onclick="set_display_by_class('div','withAsn',''); set_display_by_class('span','withAsn',''); set_display_by_id('hide-asn',''); set_display_by_id('show-asn','none');" style="display: none"
+type="button" value="Show ASN" />
+</p>
+</form>
+</div>
+-->
+
+
+
+
+
+ <div id="introduction" class="section">
+ <!--OddPage--><h2><span class="secno">1. </span>Introduction<br>
+</h2>
+
+<p>
+For the purpose of this specification, <dfn id="dfn-provenance">provenance</dfn> is defined as a record that describes the people,
+institutions, entities, and activities involved in producing,
+influencing, or delivering a piece of data or a thing.
+In particular, the provenance of information is crucial in deciding
+whether information is to be trusted, how it should be integrated with
+other diverse information sources, and how to give credit to its
+originators when reusing it. In an open and inclusive environment
+such as the Web, where users find information that is often contradictory or
+questionable, provenance can help those users to make trust judgements.
+</p>
+
+
+<p>
+We
+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: 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>
+<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>
+<li>PROV-XML: an XML schema for the PROV data model.</li>
+</ul>
+-->
+
+
+<p>
+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.
+</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><li> component 2: agents bearing responsibility for entities that were generated and activities that happened;
+</li><li> component 3: derivations of entities from others;
+</li><li> component 4: properties to link entities that refer to a same thing;
+</li><li> component 5: bundles, a mechanism to support provenance of provenance;
+</li><li> component 6: collections forming a logical structure for its members.
+</li></ul>
+
+
+<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, 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 [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].
+</p>
+
+
+<div id="structure-of-this-document" class="section">
+<h3><span class="secno">1.1 </span>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. 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>
+
+
+<p><a href="#prov-dm-example">Section 4</a> illustrates how the PROV data model can be used
+to express the provenance of a report published on the Web.</p>
+
+
+<p><a href="#data-model-components">Section 5</a> provides the definitions of PROV concepts, structured according to six components.</p>
+
+
+
+<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 validate provenance descriptions; these are covered in the companion specification [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].</p>
+
+
+</div>
+
+<div id="conventions" class="section">
+<h3><span class="secno">1.2 </span>Notational Conventions</h3>
+
+
+
+<p>The key words "<em class="rfc2119" title="must">must</em>", "<em class="rfc2119" title="must not">must not</em>", "<em class="rfc2119" title="required">required</em>", "<em class="rfc2119" title="shall">shall</em>", "<em class="rfc2119" title="shall
+ not">shall
+ not</em>", "<em class="rfc2119" title="should">should</em>", "<em class="rfc2119" title="should not">should not</em>", "<em class="rfc2119" title="recommended">recommended</em>", "<em class="rfc2119" title="may">may</em>", and
+ "<em class="rfc2119" title="optional">optional</em>" in this document are to be interpreted as described in
+ [<cite><a class="bibref" rel="biblioentry" href="#bib-RFC2119">RFC2119</a></cite>].</p>
+
+
+<p>
+The following namespaces prefixes are used throughout this document.
+
+</p><div style="text-align: left;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="namespace-table">Table 1: Prefix and Namespaces used in this specification</caption>
+<tbody><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">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 [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>]</td></tr>
+<tr><td><a>rdf</a></td><td>http://www.w3.org/1999/02/22-rdf-syntax-ns#</td><td>The RDF namespace [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-CONCEPTS">RDF-CONCEPTS</a></cite>]</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 [<cite><a class="bibref" rel="biblioentry" href="#bib-URI">URI</a></cite>]</td></tr>
+</tbody></table>
+</div>
+
+<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 a separate document [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-N">PROV-N</a></cite>].</p>
+
+
+</div>
+
+</div>
+
+
+
+<div id="section-prov-overview" class="section">
+<!--OddPage--><h2><span class="secno">2. </span>PROV Overview</h2>
+
+<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 form thematic groupings of concepts (see <a href="#section-overview-components">Section 2.3</a>).
+</p>
+
+
+<div id="core-structures" class="section">
+<h3><span class="secno">2.1 </span>PROV Core Structures</h3>
+
+<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-top">Figure 1</a>,
+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; ">
+ <figure style="max-width: 70%; " id="prov-core-structures-top">
+<!-- <img src="../images/OverviewDiagram.png" alt="PROV Core Structures" style="max-width: 70%; " /> -->
+<img src="uml/essentials.png" alt="PROV Core Structures" style="max-width: 70%; ">
+<div class="figcaption" id="prov-core-structures">Figure 1: PROV Core Structures</div>
+ </figure>
+</div>
+
+<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>
+
+
+
+
+
+
+<div style="text-align: left;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="overview-types-and-relations">Table 2: Mapping of PROV core concepts to types and relations</caption>
+<tbody><tr><td><a><b>PROV Concepts</b></a></td><td><b>PROV-DM types or relations</b></td><td><b>Name</b></td><td><b>Overview</b></td></tr>
+<tr>
+<td><a href="#concept-entity" class="internalDFN">Entity</a></td><td rowspan="3" style="text-align: center;">PROV-DM Types</td><td><a title="dfn-Entity" href="#dfn-entity" class="internalDFN">entity</a></td><td style="text-align: center;"><a href="#section-entity-activity">2.1.1</a></td></tr>
+<tr><td><a href="#concept-activity" class="internalDFN">Activity</a></td><td><a title="dfn-Activity" href="#dfn-activity" class="internalDFN">activity</a></td><td style="text-align: center;"><a href="#section-entity-activity">2.1.1</a></td></tr>
+<tr><td><a href="#concept-agent" class="internalDFN">Agent</a></td><td><a title="dfn-agent" href="#dfn-agent" class="internalDFN">agent</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation">2.1.2</a></td></tr>
+<tr>
+<td><a href="#concept-generation" class="internalDFN">Generation</a></td><td rowspan="7" style="text-align: center;">PROV-DM Relations</td><td><a title="wasGeneratedBy" href="#dfn-wasgeneratedby" class="internalDFN">wasGeneratedBy</a></td><td style="text-align: center;"><a href="#section-entity-activity">2.1.1</a></td></tr>
+<tr><td><a href="#concept-usage" class="internalDFN">Usage</a></td><td><a title="used" href="#dfn-used" class="internalDFN">used</a></td><td style="text-align: center;"><a href="#section-entity-activity">2.1.1</a></td></tr>
+<tr><td><a href="#concept-communication" class="internalDFN">Communication</a></td><td><a title="wasInformedBy" href="#dfn-wasinformedby" class="internalDFN">wasInformedBy</a></td><td style="text-align: center;"><a href="#section-entity-activity">2.1.1</a></td></tr>
+<tr><td><a href="#concept-attribution" class="internalDFN">Attribution</a></td><td><a title="wasAttributedTo" href="#dfn-wasattributedto" class="internalDFN">wasAttributedTo</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation">2.1.2</a></td></tr>
+<tr><td><a href="#concept-association-core" class="internalDFN">Association</a></td><td><a title="wasAssociatedWith" href="#dfn-wasassociatedwith" class="internalDFN">wasAssociatedWith</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation">2.1.2</a></td></tr>
+<tr><td><a href="#concept-responsibility" class="internalDFN">Responsibility</a></td><td><a title="actedOnBehalfOf" href="#dfn-actedonbehalfof" class="internalDFN">actedOnBehalfOf</a></td><td style="text-align: center;"><a href="#section-agents-attribution-association-delegation">2.1.2</a></td></tr>
+<tr><td><a href="#concept-derivation" class="internalDFN">Derivation</a></td><td><a title="wasDerivedFrom" href="#dfn-wasderivedfrom" class="internalDFN">wasDerivedFrom</a></td><td style="text-align: center;"><a href="#section-derivation">2.1.3</a></td></tr>
+</tbody></table>
+</div>
+
+
+
+
+<!--
+<p><a href="#prov-core-structures">Figure 1</a> is not intended to be complete: it only illustrates types and relations introduced in this section (<a href="#section-prov-overview">Section 2</a>), exploited in the example discussed in <a href="#prov-dm-example">Section 3</a>, and explained in detail in <a href="#data-model-components">Section 4</a>.
+Names of relations depicted in <a href="#prov-core-structures">Figure 1</a>
+are listed in
+the third column of <a href="#overview-types-and-relations">Table 2</a>. These names are part of a textual notation to write instances of the PROV data model, which we introduce in the next section. </p>
+
+-->
+
+
+
+
+
+<form action="#"><p>
+<input id="hide-examples" onclick="set_display_by_class('div','anexample conceptexample','none'); set_display_by_id('hide-examples','none'); set_display_by_id('show-examples','');" type="button" value="Hide Concept Examples">
+<input id="show-examples" onclick="set_display_by_class('div','anexample conceptexample',''); set_display_by_id('hide-examples',''); set_display_by_id('show-examples','none');" style="display: none" type="button" value="Show Concept Examples">
+</p>
+</form>
+
+
+
+
+
+ <div id="section-entity-activity" class="section">
+<h4><span class="secno">2.1.1 </span>Entity and Activity</h4>
+
+
+<p>In PROV, things we want to describe the provenance of are called <em>entities</em> and have some fixed aspect. The term "things" encompasses a broad diversity of notions, including digital objects such as a file or web page,
+physical things such as a mountain, a building, a printed book, or a car as well as abstract concepts and ideas.
+</p>
+
+<p>
+</p><div class="glossary-ref">
+ An <span class="dfn">entity</span> is a physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary. </div>
+
+
+
+<div class="anexample conceptexample" id="entity-example" count="1">
+Z
+<p>An entity may be the document at URI <a href="http://www.bbc.co.uk/news/science-environment-17526723">http://www.bbc.co.uk/news/science-environment-17526723</a>, a file in a file system, a car, or an idea.</p>
+</div>
+
+
+
+<p>
+<span class="glossary-ref"> An <span class="dfn">activity</span> is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, generating, or being associated with entities. </span> Activities that operate on digital entities may for example move, copy, or duplicate them.
+</p>
+
+
+
+<div class="anexample conceptexample" id="activity-example" count="2">
+<p>An activity may be the publishing of a document on the Web, sending a twitter message, extracting metadata embedded in a file, driving a car from Boston to Cambridge, assembling a data set based on a set of measurements, performing a statistical analysis over a data set, sorting news items according to some criteria, running a SPARQL query over a triple store, or editing a file.</p>
+</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 concepts of generation and usage. </p>
+
+<p>
+</p><div class="glossary-ref">
+ <span class="dfn">Generation</span> is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. </div>
+
+
+<p>
+</p><div class="glossary-ref">
+ <span class="dfn">Usage</span> is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. </div>
+
+
+
+
+<div class="anexample conceptexample" id="generation-example" count="3">
+<p>Examples of generation are the completed creation of a file by a
+program, the completed creation of a linked data set, and the completed
+publication of a new version of a document.
+</p></div>
+
+
+
+<div class="anexample conceptexample" id="usage-example" count="4">
+<p>Usage examples include a procedure beginning to consume an argument, a service starting to read a value on a port, a program beginning to read a configuration
+file, or the point at which an ingredient, such as eggs, is being added in a baking activity. Usage may entirely consume an entity (e.g. eggs are no longer available after being added to
+the mix); in contrast, the same entity may be used multiple times, possibly by different activities (e.g. a file on a file system can be read indefinitely).
+</p></div>
+
+
+<p>The generation of an entity by an activity and its subsequent usage by another activity is termed communication.</p>
+
+<p>
+</p><div class="glossary-ref">
+ <span class="dfn">Communication</span> is the exchange of an entity by two activities, one activity using the entity generated by the other. </div>
+
+
+
+
+
+<div class="anexample conceptexample" id="communication-example" count="5">
+<p>
+The activity of writing a celebrity article was informed by (a
+communication instance) the activity of intercepting voicemails.
+</p></div>
+
+
+
+</div>
+
+
+<div id="section-agents-attribution-association-delegation" class="section">
+<h4><span class="secno">2.1.2 </span>Agents and Responsibility</h4>
+
+<p>The motivation for introducing agents in the model is to express the agent's responsibility for activities that happened and entities that were generated. </p>
+
+<p>
+<span class="glossary-ref">
+ An <span class="dfn">agent</span> is something that bears some form of responsibility for an activity taking place or for the existence of an entity. </span> An agent <em class="rfc2119" title="may">may</em> be a particular type of entity or activity. This means that the model can be
+ used to express provenance of the agents themselves.
+</p>
+
+
+<!--
+<p>
+The definition of agent intentionally stays away from using concepts such as enabling, causing, initiating, triggering, affecting, etc, because many entities also enable, cause, initiate, and affect in some way
+the activities. (Concepts such as triggers are themselves defined later in relations between entities and activities.) So the notion of having some degree of responsibility is really what makes an agent.</p>
+-->
+
+
+
+<div class="anexample conceptexample" id="agent-example" count="6">
+<p>
+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>
+
+
+
+
+<p>Agents can be related to entities, activities, and other agents.</p>
+
+<div class="glossary-ref"> <span class="dfn">Attribution</span> is the ascribing of an entity to an agent. </div>
+
+<div class="anexample conceptexample" id="attribution-example" count="7">
+<p>A blog post can be attributed to an author, a mobile phone to its manufacturer.</p>
+</div>
+
+<p>
+Agents are defined as having some kind of responsibility for activities. </p>
+
+<!-- <div class="note">Proposal: remove the above para as it repeats from 2.3. Proposed text: "the <em>activity association</em> relation provides a way to indicate that an agent is responsible for an activity, possibly with an associated plan."[PM]</div> -->
+
+
+<p>
+<span class="glossary-ref"> An activity <span class="dfn">association</span> is an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity. </span>
+</p>
+
+<div class="anexample conceptexample" id="association-example" count="8">
+<p>Examples of association between an activity and an agent are:
+</p><ul>
+<li>creation of a web page under the guidance of a designer;</li>
+<li>various forms of participation in a panel discussion, including audience member, panelist, or panel chair;</li>
+<li>a public event, sponsored by a company, and hosted by a museum;</li>
+</ul>
+</div>
+
+
+
+<p>
+<span class="glossary-ref">
+ <span class="dfn">Delegation</span> is the assignment of authority to an agent (by itself or by another agent) to carry out a specific activity as a delegate or representative, while the agent that it represents remains responsible for the outcome of the delegated work. </span> The nature of this relation is intended to be broad, including contractual relation, but also altruistic initiative by the representative agent. </p>
+
+
+
+
+<div class="anexample conceptexample" id="responsibility-example" count="9">
+<p>A student publishing a web page describing an academic
+department could result in both the student and the department being
+agents associated with the activity. It may not matter which actual
+student published a web page, but it may matter significantly that the department
+told the student to put up the web page.
+</p>
+</div>
+</div>
+
+ <div id="section-derivation" class="section">
+<h4><span class="secno">2.1.3 </span>Derivation</h4>
+
+
+
+<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"> A <span class="dfn">derivation</span> is a transformation of an entity into another, an update of an entity, resulting in a new one, or based on an entity, the construction of another.</span>
+
+
+
+</p><div class="anexample conceptexample" id="derivation-example" count="10">
+<p>Examples of derivation include the transformation of a relational table into a
+linked data set, the transformation of a canvas into a painting, the transportation of a work of art from London to New York, and a physical transformation such as the melting of ice into water.</p>
+</div>
+
+</div>
+
+</div>
+
+<div id="section-extended-structures" class="section">
+<h3><span class="secno">2.2 </span>PROV Extended Structures</h3>
+
+<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 kinds of provenance structures are overviewed: they cater for provenance of provenance and collections, respectively.</p>
+
+
+
+
+<div id="section-prov-extended-mechanisms" class="section">
+<h4><span class="secno">2.2.1 </span>Mechanisms to Define Extended Structures</h4>
+
+<p>Extended structures are defined by a variety of mechanisms
+outlined in this section: subtyping, expanded relations, optional
+identification, and new relations.</p>
+
+
+<div id="section-prov-extended-approach-subtyping" class="section">
+<h5><span class="secno">2.2.1.1 </span>Subtyping</h5>
+
+<p>Subtyping can be applied to core types. For example, a software agent is special kind of agent, defined as follows.</p>
+
+<span class="glossary-ref">
+ A <span class="dfn">software agent</span> is running software. </span>
+
+
+<p>Subtyping can also be applied to core relations. For example, a revision is a special kind of derivation, defined as follows.</p>
+
+
+<p><span class="glossary-ref"> A <span class="dfn">revision</span> is a derivation that revises an entity into a revised version. </span></p>
+
+</div>
+
+<div id="section-prov-extended-approach-expanded-relation" class="section">
+<h5><span class="secno">2.2.1.2 </span>Expanded Relations</h5>
+
+<p><a href="#core-structures">Section 2.1</a> shows that seven concepts are mapped to binary relations in the core of PROV. However, some advanced uses of these concepts cannot be captured by a binary relation, but require relations to be expanded to n-ary relations.</p>
+
+
+<p>To illustrate expanded relations, we consider the concept of
+association, described
+in <a href="#section-agents-attribution-association-delegation">section
+2.1.2</a>. Agents may adopt sets of actions or steps to achieve their
+goals in the context of an activity: this is captured by the notion of
+a plan. Thus, an activity may reflect the execution of a plan that was
+designed in advance to guide the execution. Hence, an expanded
+association relation allows a plan be linked to an
+activity. Plan is defined by subtyping and full association by an expanded relation, as follows. </p>
+
+<p>
+<span class="glossary-ref">
+ A <span class="dfn">plan</span> is an entity that represents a set of actions or steps intended by one or more agents to achieve some goals. </span>
+There exist no
+prescriptive requirement on the nature of plans, their representation, the
+actions or steps they consist of, or their intended goals. Since plans may evolve over time,
+it may become necessary to track their provenance, so plans themselves are
+entities. Representing the plan explicitly in the provenance can be useful for various tasks: for example, to
+validate the execution as represented in the provenance record, to
+manage expectation failures, or to provide explanations.</p>
+
+
+<p>
+<span class="glossary-ref"> An activity <span class="dfn">association</span> is an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity. It further allows for a plan to be specified, which is the plan intended by the agent to achieve some goals in the context of this activity. </span>
+</p>
+
+
+<div class="anexample conceptexample" id="association-example2" count="11">
+<p>An example of association between an activity and an agent involving a plan is:
+an XSLT transform (an activity) launched by a user (an agent) based on an XSL style sheet (a plan).
+
+</p></div>
+</div>
+
+
+<div id="section-prov-extended-approach-optional-identification-new-relation" class="section">
+<h5><span class="secno">2.2.1.3 </span>Optional Identification and New Relations</h5>
+
+<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
+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>
+
+<div class="anexample conceptexample" id="identifier-example" count="12">
+<p>A service may read a same configuration file on two different occasions. Each usage can be identifed by its own identifier, allowing them to be distinguished.
+</p></div>
+
+<p>Finally, PROV-DM supports further relations that are not subtypes or expanded versions of existing relations.</p>
+
+
+
+
+</div>
+
+
+
+</div>
+
+
+
+<div id="section-provenance-of-provnance" class="section">
+<h4><span class="secno">2.2.2 </span>Provenance of Provenance</h4>
+
+
+
+
+<p>
+<span class="glossary-ref">
+ A <span class="dfn">bundle</span> is a named set of provenance descriptions, and is itself an entity, so allowing provenance of provenance to be expressed. </span>
+
+</p><div class="anexample conceptexample" id="bundle-example" count="13">
+<p>
+For users to decide whether they can place their trust in
+a resource, they may want to analyze the resource's provenance, but also determine
+who its provenance is attributed to, and when it was
+generated. In other words, users need to be able to determine the provenance of provenance.
+Hence, provenance is also
+regarded as an entity (of type Bundle), by which provenance of provenance can then be
+expressed.
+</p>
+</div>
+</div>
+
+<div id="section-collections" class="section">
+<h4><span class="secno">2.2.3 </span>Collections</h4>
+
+<p>
+<span class="glossary-ref"> A <span class="dfn">collection</span> is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be <span class="dfn">member of</span> the collections. </span> This concept allows for the provenance of the collection itself to be expressed in addition to that of the members. Many different types of collections exist, such as a <em>sets</em>, <em>dictionaries</em>, or <em>lists</em>, all of which involve a membership relationship between the constituents and the collection. </p>
+
+<div class="anexample conceptexample" id="collection-example" count="14">
+<p>
+An example of collection is an archive of documents. Each document has its own provenance, but the archive itself also has some provenance: who maintained it, which documents it contained at which point in time, how it was assembled, etc.
+</p></div>
+
+
+</div>
+
+
+
+
+
+</div>
+
+<div id="section-overview-components" class="section">
+<h3><span class="secno">2.3 </span>Modular Organization</h3>
+
+<p>Besides the separation between core and extended structures, PROV-DM
+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 specify extended structures, whereas only the first three define core structures.
+
+</p><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>
+<tbody><tr><td style="border-width: 0px; "></td><td>Component</td><td>Core <br>Structures</td><td>Overview</td><td>Specification</td><td>Description</td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></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-delegation">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>
+<tr><td>5</td><td style="text-align: left;">Bundles</td><td></td><td><a href="#section-provenance-of-provnance">2.2.2</a></td><td><a href="#component5">5.5</a></td><td style="text-align: left;">about bundles, a mechanism to support provenance of provenance</td></tr>
+<tr><td>6</td><td style="text-align: left;">Collections</td><td></td><td><a href="#section-collections">2.2.3</a></td><td><a href="#component6">5.6</a></td><td style="text-align: left;">about collections and concepts capturing their transformation, such as insertion and removal</td></tr>
+</tbody></table>
+</div>
+
+</div>
+
+</div>
+
+
+<div id="prov-notation" class="section">
+<!--OddPage--><h2><span class="secno">3. </span>The Provenance Notation</h2>
+
+
+<p>To illustrate the application of PROV concepts to a concrete example (see <a href="#prov-dm-example">Section 4</a>) and to provide examples of concepts (see <a href="#data-model-components">Section 5</a>),
+we introduce PROV-N, a notation for writing instances of the PROV data model. For full details, the reader is referred to the companion specification [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-N">PROV-N</a></cite>].
+PROV-N is a notation aimed at human consumption, with the following characteristics:</p>
+<ul>
+<li>PROV-N expressions adopt a <em>functional notation</em> consisting
+of a name and a list of arguments in parentheses.</li>
+
+<li>The interpretation of PROV-N arguments is defined according to their <em>position</em> in the list of arguments. This convention allows for a compact notation. </li>
+
+<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.
+</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. To further disambiguate expressions that contains an optional identifier, the optional identifier or marker must be followed by '<span class="name">;</span>'.
+</li>
+</ul>
+
+<div class="anexample" count="15">
+<p>
+An activity with identifier <span class="name">a1</span> and an attribute <span class="name">type</span> with value <span class="name">createFile</span>.
+</p><pre class="codeexample">activity(a1, [prov:type="createFile"])
+</pre>
+Two entities with identifiers <span class="name">e1</span> and <span class="name">e2</span>.
+<pre class="codeexample">entity(e1)
+entity(e2)
+</pre>
+The activity <span class="name">a1</span> used <span class="name">e1</span>, and <span class="name">e2</span> was generated by <span class="name">a1</span>.
+<pre class="codeexample">used(a1,e1)
+wasGeneratedBy(e2,a1)
+</pre>
+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)
+</pre>
+</div>
+
+
+
+</div>
+
+
+<div id="prov-dm-example" class="section">
+<!--OddPage--><h2><span class="secno">4. </span>Illustration of PROV-DM by an Example</h2>
+
+<p><a href="#section-prov-overview">Section 2</a> has introduced some provenance concepts, and how they are expressed as types or relations in the PROV data model. The purpose of this section is to put these concepts into practice in order to express the provenance of some document published on the Web.
+With this realistic example, PROV concepts are composed together, and a graphical illustration shows a provenance description forming a directed graph, rooted at the entity we want to explain the provenance of, and pointing to the entities, activities, and agents it depended on. This example also shows that, sometimes, multiple provenance descriptions about the same entity can co-exist, which then justifies the need for provenance of provenance.</p>
+
+
+<p>In this example, we consider one of the many documents published by the World Wide Web Consortium, and describe its provenance.
+Specifically, we consider the document identified by
+<a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">http://www.w3.org/TR/2011/WD-prov-dm-20111215</a>. Its provenance can be expressed from several perspectives: first, provenance can take the authors' viewpoint; second, it can be concerned with the <acronym title="World Wide Web Consortium">W3C</acronym> process. Then, attribution of these two provenance descriptions is provided.</p>
+
+
+<div id="section-example-one" class="section">
+<h3><span class="secno">4.1 </span>The Authors View</h3>
+
+
+<p style="font-style:italic; "><b>Description:</b> A document
+is edited by some editor, using contributions from various
+contributors.
+</p>
+
+
+
+<p>In this perspective, provenance of the document
+<a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">http://www.w3.org/TR/2011/WD-prov-dm-20111215</a> is concerned with the editing activity as perceived by authors. This kind of information could be used by authors in their CV or in a narrative about this document. </p>
+
+
+
+
+<p>We paraphrase some PROV-DM descriptions, express them with the PROV-N notation, and depict them with a graphical illustration (see <a href="#prov-a-document1-top">Figure 2</a>).
+Full details of the provenance record can be found <a href="examples/w3c-publication3.pn">here</a>.</p>
+
+<div style="text-align: center; ">
+ <figure id="prov-a-document1-top">
+ <img src="images/w3-publication3.png" alt="Provenance of a Document (1)" style="max-width: 98%; ">
+<div class="figcaption" id="prov-a-document1">Figure 2: Provenance of a Document (1)</div>
+ </figure>
+</div>
+
+
+<ul>
+<li>There was a document <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span>, which from the author's perspective was a document in its second version.
+<pre>entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ])
+</pre>
+</li>
+
+<li>There was an editing activity.
+<pre>activity(ex:edit1,[prov:type="edit"])
+</pre>
+</li>
+
+<li>The document was generated by the editing activity: this was a <a title="concept-generation">Generation</a>.
+<pre>wasGeneratedBy(tr:WD-prov-dm-20111215, ex:edit1, -)
+</pre>
+</li>
+
+
+<li>There were some agents.
+<pre>agent(ex:Paolo, [ prov:type="Person" ])
+agent(ex:Simon, [ prov:type="Person" ])
+</pre>
+</li>
+
+<li>Agents were assigned various responsibilities in the editing activity: contributor and editor.
+<pre>wasAssociatedWith(ex:edit1, ex:Paolo, -, [ prov:role="editor" ])
+wasAssociatedWith(ex:edit1, ex:Simon, -, [ prov:role="contributor" ])
+</pre>
+</li>
+</ul>
+
+<p>
+Provenance descriptions can be <em>illustrated</em> graphically. The illustration is not intended to represent all the details of the model, but it is intended to show the essence of a set of
+provenance descriptions. Therefore, it should not be seen as an alternate notation for expressing provenance.</p>
+
+<p>The graphical illustration takes the form of a graph. Entities, activities and agents are represented as nodes, with oval, rectangular, and pentagonal shapes, respectively. Usage,
+Generation, Derivation, and Association are represented as directed edges.</p>
+
+<p>Entities are laid out according to the ordering of their generation. We endeavor to show time progressing from left to right. This means that edges for Usage, Generation,
+Derivation, Association typically point leftwards</p>
+
+
+
+</div>
+
+<div id="section-example-two" class="section">
+<h3><span class="secno">4.2 </span>The Process View</h3>
+
+
+<p style="font-style:italic; "><b>Description:</b> The World Wide Web
+Consortium publishes documents according to its publication
+policy. Working drafts are published regularly to reflect the work
+accomplished by working groups. Every publication of a working draft
+must be preceded by a "publication request" to the Webmaster. The
+very first version of a document must also be preceded by a
+"transition request" to be approved by the <acronym title="World Wide Web Consortium">W3C</acronym> director. All working
+drafts are made available at a unique URI. In this scenario, we consider two successive versions of a given document, the policy according to which they were published, and the associated requests.
+</p>
+
+<p>
+We describe the kind of provenance record that the <a href="http://www.w3.org/Consortium">WWW Consortium</a> could keep for auditors to check that due processes are followed. All entities involved in this example are Web resources, with well-defined URIs (some of which refer archived email messages, available to <acronym title="World Wide Web Consortium">W3C</acronym> Members).</p>
+
+<ul>
+<li> Two versions of a document were involved: <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> (second working draft) and <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span> (first working draft);</li>
+<li> Both <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> and <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span> were published by the WWW Consortium (<span class="name"><a href="http://www.w3.org/Consortium">w3:Consortium</a></span>); </li>
+<li> The publication activity for <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> was <span class="name">ex:act2</span>;</li>
+<li> The publication activity for <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span> was <span class="name">ex:act1</span>;
+</li>
+
+<li> The document <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> was derived from <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span>;</li>
+
+<li> The publication activity <span class="name">ex:act1</span> used a <a href="http://www.w3.org/2005/08/01-transitions.html#pubreq">publication request</a> (<span class="name"><a href="https://lists.w3.org/Archives/Member/w3c-archive/2011Oct/0141">email:2011Oct/0141</a></span>) and a <a href="http://www.w3.org/2005/08/01-transitions.html#transreq">transition request</a> (<span class="name"><a href="https://lists.w3.org/Archives/Member/chairs/2011OctDec/0004">chairs:2011OctDec/0004</a></span>);</li>
+<li> The publication activity <span class="name">ex:act2</span> used a <a href="http://www.w3.org/2005/08/01-transitions.html#pubreq">publication request</a> (<span class="name"><a href="https://lists.w3.org/Archives/Member/w3c-archive/2011Dec/0111">email:2011Dec/0111</a></span>);</li>
+<li> Documents were published according to the process rules (<span class="name"><a href="http://www.w3.org/2005/10/Process-20051014/tr.html#rec-advance">process:rec-advance</a></span>), a plan in PROV-DM terminology.</li>
+</ul>
+
+<p>
+We now paraphrase some PROV descriptions, and express them with the PROV-N notation, and depict them with a graphical illustration (see <a href="#prov-a-document2-top">Figure 3</a>). Full details of the provenance record can be found <a href="examples/w3c-publication1.pn">here</a>.
+
+</p><div style="text-align: center;">
+ <figure id="prov-a-document2-top">
+ <img src="images/w3-publication1.png" alt="Provenance of a Document (2)" style="max-width: 90%; ">
+<div class="figcaption" id="prov-a-document2">Figure 3: Provenance of a Document (2)</div>
+ </figure>
+</div>
+
+
+
+<ul>
+<li>There was a document, a working draft (<a href="http://www.w3.org/2001/02pd/rec54#WD">rec54:WD</a>), which is an entity so that we can describe its provenance. Similar descriptions exist for all entities.
+<pre>entity(tr:WD-prov-dm-20111215, [ prov:type='rec54:WD' ])
+</pre>
+</li>
+<li>There was a publication activity.
+<pre>activity(ex:act2,[prov:type="publish"])
+</pre>
+</li>
+
+<li>The document was generated by the publication activity: this was a <a title="concept-Generation">Generation</a>.
+<pre>wasGeneratedBy(tr:WD-prov-dm-20111215, ex:act2, -)
+</pre>
+</li>
+
+
+<li>The second draft of the document was derived from the first draft: this was a <a title="concept-Derivation">Derivation</a>.
+<pre>wasDerivedFrom(tr:WD-prov-dm-20111215, tr:WD-prov-dm-20111018)
+</pre>
+</li>
+
+<li>The activity required a publication request: this was a <a title="concept-Usage">Usage</a>.
+<pre>used(ex:act2, email:2011Dec/0111, -)
+</pre>
+</li>
+
+<li>The activity was associated with the Consortium agent, and proceeded according to its publication policy: this is an <a title="concept-activityAssociation">Activity Association</a>.
+<pre>wasAssociatedWith(ex:act2, w3:Consortium, process:rec-advance)
+</pre>
+</li>
+</ul>
+
+
+
+
+
+
+
+
+<p> This simple example has shown a variety of PROV concepts, such as Entity, Agent, Activity, Usage, Generation, Derivation, and Association. In this example, it happens that all entities were already Web resources, with readily available URIs, which we used. We note that some of the resources are public, whereas others have restricted access: provenance statements only make use of their identifiers. If identifiers do not pre-exist, e.g. for activities, then they can be generated, for instance <span class="name">ex:act2</span>, occurring in the namespace identified by prefix <span class="name">ex</span>. We note that the URI scheme developed by <acronym title="World Wide Web Consortium">W3C</acronym> is particularly suited for expressing provenance of these documents, since each URI denotes a specific version of a document. It then becomes easy to relate the various versions with PROV-DM relations. We note that an Association is a ternary relation (represented by a multi-edge labeled wasAssociatedWith) from an activity to an agent and a plan.</p>
+
+
+</div>
+
+
+<div id="section-example-c" class="section">
+<h3><span class="secno">4.3 </span>Attribution of Provenance</h3>
+
+<p>The two previous sections offer two different perspectives on the provenance of a document. PROV allows for multiple sources 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 name a bundle of provenance descriptions (full details: <a href="examples/w3c-publication3.pn">ex:author-view</a>). </p>
+
+<pre class="codeexample">bundle ex:author-view
+
+ agent(ex:Paolo, [ prov:type='prov:Person' ])
+ agent(ex:Simon, [ prov:type='prov:Person' ])
+
+
+...
+
+endBundle
+</pre>
+
+Likewise, the process view can be expressed as a separate named bundle (full details: <a href="examples/w3c-publication1.pn">ex:process-view</a>).
+<pre class="codeexample">bundle ex:process-view
+
+ agent(w3:Consortium, [ prov:type='prov:Organization' ])
+
+...
+
+endBundle
+</pre>
+
+<p>To express their respective provenance, these bundles must be seen as entities, and all PROV constructs are now available to express their provenance. In the example below, <span class="name">ex:author-view</span> is attributed to the agent <span class="name">ex:Simon</span>, whereas <span class="name">ex:process-view</span> to <span class="name">w3:Consortium</span>.
+
+</p><pre class="codeexample">entity(ex:author-view, [prov:type='prov:Bundle' ])
+wasAttributedTo(ex:author-view, ex:Simon)
+
+entity(ex:process-view, [prov:type='prov:Bundle' ])
+wasAttributedTo(ex:process-view, w3:Consortium)
+</pre>
+
+</div>
+
+</div>
+
+
+<div id="data-model-components" class="section">
+
+<!--OddPage--><h2><span class="secno">5. </span>PROV-DM Types and Relations</h2>
+
+<p>Provenance concepts, expressed as PROV-DM types and relations, are organized according to six components that are defined in this section.
+The components and their dependencies are illustrated in <a href="#prov-dm-components">Figure 4</a>. A component that relies on concepts defined in another is displayed above it in the figure. So, for example, component 6 (collections) depends on concepts defined in component 3 (derivation), itself dependen on concepts defined in component 1 (entity and activity).
+</p>
+
+<div id="prov-dm-components-ul">
+<ul>
+<li><b>Component 1: entities and activities.</b> The first component consists of entities, activities, and concepts linking them, such as generation, usage, start, end. The first component is the only one comprising time-related concepts. </li>
+<li><b>Component 2: agents and responsibility.</b> The second component consists of agents and concepts ascribing responsibility to agents.</li>
+<li><b>Component 3: derivations.</b> The third component is formed with derivations and derivation subtypes.</li>
+<li><b>Component 4: alternate.</b> The fourth component consists of relations linking entities referring to the same thing. </li>
+<li><b>Component 5: bundles.</b> The fifth component is concerned with bundles, a mechanism to support provenance of provenance.</li>
+<li><b>Component 6: collections.</b> The sixth component is about collections and concepts capturing their transformation, such as insertion and removal. </li>
+</ul>
+</div>
+
+<!-- TODO: update map for linking -->
+
+<div style="text-align: center;">
+<figure style="max-width: 90%; ">
+<img usemap="#componentMap" src="images/components-dependencies.png" alt="PROV-DM Components" style="max-width: 90%; ">
+<map id="componentMap" name="componentMap">
+<area title="collections" href="#component5" coords="220,0,440,70" alt="collections" shape="rect">
+<area title="alternate" href="#component4" coords="450,0,510,140" alt="alternate" shape="rect">
+<area title="annotations" href="#component6" coords="530,0,590,220" alt="annotations" shape="rect">
+<area title="activities/entities" href="#component1" coords="80,150,510,220" alt="activities/entities" shape="rect">
+<area title="derivations" href="#component3" coords="80,0,210,70" alt="derivations" shape="rect">
+<area title="agents/responsibility" href="#component2" coords="0,0,70,220" alt="agents/responsibility" shape="rect">
+</map>
+<div class="figcaption" id="prov-dm-components">Figure 4: PROV-DM Components</div>
+</figure>
+</div>
+
+<p>
+While not all PROV-DM relations are binary, they all involve two primary elements. Hence, <a href="#relations-at-a-glance">Table 4</a> indexes all relations according to their two primary elements (referred to as subject and object). The table adopts the same color scheme as <a href="#prov-dm-components">Figure 4</a>, allowing components to be readily identified.
+Note that for simplicity, this table does not include bundle-oriented and collection-oriented relations.
+Relation names appearing in bold correspond to the core structures introduced
+in <a href="#core-structures">Section 2.1</a>.</p>
+
+
+<div id="relations-at-a-glance-div" style="text-align: center;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="relations-at-a-glance">Table 4: PROV-DM Relations At a Glance</caption>
+<tbody><tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td colspan="3">Object</td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td>Entity</td><td>Activity</td><td>Agent</td></tr>
+<tr><td rowspan="3">Subject</td><td>Entity</td><td><div class="component3-color"><a class="essential internalDFN" href="#dfn-wasderivedfrom">wasDerivedFrom</a><br><a>wasRevisionOf</a><br><a>wasQuotedFrom</a><br><a>hadOriginalSource</a></div><div class="component4-color"><a href="#dfn-alternateof" class="internalDFN">alternateOf</a><br><a href="#dfn-specializationof" class="internalDFN">specializationOf</a></div></td><td class="component1-color"><a class="essential internalDFN" title="wasGeneratedBy" href="#dfn-wasgeneratedby">wasGeneratedBy</a><br><a title="wasInvalidatedBy" href="#dfn-wasinvalidatedby" class="internalDFN">wasInvalidatedBy</a></td><td class="component2-color"><a class="essential internalDFN" href="#dfn-wasattributedto">wasAttributedTo</a></td></tr>
+<tr><td>Activity</td><td><div class="component1-color"><a class="essential internalDFN" href="#dfn-used">used</a><br><a href="#dfn-wasstartedby" class="internalDFN">wasStartedBy</a><br><a href="#dfn-wasendedby" class="internalDFN">wasEndedBy</a></div></td><td class="component1-color"><a class="essential internalDFN" href="#dfn-wasinformedby">wasInformedBy</a></td><td class="component2-color"><a class="essential internalDFN" href="#dfn-wasassociatedwith">wasAssociatedWith</a></td></tr>
+<tr><td>Agent</td><td>—</td><td>—</td><td class="component2-color"><a class="essential internalDFN" href="#dfn-actedonbehalfof">actedOnBehalfOf</a></td></tr>
+</tbody></table>
+</div>
+
+<p><a href="#prov-dm-types-and-relations">Table 5</a> is a complete index of all the types and relations of PROV-DM, color-coded according to the component they belong to. In the first column, concept names link to their informal definition, whereas, in the second column, representations link to the information used to represent the concept. Concept names appearing in bold are the core structures introduced in <a href="#core-structures">Section 2.1</a>.</p>
+
+
+<div id="prov-dm-types-and-relations-fig" style="text-align: left;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="prov-dm-types-and-relations">Table 5: PROV-DM Types and Relations</caption>
+<tbody><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; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component1-color"><td class="essential"><a href="#concept-entity" class="internalDFN">Entity</a></td><td><a title="dfn-Entity" class="essential internalDFN" href="#dfn-entity">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 href="#concept-activity" class="internalDFN">Activity</a></td><td><a title="dfn-Activity" class="essential internalDFN" href="#dfn-activity">activity(id, st, et, [ attr1=val1, ...])</a></td></tr>
+<tr class="component1-color"><td class="essential"><a href="#concept-generation" class="internalDFN">Generation</a></td><td><a title="wasGeneratedBy" href="#dfn-wasgeneratedby" class="internalDFN"><span class="essential">wasGeneratedBy(</span>id;<span class="essential">e,a</span>,t,attrs<span class="essential">)</span></a></td></tr>
+<tr class="component1-color"><td class="essential"><a href="#concept-usage" class="internalDFN">Usage</a></td><td><a title="used" href="#dfn-used" class="internalDFN"><span class="essential">used(</span>id;<span class="essential">a,e</span>,t,attrs<span class="essential">)</span></a></td></tr>
+<tr class="component1-color"><td class="essential"><a href="#concept-communication" class="internalDFN">Communication</a></td><td><a title="wasInformedBy" href="#dfn-wasinformedby" class="internalDFN">wasInformedBy(id;a2,a1,attrs)</a></td></tr>
+<tr class="component1-color"><td><a href="#concept-start" class="internalDFN">Start</a></td><td><a title="wasStartedBy" href="#dfn-wasstartedby" class="internalDFN">wasStartedBy(id;a2,e,a1,t,attrs)</a></td></tr>
+<tr class="component1-color"><td><a href="#concept-end" class="internalDFN">End</a></td><td><a title="wasEndedBy" href="#dfn-wasendedby" class="internalDFN">wasEndedBy(id;a2,e,a1,t,attrs)</a></td></tr>
+<tr class="component1-color"><td><a href="#concept-invalidation" class="internalDFN">Invalidation</a></td><td><a title="wasInvalidatedBy" href="#dfn-wasinvalidatedby" class="internalDFN">wasInvalidatedBy(id;e,a,t,attrs)</a></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component2-color" style="border-collapse: collapse; "><td class="essential"><a href="#concept-agent" class="internalDFN">Agent</a></td><td><a title="dfn-agent" class="essential internalDFN" href="#dfn-agent">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 href="#concept-attribution" class="internalDFN">Attribution</a></td><td><a title="wasAttributedTo" href="#dfn-wasattributedto" class="internalDFN"><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 href="#concept-association-core" class="internalDFN">Association</a></td><td><a title="wasAssociatedWith" href="#dfn-wasassociatedwith" class="internalDFN"><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 href="#concept-delegation" class="internalDFN">Delegation</a></td><td><a title="actedOnBehalfOf" href="#dfn-actedonbehalfof" class="internalDFN"><span class="essential">actedOnBehalfOf(</span>id;<span class="essential">ag2,ag1</span>,a,attrs<span class="essential">)</span></a></td></tr>
+<tr class="component2-color"><td class="provType"><a href="#concept-plan" class="internalDFN">Plan</a></td><td><a title="plan" href="#concept-plan" class="internalDFN">... prov:type='prov:Plan' ...</a></td>
+</tr><tr class="component2-color"><td class="provType"><a href="#concept-person" class="internalDFN">Person</a></td><td><a title="person" href="#concept-person" class="internalDFN">... prov:type='prov:Person' ...</a></td>
+</tr><tr class="component2-color"><td class="provType"><a href="#concept-organization" class="internalDFN">Organization</a></td><td><a title="organization" href="#concept-organization" class="internalDFN">... prov:type='prov:Organization' ...</a></td>
+</tr><tr class="component2-color"><td class="provType"><a title="software-agent" href="#concept-software-agent" class="internalDFN">SoftwareAgent</a></td><td><a title="software-agent" href="#concept-software-agent" class="internalDFN">... prov:type='prov:SoftwareAgent' ...</a></td>
+</tr><tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component3-color"><td class="essential"><a href="#concept-derivation" class="internalDFN">Derivation</a></td><td><a title="wasDerivedFrom" href="#dfn-wasderivedfrom" class="internalDFN"><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 href="#concept-revision" class="internalDFN">Revision</a></td><td><a title="revision" href="#concept-revision" class="internalDFN">... prov:type='prov:WasRevisionOf' ...</a></td></tr>
+<tr class="component3-color"><td class="provType"><a href="#concept-quotation" class="internalDFN">Quotation</a></td><td><a title="quotation" href="#concept-quotation" class="internalDFN">... prov:type='prov:WasQuotedFrom' ...</a></td></tr>
+<tr class="component3-color"><td class="provType"><a href="#concept-original-source" class="internalDFN">Original Source</a></td><td><a title="Original Source" href="#concept-original-source" class="internalDFN">... prov:type='prov:HadOriginalSource' ...</a></td></tr>
+<tr class="component3-color"><td><a href="#concept-trace" class="internalDFN">Trace</a></td><td><a title="tracedTo" href="#dfn-tracedto" class="internalDFN">tracedTo(id;e2,e1,attrs)</a></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component4-color"><td><a href="#concept-alternate" class="internalDFN">Alternate</a></td><td><a title="alternateOf" href="#dfn-alternateof" class="internalDFN">alternateOf(alt1, alt2)</a></td><td rowspan="2"><a href="#component4">Component 4: alternate</a></td></tr>
+<tr class="component4-color"><td><a href="#concept-specialization" class="internalDFN">Specialization</a></td><td><a title="specializationOf" href="#dfn-specializationof" class="internalDFN">specializationOf(sub, super)</a></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component5-color"><td><a title="bundle" href="#concept-bundle" class="internalDFN">Bundle constructor</a></td><td><a title="dfn-bundle" href="#dfn-bundle-declaration" class="internalDFN">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" href="#concept-bundle" class="internalDFN">Bundle description</a></td><td><a>... prov:type='prov:Bundle' ...</a></td></tr>
+<tr class="component5-color"><td><a href="#concept-provenance-locator" class="internalDFN">Provenance Locator</a></td><td><a title="hasProvenanceIn" href="#dfn-hasprovenancein" class="internalDFN">hasProvenanceIn(id, subject, bundle, target, service, prov, attrs)</a></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component6-color"><td class="provType"><a href="#concept-collection" class="internalDFN">Collection</a></td><td><a title="collection" href="#concept-collection" class="internalDFN">... 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 href="#concept-dictionary" class="internalDFN">Dictionary</a></td><td><a title="dictionary" href="#concept-dictionary" class="internalDFN">... prov:type='prov:Dictionary' ...</a></td></tr>
+<tr class="component6-color"><td class="provType"><a title="empty collection" href="#concept-empty-collection" class="internalDFN">EmptyCollection</a></td><td><a title="empty collection" href="#concept-empty-collection" class="internalDFN">... prov:type='prov:EmptyCollection' ...</a></td></tr>
+<tr class="component6-color"><td><a href="#concept-insertion" class="internalDFN">Insertion</a></td><td><a title="derivedByInsertionFrom" href="#dfn-derivedbyinsertionfrom" class="internalDFN">derivedByInsertionFrom(id; c2, c1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</a></td></tr>
+<tr class="component6-color"><td><a href="#concept-removal" class="internalDFN">Removal</a></td><td><a title="derivedByRemovalFrom" href="#dfn-derivedbyremovalfrom" class="internalDFN">derivedByRemovalFrom(id; c2, c1, {key_1, ... key_n}, attrs)</a></td></tr>
+<tr class="component6-color"><td><a href="#concept-membership" class="internalDFN">Membership</a></td><td><a title="memberOf" href="#dfn-memberof" class="internalDFN">memberOf(c, {(key_1, e_1), ..., (key_n, e_n)})</a></td></tr>
+</tbody></table>
+</div>
+
+<p>
+In the rest of the section, each type and relation is defined informally,
+ followed by a summary of the information used to represent the concept, and
+ illustrated with PROV-N examples.</p>
+
+
+<div id="component1" class="section">
+<h3><span class="secno">5.1 </span>Component 1: Entities and Activities</h3>
+
+<p>The first component of PROV-DM is concerned with <a title="entity" href="#concept-entity" class="internalDFN">entities</a> and <a title="activity" href="#concept-activity" class="internalDFN">activities</a>, and their interrelations: <a href="#concept-usage" class="internalDFN">Usage</a>, <a href="#concept-generation" class="internalDFN">Generation</a>, <a href="#concept-start" class="internalDFN">Start</a>, <a href="#concept-end" class="internalDFN">End</a>, <a href="#concept-invalidation" class="internalDFN">Invalidation</a>, and <a href="#concept-communication" class="internalDFN">Communication</a>. <a href="#figure-component1">Figure 5</a> uses UML to depict the first component.
+Core structures are displayed in the yellow area, consisting of two classes (<a href="#concept-entity" class="internalDFN">Entity</a>, <a href="#concept-activity" class="internalDFN">Activity</a>) and three binary associations between them (<a href="#concept-usage" class="internalDFN">Usage</a>, <a href="#concept-generation" class="internalDFN">Generation</a>, and <a href="#concept-communication" class="internalDFN">Communication</a>). The rest of the figure displays extended structures, including UML association classes (see [<cite><a class="bibref" rel="biblioentry" href="#bib-UML">UML</a></cite>], section 7.3.4, p. 42), represented in gray, to express expanded n-ary relations (for <a href="#concept-usage" class="internalDFN">Usage</a>, <a href="#concept-generation" class="internalDFN">Generation</a>, <a href="#concept-invalidation" class="internalDFN">Invalidation</a>, <a href="#concept-start" class="internalDFN">Start</a>, <a href="#concept-end" class="internalDFN">End</a>). The figure also makes explicit associations with <em>time</em> for these concepts (time being marked with the primitive stereotype).
+</p>
+
+<div style="text-align: center;">
+<figure>
+<!--<img src="images/Entities-Activities.png" alt="entities and activities"/> -->
+<img src="uml/component1.png" alt="entities and activities">
+<div class="figcaption" id="figure-component1">Figure 5: Entities and Activities Component Overview</div>
+</figure>
+</div>
+
+
+
+
+
+ <div id="term-Entity" class="section">
+
+<h4><span class="secno">5.1.1 </span>Entity</h4>
+
+
+<div class="glossary-ref"> An <dfn id="concept-entity">entity</dfn> is a physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary. </div>
+
+
+<p></p><div class="attributes" id="attributes-entity">An <dfn title="dfn-Entity" id="dfn-entity">entity</dfn><span class="withPn">, written <span class="pnExpression" id="pn-entity">entity(id, [attr1=val1, ...])</span> in PROV-N, </span> has:
+<ul>
+<li><span class="attribute" id="entity.id">id</span>: an identifier for an entity; </li>
+<li><span class="attribute" id="entity.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set of attribute-value pairs ((<span class="name">attr1</span>, <span class="name">val1</span>), ...) representing additional information about this entity.</li>
+</ul></div>
+
+<div class="anexample" count="16">
+<p>
+The following expression</p>
+<pre class="codeexample">entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ])
+</pre>
+states the existence of an entity, denoted by identifier <span class="name">tr:WD-prov-dm-20111215</span>, with type <span class="name">document</span> and version number <span class="name">2</span>. The attribute <span class="name">ex:version</span> is application specific, whereas the attribute <span class="name">type</span> (see <a href="#term-attribute-type">Section 5.7.4.4</a>) is reserved in the <a title="prov-namespace" href="#dfn-prov-namespace" class="internalDFN">PROV namespace</a>.
+<!--The following expression</p>
+<pre class="codeexample">
+entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ])
+entity(e0, [ prov:type="File", ex:path="/shared/crime.txt", ex:creator="Alice" ])
+</pre>
+states the existence of an entity, denoted by identifier <span class="name">e0</span>, with type <span class="name">File</span> and path <span class="name">/shared/crime.txt</span> in the
+file system, and creator alice. The attributes <span class="name">path</span> and <span class="name">creator</span> are application specific, whereas the attribute <span
+class="name">type</span> is reserved in the PROV namespace.-->
+</div>
+
+
+
+
+ </div>
+
+ <div id="term-Activity" class="section">
+
+<h4><span class="secno">5.1.2 </span>Activity</h4>
+
+<div class="glossary-ref"> An <dfn id="concept-activity">activity</dfn> is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, generating, or being associated with entities. </div>
+
+<p></p><div class="attributes" id="attributes-activity"> An <dfn title="dfn-Activity" id="dfn-activity">activity</dfn><span class="withPn">, written <span class="pnExpression" id="pn-activity">activity(id, st, et, [attr1=val1, ...])</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="activity.id">id</span>: an identifier for an activity;</li>
+<li><span class="attribute" id="activity.startTime">startTime</span>: an <em class="rfc2119" title="optional">optional</em> time (<span class="name">st</span>) for the start of the activity;</li>
+<li><span class="attribute" id="activity.endTime">endTime</span>: an <em class="rfc2119" title="optional">optional</em> time (<span class="name">et</span>) for the end of the activity;</li>
+<li><span class="attribute" id="activity.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set of attribute-value pairs ((<span class="name">attr1</span>, <span class="name">val1</span>), ...) representing additional information about this activity.</li>
+</ul></div>
+
+<div class="anexample" count="17">
+<p>
+The following expression</p>
+<pre class="codeexample">activity(a1,2011-11-16T16:05:00,2011-11-16T16:06:00,
+ [ ex:host="server.example.org", prov:type='ex:edit' ])
+</pre>
+<p>states the existence of an activity with identifier <span class="name">a1</span>, start time <span class="name">2011-11-16T16:05:00</span>, and end time <span class="name">2011-11-16T16:06:00</span>, running on host <span class="name">server.example.org</span>, and of type <span class="name">edit</span>. The attribute <span class="name">host</span> is application specific (declared in some namespace with prefix <span class="name">ex</span>). The attribute <span class="name">type</span> is a reserved attribute of PROV-DM, allowing for sub-typing to be expressed (see <a href="#term-attribute-type">Section 5.7.4.4</a>).</p>
+</div>
+
+
+
+<p>Further considerations:</p>
+<ul>
+<li>An activity is not an entity. This distinction is similar to the distinction between
+'continuant' and 'occurrent' in logic [<cite><a class="bibref" rel="biblioentry" href="#bib-Logic">Logic</a></cite>].
+</li>
+</ul>
+
+
+</div>
+
+<div id="term-Generation" class="section">
+<h4><span class="secno">5.1.3 </span>Generation</h4>
+
+<div class="glossary-ref"> <dfn id="concept-generation">Generation</dfn> is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. </div>
+
+<p>
+</p><div class="attributes" id="attributes-generation"><dfn title="wasGeneratedBy" id="dfn-wasgeneratedby">Generation</dfn><span class="withPn">, written <span class="pnExpression">wasGeneratedBy(id; e, a, t, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="generation.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a generation;</li>
+<li><span class="attribute" id="generation.entity">entity</span>: an identifier (<span class="name">e</span>) for a created entity; </li>
+<li><span class="attribute" id="generation.activity">activity</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">a</span>) for the activity that creates the entity;</li>
+
+<li><span class="attribute" id="generation.time">time</span>: an <em class="rfc2119" title="optional">optional</em> "generation time" (<span class="name">t</span>), the time at which the entity was completely created;</li>
+
+<li><span class="attribute" id="generation.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this generation.</li>
+</ul></div>
+<p>While each of <a href="#generation.id"><span class="attribute">id</span></a>, <a href="#generation.activity"><span class="attribute">activity</span></a>, <a href="#generation.time"><span class="attribute">time</span></a>, and <a href="#generation.attributes"><span class="attribute">attributes</span></a> is <em class="rfc2119" title="optional">optional</em>, at least one of them <em class="rfc2119" title="must">must</em> be present.</p>
+
+
+
+
+
+<div class="anexample" count="18">
+<p>
+The following expressions</p>
+<pre class="codeexample"> wasGeneratedBy(e1, a1, 2001-10-26T21:32:52, [ ex:port="p1" ])
+ wasGeneratedBy(e2, a1, 2001-10-26T10:00:00, [ ex:port="p2" ])
+</pre>
+<p>state the existence of two generations (with respective times <span class="name">2001-10-26T21:32:52</span> and <span class="name">2001-10-26T10:00:00</span>), at which new entities, identified by <span class="name">e1</span> and <span class="name">e2</span>, are created by an
+activity, identified by <span class="name">a1</span>.
+The first one is available on port <span class="name">p1</span>, whereas the other is available on port <span class="name">p2</span>. The semantics of <span class="name">port</span> are application specific.
+</p>
+</div>
+
+
+<div class="anexample" count="19">
+<p>
+In some cases, we may want to record the time at which an entity was generated without having to specify the activity that generated it. To support this requirement, the activity element in generation is optional. Hence, the following expression indicates the time at which an entity is generated, without naming the activity that did it.</p>
+<pre class="codeexample"> wasGeneratedBy(e, -, 2001-10-26T21:32:52)
+</pre>
+</div>
+
+
+</div>
+
+
+<div id="term-Usage" class="section">
+<h4><span class="secno">5.1.4 </span>Usage</h4>
+
+<div class="glossary-ref"> <dfn id="concept-usage">Usage</dfn> is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. </div>
+
+
+<p></p><div class="attributes" id="attributes-usage"><dfn title="used" id="dfn-used">Usage</dfn><span class="withPn">, written <span class="pnExpression">used(id; a, e, t, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="usage.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a usage;</li>
+<li><span class="attribute" id="usage.activity">activity</span>: an identifier (<span class="name">a</span>) for the activity that used an entity;</li>
+<li><span class="attribute" id="usage.entity">entity</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">e</span>) for the entity being used;</li>
+<li><span class="attribute" id="usage.time">time</span>: an <em class="rfc2119" title="optional">optional</em> "usage time" (<span class="name">t</span>), the time at which the entity started to be used;</li>
+<li><span class="attribute" id="usage.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this usage.</li>
+</ul></div>
+
+<p>While each of <a href="#usage.id"><span class="attribute">id</span></a>, <a href="#usage.entity"><span class="attribute">entity</span></a>, <a href="#usage.time"><span class="attribute">time</span></a>, and <a href="#usage.attributes"><span class="attribute">attributes</span></a> is <em class="rfc2119" title="optional">optional</em>, at least one of them <em class="rfc2119" title="must">must</em> be present.</p>
+
+<p>
+A reference to a given entity <em class="rfc2119" title="may">may</em> appear in multiple usages that share
+ a given activity identifier.
+</p>
+
+
+<div class="anexample" count="20">
+<p>The following usages</p>
+<pre class="codeexample"> used(a1, e1, 2011-11-16T16:00:00, [ ex:parameter="p1" ])
+ used(a1, e2, 2011-11-16T16:00:01, [ ex:parameter="p2" ])
+</pre>
+<p>state that the activity identified by <span class="name">a1</span> used two entities identified by <span class="name">e1</span> and <span class="name">e2</span>, at times <span class="name">2011-11-16T16:00:00</span> and <span class="name">2011-11-16T16:00:01</span>, respectively; the first
+one was found as the value of parameter <span class="name">p1</span>, whereas the second was found as value of parameter <span class="name">p2</span>. The semantics of <span class="name">parameter</span> is application specific.</p>
+</div>
+
+
+
+
+
+
+</div>
+
+<div id="term-wasInformedBy" class="section">
+<h4><span class="secno">5.1.5 </span>Communication</h4>
+
+<div class="glossary-ref"> <dfn id="concept-communication">Communication</dfn> is the exchange of an entity by two activities, one activity using the entity generated by the other. </div>
+
+
+<p>A communication implies that activity <span class="name">a2</span> is dependent on another <span class="name">a1</span>, by way of some unspecified entity that is generated by <span class="name">a1</span> and used by <span class="name">a2</span>.</p>
+
+
+
+
+<p></p><div class="attributes" id="attributes-wasInformedBy">
+A <dfn title="wasInformedBy" id="dfn-wasinformedby">communication</dfn><span class="withPn">, written as
+<span class="pnExpression">wasInformedBy(id; a2, a1, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="wasInformedBy.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
+<li><span class="attribute" id="wasInformedBy.informed">informed</span>: the identifier (<span class="name">a2</span>) of the informed activity;
+</li><li><span class="attribute" id="wasInformedBy.informant">informant</span>: the identifier (<span class="name">a1</span>) of the informant activity;
+</li><li><span class="attribute" id="wasInformedBy.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this communication.</li>
+</ul>
+</div>
+
+
+
+<div class="anexample" count="21">
+<p>
+Consider two activities <span class="name">a1</span> and <span class="name">a2</span>, the former performed by a government agency, and the latter by a driver caught speeding.
+</p><pre class="codeexample">activity(a1, [ prov:type="traffic regulations enforcing" ])
+activity(a2, [ prov:type="fine paying, check writing, and mailing" ])
+wasInformedBy(a2, a1)
+</pre>
+The last line indicates that some implicit entity was generated by <span class="name">a1</span> and used by <span class="name">a2</span>; this entity may be a traffic ticket that had a notice of fine, amount, and payment mailing details.
+</div>
+</div>
+
+<div id="term-Start" class="section">
+<h4><span class="secno">5.1.6 </span>Start</h4>
+
+<div class="glossary-ref"></div>
+
+
+<p></p><div class="attributes" id="attributes-start">An activity <dfn title="wasStartedBy" id="dfn-wasstartedby">start</dfn><span class="withPn">, written <span class="pnExpression">wasStartedBy(id; a2, e, a1, t, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="start.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the activity start;</li>
+<li><span class="attribute" id="start.activity">activity</span>: an identifier (<span class="name">a2</span>) for the started activity;</li>
+<li><span class="attribute" id="start.trigger">trigger</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">e</span>) for the entity triggering the activity;</li>
+<li><span class="attribute" id="start.starter">starter</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">a1</span>) for the activity that generated the (possibly unspecified) entity (<span class="name">e</span>);</li>
+<li><span class="attribute" id="start.time">time</span>: the <em class="rfc2119" title="optional">optional</em> time (<span class="name">t</span>) at which the activity was started; </li>
+<li><span class="attribute" id="start.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this activity start.
+</li></ul>
+</div>
+
+<p>While each of <a href="#start.id"><span class="attribute">id</span></a>, <a href="#start.trigger"><span class="attribute">trigger</span></a>, <a href="#start.starter"><span class="attribute">starter</span></a>, <a href="#start.time"><span class="attribute">time</span></a>, and <a href="#start.attributes"><span class="attribute">attributes</span></a> is <em class="rfc2119" title="optional">optional</em>, at least one of them <em class="rfc2119" title="must">must</em> be present.</p>
+
+
+<div class="anexample" count="22">
+<p>
+The following example contains the description of an activity <span class="name">a1</span> (a discussion), which was started at a specific time, and was triggered by an email message <span class="name">e1</span>.</p>
+<pre class="codeexample">entity(e1, [ prov:type="email message"] )
+activity(a1, [ prov:type="Discuss" ])
+wasStartedBy(a1, e1, -, 2011-11-16T16:05:00)
+</pre>
+Furthermore, if the message is also an input to the activity, this can be described as follows:
+<pre class="codeexample">used(a1, e1, -)
+</pre>
+<p>Alternatively, one can also describe the activity that generated the email message.</p>
+<pre class="codeexample">activity(a0, [ prov:type="Write" ])
+wasGeneratedBy(e1, a0)
+wasStartedBy(a1, e1, a0, 2011-11-16T16:05:00)
+</pre>
+<p>If <span class="name">e1</span> is not known, it would also have valid to write:
+</p><pre class="codeexample">wasStartedBy(a1, -, a0, 2011-11-16T16:05:00)
+</pre>
+</div>
+
+<div class="anexample" count="23">
+<p>
+In the following example, a race is started by a bang, and responsibility for this trigger is attributed to an agent
+ <span class="name">ex:Bob</span>.
+</p><pre class="codeexample">activity(ex:foot_race)
+entity(ex:bang)
+wasStartedBy(ex:foot_race, ex:bang, -, 2012-03-09T08:05:08-05:00)
+agent(ex:Bob)
+wasAttributedTo(ex:bang, ex:Bob)
+</pre>
+</div>
+
+<div class="anexample" count="24">
+<p>
+In this example, filling fuel was started as a consequence of
+observing low fuel. The trigger entity is unspecified, it could
+for instance have been the low fuel warning light, the fuel tank
+indicator needle position, or the engine not running properly.
+
+
+</p><pre class="codeexample">activity(ex:filling-fuel)
+activity(ex:observing-low-fuel)
+
+agent(ex:driver, [ prov:type='prov:Person' )
+wasAssociatedWith(ex:filling-fuel, ex:driver)
+wasAssociatedWith(ex:observing-low-fuel, ex:driver)
+
+wasStartedBy(ex:filling-fuel, -, ex:observing-low-fuel, -)
+</pre>
+</div>
+
+<p>The relations wasStartedBy and used are orthogonal, and thus need to be expressed independently, according to the situation being described.</p>
+
+</div>
+
+<div id="term-End" class="section">
+<h4><span class="secno">5.1.7 </span>End</h4>
+
+<div class="glossary-ref"> <dfn id="concept-end">End</dfn> is when an activity is deemed to have ended. The activity no longer exists after its end. Any usage, generation, or invalidation involving an activity precedes the activity's end. An end may refer to an entity, known as <dfn id="concept-end-trigger">trigger</dfn>, that terminated the activity, or to an activity, known as <dfn id="concept-end-ender">ender</dfn> that generated the trigger. </div>
+
+
+<p></p><div class="attributes" id="attributes-end">An activity <dfn title="wasEndedBy" id="dfn-wasendedby">end</dfn><span class="withAsn">, written <span class="pnExpression">wasEndedBy(id; a2, e, a1, t, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="end.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the activity end;</li>
+<li><span class="attribute" id="end.activity">activity</span>: an identifier (<span class="name">a2</span>) for the ended activity;
+</li><li><span class="attribute" id="end.trigger">trigger</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">e</span>) for the entity triggering the activity ending;
+</li><li><span class="attribute" id="end.ender">ender</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">a1</span>) for the activity that generated the (possibly unspecified) entity (<span class="name">e</span>);</li>
+<li><span class="attribute" id="end.time">time</span>: the <em class="rfc2119" title="optional">optional</em> time (<span class="name">t</span>) at which the activity was ended; </li>
+<li><span class="attribute" id="end.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this activity end.
+</li></ul>
+</div>
+
+<p>While each of <a href="#end.id"><span class="attribute">id</span></a>, <a href="#end.trigger"><span class="attribute">trigger</span></a>, <a href="#end.ender"><span class="attribute">ender</span></a>, <a href="#end.time"><span class="attribute">time</span></a>, and <a href="#end.attributes"><span class="attribute">attributes</span></a> is <em class="rfc2119" title="optional">optional</em>, at least one of them <em class="rfc2119" title="must">must</em> be present.</p>
+
+
+<div class="anexample" count="25">
+<p>
+The following example is a description of an activity <span class="name">a1</span> (editing) that was ended following an approval document <span class="name">e1</span>.</p>
+<pre class="codeexample">entity(e1, [ prov:type="approval document" ])
+activity(a1, [ prov:type="Editing" ])
+wasEndedBy(a1, e1)
+</pre>
+</div>
+</div>
+
+<div id="term-Invalidation" class="section">
+<h4><span class="secno">5.1.8 </span>Invalidation</h4>
+
+
+<div class="glossary-ref"> <dfn id="concept-invalidation">Invalidation</dfn> is the start of the destruction, cessation, or expiry of an existing entity by an activity. The entity is no longer available for use (or further invalidation) after invalidation. Any generation or usage of an entity precedes its invalidation.</div>
+
+
+
+<p>
+Entities have a duration. Generation marks the beginning of an entity, whereas invalidation marks its end.
+An entity's lifetime can end for different reasons:</p>
+<ul>
+<li> an entity was destroyed: e.g. a painting was destroyed by fire; a Web page is taken out of a site;
+</li><li> an entity was consumed: e.g. Bob ate all his soup, Alice ran out of gas when driving to work;
+</li><li> an entity expires: e.g. a "buy one beer, get one free" offer is valid during happy hour (7-8pm);
+</li><li> an entity is time limited: e.g. the BBC news site on April 3rd, 2012;
+</li><li> an entity attribute is changing: e.g. the traffic light changed from green to red.
+</li></ul>
+<p>In the first two cases, the entity has physically disappeared after its termination: there is no more soup, or painting. In the last three cases, there may be an "offer voucher" that still exists, but it is no longer valid; likewise, on April 4th, the BBC news site still exists but it is not the same entity as BBC news Web site on April 3rd; or the traffic light became red and therefore is regarded as a different entity to the green light.
+</p>
+
+
+
+<p>
+</p><div class="attributes" id="attributes-invalidation"><dfn title="wasInvalidatedBy" id="dfn-wasinvalidatedby">Invalidation</dfn><span class="withPn">, written <span class="pnExpression">wasInvalidatedBy(id; e, a, t, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="invalidation.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a invalidation;</li>
+<li><span class="attribute" id="invalidation.entity">entity</span>: an identifier for the invalidated entity; </li>
+<li><span class="attribute" id="invalidation.activity">activity</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the activity that invalidated the entity;</li>
+
+<li><span class="attribute" id="invalidation.time">time</span>: an <em class="rfc2119" title="optional">optional</em> "invalidation time", the time at which the entity began to be invalidated;</li>
+
+<li><span class="attribute" id="invalidation.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set of attribute-value pairs representing additional information about this invalidation.</li>
+</ul></div>
+<p>While each of <a href="#invalidation.id"><span class="attribute">id</span></a>, <a href="#invalidation.activity"><span class="attribute">activity</span></a>, <a href="#invalidation.time"><span class="attribute">time</span></a>, and <a href="#invalidation.attributes"><span class="attribute">attributes</span></a> is <em class="rfc2119" title="optional">optional</em>, at least one of them <em class="rfc2119" title="must">must</em> be present.</p>
+
+
+
+<div class="anexample" id="anexample-invalidation1" count="26">
+<p>
+<em>The Painter</em>, a Picasso painting, is known to have been destroyed in a <a href="http://en.wikipedia.org/wiki/Lost_artworks#20th_century">plane accident</a>.
+
+</p><pre class="codeexample">entity(ex:The-Painter)
+agent(ex:Picasso)
+wasAttributedTo(ex:The-Painter, ex:Picasso)
+activity(ex:crash)
+wasInvalidatedBy(ex:The-Painter, ex:crash, 1998-09-02, [ ex:circumstances="plane accident" ])
+</pre>
+</div>
+
+<div class="anexample" id="anexample-invalidation2" count="27">
+<p>
+The BBC news home page on 2012-04-03 <span class="name">ex:bbcNews2012-04-03</span>
+contained a reference to a given news item
+ <a href="http://www.bbc.co.uk/news/uk-17595024">bbc:news/uk-17595024</a>,
+but the BBC news home page on the next day did not.
+</p><pre class="codeexample">entity(ex:bbcNews2012-04-03)
+memberOf(ex:bbcNews2012-04-03, {("item1", bbc:news/uk-17595024)})
+wasGeneratedBy (ex:bbcNews2012-04-03, -, 2012-04-03T00:00:01)
+wasInvalidatedBy(ex:bbcNews2012-04-03, -, 2012-04-03T23:59:59)
+</pre>
+
+We refer to example
+<a href="#anexample-specialization" class="anexample-ref"><span>Example 40</span></a>
+ for further descriptions of the BBC Web site, and to <a href="#term-dictionary-membership">Section 5.6.5</a> for a description of the relation <a href="#dfn-memberof" class="internalDFN">memberOf</a>.
+</div>
+
+
+<div class="anexample" id="anexample-invalidation3" count="28">
+<p>
+In this example, the "buy one beer, get one free" offer expired at the end of the happy hour.</p>
+<pre class="codeexample">entity(buy_one_beer_get_one_free_offer_during_happy_hour)
+wasAttributedTo(proprietor)
+wasInvalidatedBy(buy_one_beer_get_one_free_offer_during_happy_hour,
+ -,2012-03-10T18:00:00)
+</pre>
+<p>In contrast, in the following descriptions, Bob redeemed the offer 45 minutes before it expired, and got two beers.
+</p>
+<pre class="codeexample">entity(buy_one_beer_get_one_free_offer_during_happy_hour)
+wasAttributedTo(proprietor)
+activity(redeemOffer)
+entity(twoBeers)
+
+wasAssociatedWith(redeemOffer,bob)
+used(buy_one_beer_get_one_free_offer_during_happy_hour,
+ redeemOffer, 2012-03-10T17:15:00)
+wasInvalidatedBy(buy_one_beer_get_one_free_offer_during_happy_hour,
+ redeemOffer, 2012-03-10T17:15:00)
+wasGeneratedBy(twoBeers,redeemOffer)
+</pre>
+<p>We see that the offer was both used to be converted into <span class="name">twoBeers</span> and invalidated by the <span class="name">redeemOffer</span> activity: in other words, the combined usage and invalidation indicate consumption of the offer.</p>
+</div>
+
+
+</div>
+
+
+
+
+
+</div>
+
+<div id="component2" class="section">
+<h3><span class="secno">5.2 </span>Component 2: Agents and Responsibility</h3>
+
+<p>The second component of PROV-DM, depicted in <a href="#figure-component2">Figure 6</a>, is concerned with <a title="agent" href="#concept-agent" class="internalDFN">agents</a> and the notions of
+<a href="#concept-attribution" class="internalDFN">Attribution</a>, <a href="#concept-association-core" class="internalDFN">Association</a>, <a href="#concept-delegation" class="internalDFN">Delegation</a>, relating agents to entities, activities, and agents, respectively.
+ Core structures are displayed in the yellow area and include three classes and three binary associations. Outside the yellow area, extended structures comprise and UML association classes to express expanded n-ary relations, and subclasses <a href="#concept-plan" class="internalDFN">Plan</a>, <a href="#concept-person" class="internalDFN">Person</a>, <a title="software-agent" href="#concept-software-agent" class="internalDFN">SofwareAgent</a>, and <a href="#concept-organization" class="internalDFN">Organization</a>. The subclasses are marked by the UML stereotype "prov:type" to indicate that that these are valid values for the attribute <a href="#term-attribute-type">prov:type</a>
+</p>
+
+
+<div style="text-align: center;">
+<figure>
+<!-- <img src="images/Agents-Responsibility.png" alt="agents and responsibilities"/> -->
+<img src="uml/component2.png" alt="agents and responsibilities">
+<div class="figcaption" id="figure-component2">Figure 6: Agents and Responsibility Component Overview</div>
+</figure>
+</div>
+
+<div id="term-Agent" class="section">
+<h4><span class="secno">5.2.1 </span>Agent</h4>
+
+<div class="glossary-ref"> An <dfn id="concept-agent">agent</dfn> is something that bears some form of responsibility for an activity taking place or for the existence of an entity. </div>
+
+
+<p></p><div class="attributes" id="attributes-agent">An <dfn title="dfn-agent" id="dfn-agent">agent</dfn><span class="withPn">, written <span class="pnExpression" id="pn-agent">agent(id, [attr1=val1, ...])</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="agent.id">id</span>: an identifier for an agent;</li>
+<li><span class="attribute" id="agent.attributes">attributes</span>: a set of attribute-value pairs ((<span class="name">attr1</span>, <span class="name">val1</span>), ...) representing additional information about this agent.
+</li>
+</ul></div>
+
+
+<p>
+
+It is useful to define some basic categories of agents from an interoperability perspective.
+There are three types of agents that are common across most anticipated domains of use; it is acknowledged that these types do not cover all kinds of agent. </p>
+<ul>
+<li><span class="name">SoftwareAgent</span>
+<div class="glossary-ref"> A <dfn id="concept-software-agent" title="software-agent">software agent</dfn> is running software. </div>
+
+<p></p></li>
+
+<li><span class="name">Organization</span>
+
+<div class="glossary-ref"> Agents of type <dfn id="concept-organization">Organization</dfn> are social or legal institutions such as companies, societies, etc. </div>
+
+<p></p></li>
+
+<li><span class="name">Person</span>
+
+<div class="glossary-ref"> Agents of type <dfn id="concept-person" title="person">Person</dfn> are people. </div></li>
+</ul>
+
+
+
+
+
+<div class="anexample" count="29">
+<p>The following expression is about an agent identified by <span class="name">e1</span>, which is a person, named Alice, with employee number 1234.</p>
+<pre class="codeexample">agent(e1, [ex:employee="1234", ex:name="Alice", prov:type='prov:Person' ])
+</pre>
+<p>It is optional to specify the type of an agent. When present, it is expressed using the <span class="name">prov:type</span> attribute.</p>
+</div>
+
+</div>
+
+<div id="term-attribution" class="section">
+<h4><span class="secno">5.2.2 </span>Attribution</h4>
+
+<div class="glossary-ref"> <dfn id="concept-attribution">Attribution</dfn> is the ascribing of an entity to an agent. </div>
+
+<p>When an entity <span class="name">e</span> is attributed to agent <span class="name">ag</span>, entity <span class="name">e</span> was generated by some unspecified activity that in turn was associated to agent <span class="name">ag</span>. Thus, this relation is useful when the activity is not known, or irrelevant.</p>
+
+<p></p><div class="attributes" id="attributes-attribution">An <dfn title="wasAttributedTo" id="dfn-wasattributedto">attribution</dfn> relation<span class="withPn">, written <span class="pnExpression">wasAttributedTo(id; e, ag, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="attribution.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the relation;</li>
+<li><span class="attribute" id="attribution.entity">entity</span>: an entity identifier (<span class="name">e</span>);</li>
+<li><span class="attribute" id="attribution.agent">agent</span>: the identifier (<span class="name">ag</span>) of the agent whom the entity is ascribed to, and therefore bears some responsibility for its existence;</li>
+<li><span class="attribute" id="attribution.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this attribution.</li>
+</ul>
+</div>
+
+<div class="anexample" id="anexample-attribution" count="30">
+<p>
+Revisiting the example of <a href="#section-example-one">Section 4.1</a>,
+we can ascribe <span class="name">tr:WD-prov-dm-20111215</span> to some agents without an explicit activity. The reserved attribute <span class="name">role</span> (see <a href="#term-attribute-role">Section 5.7.4.3</a>) allows for role of the agent in the attribution to be specified.
+</p><pre class="codeexample">agent(ex:Paolo, [ prov:type="Person" ])
+agent(ex:Simon, [ prov:type="Person" ])
+entity(tr:WD-prov-dm-20111215, [ prov:type='rec54:WD' ])
+wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, [ prov:role="editor" ])
+wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, [ prov:role="contributor" ])
+</pre>
+</div>
+
+</div> <!-- end attribution -->
+
+
+<div id="term-ActivityAssociation" class="section">
+<h4><span class="secno">5.2.3 </span>Association</h4>
+
+<div class="glossary-ref"> An activity <dfn id="concept-activityAssociation">association</dfn> is an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity. It further allows for a plan to be specified, which is the plan intended by the agent to achieve some goals in the context of this activity. </div>
+
+<p></p>
+<div class="glossary-ref"> A <dfn id="concept-plan">plan</dfn> is an entity that represents a set of actions or steps intended by one or more agents to achieve some goals. </div>
+
+
+<p></p><div class="attributes" id="attributes-activity-association">An <dfn title="wasAssociatedWith" id="dfn-wasassociatedwith">activity association</dfn><span class="withPn">, written <span class="pnExpression">wasAssociatedWith(id; a, ag, pl, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="association.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the association between an activity and an agent;</li>
+<li><span class="attribute" id="association.activity">activity</span>: an identifier (<span class="name">a</span>) for the activity;</li>
+<li><span class="attribute" id="association.agent">agent</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">ag</span>) for the agent associated with the activity;</li>
+<li><span class="attribute" id="association.plan">plan</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">pl</span>) for the plan adopted by the agent in the context of this activity;
+</li><li><span class="attribute" id="association.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this association of this activity with this agent.</li>
+</ul></div>
+
+<div class="anexample" id="anexample-wasAssociatedWith" count="31">
+<p>In the following example, a designer agent and an operator agent are associated with an activity. The designer's goals are achieved by a workflow <span class="name">ex:wf</span>, described as an an entity of type <span class="name"><a href="#concept-plan" class="internalDFN">plan</a></span>. </p>
+<pre class="codeexample">activity(ex:a, [ prov:type="workflow execution" ])
+agent(ex:ag1, [ prov:type="operator" ])
+agent(ex:ag2, [ prov:type="designer" ])
+wasAssociatedWith(ex:a, ex:ag1, -, [ prov:role="loggedInUser", ex:how="webapp" ])
+wasAssociatedWith(ex:a, ex:ag2, ex:wf, [ prov:role="designer", ex:context="project1" ])
+entity(ex:wf, [ prov:type='prov:Plan' ,
+ ex:label="Workflow 1",
+ ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI ])
+</pre>
+Since the workflow <span class="name">ex:wf</span> is itself an entity, its provenance can also be expressed in PROV-DM: it can be generated by some activity and derived from other entities,
+for instance.
+</div>
+
+<div class="anexample" id="anexample-wasAssociatedWith-2" count="32">
+<p>In some cases, one wants to indicate a plan was followed, without having to specify which agent was involved.</p>
+<pre class="codeexample">activity(ex:a, [ prov:type="workflow execution" ])
+wasAssociatedWith(ex:a, -, ex:wf)
+entity(ex:wf, [ prov:type='prov:Plan',
+ ex:label="Workflow 1",
+ ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI])
+</pre>
+In this case, it is assumed that an agent exists, but it has not been specified.
+</div>
+
+
+
+
+</div> <!-- end wasAssociatedWith -->
+
+<div id="term-delegation" class="section">
+
+<h4><span class="secno">5.2.4 </span>Delegation</h4>
+
+<div class="glossary-ref"> <dfn id="concept-delegation">Delegation</dfn> is the assignment of authority to an agent (by itself or by another agent) to carry out a specific activity as a delegate or representative, while the agent that it represents remains responsible for the outcome of the delegated work. </div>
+
+<p>For example, a
+student acted on behalf of his supervisor, who acted on behalf of the
+department chair, who acted on behalf of the university; all those
+agents are responsible in some way for the activity that took place but
+we do not say explicitly who bears responsibility and to what
+degree. </p>
+
+
+<p>
+</p><div class="attributes" id="attributes-delegation">
+A <dfn title="actedOnBehalfOf" id="dfn-actedonbehalfof">delegation</dfn> link<span class="withPn">, written <span class="pnExpression">actedOnBehalfOf(id; ag2, ag1, a, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="delegation.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for the delegation link between delegate and responsible;</li>
+<li><span class="attribute" id="delegation.delegate">delegate</span>: an identifier (<span class="name">ag2</span>) for the agent associated with an activity, acting on behalf of the responsible
+agent;</li>
+<li><span class="attribute" id="delegation.responsible">responsible</span>: an identifier (<span class="name">ag1</span>) for the agent, on behalf of which the delegate agent acted;</li>
+<li><span class="attribute" id="delegation.activity">activity</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">a</span>) of an activity for which the delegation link holds;</li>
+<li><span class="attribute" id="delegation.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this delegation link.</li>
+</ul></div>
+
+
+<div class="anexample" count="33">
+<p>The following fragment describes three agents: a programmer, a researcher, and a funder. The programmer and researcher are associated with a workflow activity. The programmer acts on behalf
+of the researcher (line-management) encoding the commands specified by the researcher; the researcher acts on behalf of the funder, who has a contractual agreement with the researcher. The terms
+'line-management' and 'contract' used in this example are domain specific.</p>
+<pre class="codeexample">activity(a,[ prov:type="workflow" ])
+agent(ag1, [ prov:type="programmer" ])
+agent(ag2, [ prov:type="researcher" ])
+agent(ag3, [ prov:type="funder" ])
+wasAssociatedWith(a, ag1, [ prov:role="loggedInUser" ])
+wasAssociatedWith(a, ag2)
+wasAssociatedWith(a, ag3)
+actedOnBehalfOf(ag1, ag2, a, [ prov:type="line-management" ])
+actedOnBehalfOf(ag2, ag3, a, [ prov:type="contract" ])
+</pre>
+</div>
+
+
+<!-- too strong, move to part 2.
+<p>Further considerations:</p>
+<ul>
+<li>If an activity is not specified, then the subordinate agent is considered to act on behalf of
+the responsible agent, in all the activities the subordinate agent is associated with.
+</li>
+</ul>
+-->
+</div>
+
+
+
+</div>
+
+<div id="component3" class="section">
+<h3><span class="secno">5.3 </span>Component 3: Derivations</h3>
+
+
+
+<p>The third component of PROV-DM is concerned with: <a title="derivation" href="#concept-derivation" class="internalDFN">derivations</a> of <a title="entity" href="#concept-entity" class="internalDFN">entities</a> from others; derivation subtypes <a href="#concept-revision" class="internalDFN">Revision</a>, <a href="#concept-quotation" class="internalDFN">Quotation</a>, and <a href="#concept-original-source" class="internalDFN">Original Source</a>; derivation-related <a href="#concept-trace" class="internalDFN">Trace</a>.
+ <a href="#figure-component3">Figure 7</a> depicts the third component
+with PROV core structures in the yellow area, including two classes
+(<a href="#concept-entity" class="internalDFN">Entity</a>, <a href="#concept-activity" class="internalDFN">Activity</a>) and binary association
+(<a href="#concept-derivation" class="internalDFN">Derivation</a>). PROV extended structures are found outside this
+area. UML association classes express expanded n-ary relations.
+</p>
+
+
+<div style="text-align: center;">
+<figure>
+<!-- <img src="images/Derivation.png" alt="derivation"/> -->
+<img src="uml/component3.png" alt="derivation">
+<div class="figcaption" id="figure-component3">Figure 7: Derivation Component Overview</div>
+</figure>
+</div>
+
+<div id="Derivation-Relation" class="section">
+<h4><span class="secno">5.3.1 </span>Derivation</h4>
+
+
+
+
+
+<div class="glossary-ref"> A <dfn id="concept-derivation">derivation</dfn> is a transformation of an entity into another, an update of an entity, resulting in a new one, or based on an entity, the construction of another.</div>
+
+
+
+
+<p>According to <a href="#section-prov-overview">Section 2</a>, for an entity to be transformed from, created from, or resulting from an update to another, there must be some
+underpinning activities performing the necessary actions resulting in such a derivation.
+A derivation can be described at various levels of precision. In its simplest form, derivation relates two entities. Optionally, attributes can be added to represent further information about the derivation. If the derivation is the result of a single known activity, then this activity can also be optionally expressed. To provide a completely accurate description of the derivation, the generation and usage of the generated and used entities, respectively, can be provided, so as to make the derivation path, through usage, activity, and generation, explicit. Optional information such as activity, generation, and usage can be linked to derivations to aid analysis of provenance and to facilitate provenance-based reproducibility. </p>
+
+
+<p></p><div class="attributes" id="attributes-derivation">A <dfn title="wasDerivedFrom" id="dfn-wasderivedfrom">derivation</dfn><span class="withPn">, written <span class="pnExpression" id="pn-wasDerivedFrom">wasDerivedFrom(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="derivation.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier for a derivation;</li>
+<li><span class="attribute" id="derivation.generatedEntity">generatedEntity</span>: the identifier (<span class="name">e2</span>) of the entity generated by the derivation;</li>
+<li><span class="attribute" id="derivation.usedEntity">usedEntity</span>: the identifier (<span class="name">e1</span>) of the entity used by the derivation;</li>
+<li><span class="attribute" id="derivation.activity">activity</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
+<li><span class="attribute" id="derivation.generation">generation</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li>
+<li><span class="attribute" id="derivation.usage">usage</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li>
+<li><span class="attribute" id="derivation.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this derivation.</li>
+</ul>
+</div>
+
+
+
+<div class="anexample" count="34">
+<p>The following descriptions are about derivations between <span class="name">e2</span> and <span class="name">e1</span>, but no information is provided as to the identity of the activity (and usage and generation) underpinning the derivation. In the second line, a type attribute is also provided.</p>
+<pre class="codeexample">wasDerivedFrom(e2, e1)
+wasDerivedFrom(e2, e1, [prov:type="physical transform"])
+</pre>
+<p>The following description expresses that activity <span class="name">a</span>,
+using the entity <span class="name">e1</span> according to usage <span class="name">u1</span>,
+ derived the
+entity <span class="name">e2</span> and generated it according to generation
+ <span class="name">g2</span>. It is followed by descriptions for generation <span class="name">g2</span> and usage <span class="name">u1</span>.</p>
+<pre class="codeexample">wasDerivedFrom(e2, e1, a, g2, u1)
+wasGeneratedBy(g2; e2, a, -)
+used(u1; a, e1, -)
+</pre>
+<p>With such a comprehensive description of derivation, a program that analyzes provenance can identify the activity underpinning the derivation, it can identify how the original entity <span class="name">e1</span> was used by the activity (e.g. for instance, which argument it was passed as, if the activity is the result of a function invocation), and which output the derived entity <span class="name">e2</span> was obtained from (say, for a function returning multiple results).</p>
+</div>
+
+
+
+
+</div>
+
+<div id="term-Revision" class="section">
+<h4><span class="secno">5.3.2 </span>Revision</h4>
+
+<p><span class="glossary-ref"> A <dfn id="concept-revision">revision</dfn> is a derivation that revises an entity into a revised version. </span></p>
+
+<p>Revision is a particular case of <a href="#concept-derivation" class="internalDFN">derivation</a> of an entity into its revised version.</p>
+
+<!-- <p> A <dfn title="wasRevisionOf">revision</dfn> relation<span class="withPn">, written <span class="pnExpression">wasRevisionOf(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:</p>
+<ul>
+<li><span class='attribute' id="revision.id">id</span>: an OPTIONAL identifier for the relation;</li>
+<li><span class='attribute' id="revision.newer">newer</span>: the identifier (<span class="name">e2</span>) of the revised entity;
+<li><span class='attribute' id="revision.older">older</span>: the identifier (<span class="name">e1</span>) of the older entity;
+<li><span class='attribute' id="revision.activity">activity</span>: an OPTIONAL identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
+<li><span class='attribute' id="revision.generation">generation</span>: an OPTIONAL identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li>
+<li><span class='attribute' id="revision.usage">usage</span>: an OPTIONAL identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li>
+<li><span class='attribute' id="revision.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+-->
+
+
+<div class="anexample" id="anexample-revision" count="35">
+<p>
+Revisiting the example of <a href="#section-example-two">Section 4.2</a>,
+we can now state that the report
+ <span class="name">tr:WD-prov-dm-20111215</span> was a revision of
+ the report <span class="name">tr:WD-prov-dm-20111018</span>.
+</p><pre class="codeexample">entity(tr:WD-prov-dm-20111215, [ prov:type='rec54:WD' ])
+entity(tr:WD-prov-dm-20111018, [ prov:type='rec54:WD' ])
+wasDerivedFrom(tr:WD-prov-dm-20111215, tr:WD-prov-dm-20111018, [ prov:type='prov:WasRevisionOf' ])
+</pre>
+</div>
+
+
+
+</div> <!-- end revision -->
+
+<div id="term-quotation" class="section">
+<h4><span class="secno">5.3.3 </span>Quotation</h4>
+
+<p>
+<span class="glossary-ref"> A <dfn id="concept-quotation">quotation</dfn> is the repeat of (some or all of) an entity, such as text or image, by someone who may or may not be its original author. </span>
+</p>
+
+<p>Quotation
+ is a particular case of <a href="#concept-derivation" class="internalDFN">derivation</a> in which an entity is derived from an original entity by copying, or "quoting", some or all of it.</p>
+
+
+<!--
+<p>Quotation
+ is a particular case of <a>derivation</a> in which entity <span class="name">e2</span> is derived from an original entity <span class="name">e1</span> by copying, or "quoting", some or all of it.
+ A <dfn title="wasQuotedFrom">quotation</dfn> relation<span class="withPn">, written <span class="pnExpression">wasQuotedFrom(id; e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:</p>
+<ul>
+<li><span class='attribute' id="quotation.id">id</span>: an OPTIONAL identifier for the relation;</li>
+<li><span class='attribute' id="quotation.quote">quote</span>: an identifier (<span class="name">e2</span>) for the entity that represents the quote (the partial copy);
+<li><span class='attribute' id="quotation.original">original</span>: an identifier (<span class="name">e1</span>) for the original entity being quoted;
+<li><span class='attribute' id="quotation.activity">activity</span>: an OPTIONAL identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
+<li><span class='attribute' id="quotation.generation">generation</span>: an OPTIONAL identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li>
+<li><span class='attribute' id="quotation.usage">usage</span>: an OPTIONAL identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li>
+<li><span class='attribute' id="quotation.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+
+</ul>
+-->
+
+<div class="anexample" id="anexample-quotation" count="36">
+<p>
+The following paragraph is a quote from one of <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/">the author's blogs</a>.
+</p><blockquote id="bl-dagstuhl"><em>
+"During the workshop, it became clear to me that the consensus based models (which are often graphical in nature) can not only be formalized but also be directly connected to these database focused formalizations. I just needed to get over the differences in syntax. This could imply that we could have nice way to trace provenance across systems and through databases and be able to understand the mathematical properties of this interconnection."</em>
+</blockquote>
+<p>If <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/"><span class="name">wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/</span></a> denotes the original blog by agent <span class="name">ex:Paul</span>, and
+ <a href="#bl-dagstuhl"><span class="name">dm:bl-dagstuhl</span></a> denotes the above paragraph, then the following descriptions express that the above paragraph was copied by agent <span class="name">ex:Luc</span> from a part of the blog, attributed to the agent <span class="name">ex:Paul</span>.</p>
+<pre class="codeexample">entity(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/)
+entity(dm:bl-dagstuhl)
+agent(ex:Luc)
+agent(ex:Paul)
+wasDerivedFrom(dm:bl-dagstuhl,
+ wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/,
+ [ prov:type='prov:WasQuotedFrom' ])
+wasAttributedTo(dm:bl-dagstuhl, ex:Luc)
+wasAttributedTo(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/, ex:Paul)
+</pre>
+
+</div>
+
+
+</div> <!-- end quotation -->
+
+
+<div id="term-original-source" class="section">
+<h4><span class="secno">5.3.4 </span>Original Source</h4>
+
+<p>
+<span class="glossary-ref"> An <dfn id="concept-original-source">original source</dfn> refers to the source material that is closest to the person, information, period, or idea being studied. </span>
+</p>
+
+<p>An <dfn id="dfn-original-source">original source</dfn> relation is a particular case of <a href="#concept-derivation" class="internalDFN">derivation</a>
+that aims to give
+credit to the source that originated some information. It is recognized that it may be
+hard to determine which entity constitutes an original source. This definition is inspired by
+<span class="name">original-source</span> as defined in
+<a href="http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html">http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html</a>.</p>
+
+<!--
+<p> An <dfn title="hadOriginalSource">original source</dfn> relation<span class="withPn">, written <span class="pnExpression">hadOriginalSource(id; e2, e1, a, g2, u1, attrs)</span>,</span> has:</p>
+<ul>
+<li><span class='attribute' id="originalSource.id">id</span>: an OPTIONAL identifier for the relation;</li>
+<li><span class='attribute' id="originalSource.derived">derived</span>: an identifier (<span class="name">e2</span>) for the derived entity; </li>
+<li><span class='attribute' id="originalSource.source">source</span>: an identifier (<span class="name">e1</span>) for the original source entity;</li>
+<li><span class='attribute' id="originalSource.activity">activity</span>: an OPTIONAL identifier (<span class="name">a</span>) for the activity using and generating the above entities;</li>
+<li><span class='attribute' id="originalSource.generation">generation</span>: an OPTIONAL identifier (<span class="name">g2</span>) for the generation involving the generated entity (<span class="name">e2</span>) and activity;</li>
+<li><span class='attribute' id="originalSource.usage">usage</span>: an OPTIONAL identifier (<span class="name">u1</span>) for the usage involving the used entity (<span class="name">e1</span>) and activity;</li>
+<li><span class='attribute' id="originalSource.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+-->
+<div class="anexample" count="37">
+<p>
+Let us consider the concept introduced in the current section, identified as <a href="#concept-original-source"><span class="name">dm:concept-original-source</span></a>, and
+the Google page <a href="http://googlenewsblog.blogspot.com/2010/11/credit-where-credit-is-due.html"><span class="name">go:credit-where-credit-is-due.html</span></a>, where the notion original-source was originally described (to the knowledge of the authors).
+</p><pre class="codeexample">entity(dm:concept-original-source)
+entity(go:credit-where-credit-is-due.html)
+wasDerivedFrom(dm:concept-original-source, go:credit-where-credit-is-due.html,
+ [ prov:type='prov:HadOriginalSource' ])
+</pre>
+</div>
+
+
+</div> <!-- end original source -->
+
+<div id="term-trace" class="section">
+<h4><span class="secno">5.3.5 </span>Trace</h4>
+
+<p>
+<span class="glossary-ref"> <dfn id="concept-trace">Trace</dfn> is the ability to link back an entity to another by means of derivation or responsibility relations, possibly repeatedly traversed. </span>
+</p>
+
+
+<p> A trace relation between two entities <span class="name">e2</span> and <span class="name">e1</span> is a generic dependency of <span class="name">e2</span>
+on <span class="name">e1</span> that indicates either that <span class="name">e1</span> may have been necessary for <span class="name">e2</span> to be created, or that <span class="name">e1</span> bears
+some responsibility for <span class="name">e2</span>'s existence.
+
+
+</p><p>A <dfn title="tracedTo" id="dfn-tracedto">Trace</dfn> relation<span class="withPn">, written <span class="pnExpression">tracedTo(id; e2, e1, attrs)</span> in PROV-N,</span> has:</p>
+<ul>
+<li><span class="attribute" id="trace.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
+<li><span class="attribute" id="trace.entity">entity</span>: an identifier (<span class="name">e2</span>) for an entity;
+</li><li><span class="attribute" id="trace.ancestor">ancestor</span>: an identifier (<span class="name">e1</span>) for an ancestor entity that the former depends on;
+</li><li><span class="attribute" id="trace.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+<p>We note that the ancestor <em class="rfc2119" title="may">may</em> be an agent since agents may be entities. </p>
+
+<p>
+<a href="#concept-derivation" class="internalDFN">Derivation</a> and <a href="#concept-attribution" class="internalDFN">attribution</a> are particular cases of trace.
+</p>
+
+<div class="anexample" count="38">
+<p>We refer to the example of <a href="#section-example-two">Section 4.2</a>, and specifically to <a href="#prov-a-document2-top">Figure 3</a>. We can see that there is a path from
+<span class="name">tr:WD-prov-dm-20111215</span> to
+<span class="name">w3:Consortium</span> and to
+<span class="name">process:rec-advance</span>. This is expressed as follows.
+</p><pre class="codeexample"> tracedTo(tr:WD-prov-dm-20111215, w3:Consortium)
+ tracedTo(tr:WD-prov-dm-20111215, process:rec-advance)
+</pre>
+</div>
+
+
+
+
+</div>
+
+</div>
+
+<div id="component4" class="section">
+<h3><span class="secno">5.4 </span>Component 4: Alternate Entities</h3>
+
+
+<p>The fourth component of PROV-DM is concerned with
+relations <a href="#concept-specialization" class="internalDFN">specialization</a> and <a href="#concept-alternate" class="internalDFN">alternate</a> between entities.
+ <a href="#figure-component4">Figure 8</a> depicts
+the fourth component with a single class and two binary associations.
+</p>
+
+
+<div style="text-align: center;">
+<figure>
+<!-- <img src="images/Alternates.png" alt="alternates"/> -->
+<img src="uml/component4.png" alt="alternates">
+<div class="figcaption" id="figure-component4">Figure 8: Alternates Component Overview</div>
+</figure>
+</div>
+
+
+
+<p>Two provenance descriptions about the same thing may emphasize differents aspects of that thing.</p>
+<div class="anexample" id="entity-example1" count="39">
+<p>User Alice writes an article. In its provenance, she wishes to refer to the precise version of the article with a date-specific IRI, as she might edit the article later. Alternatively, user Bob refers to the article in general, independently of its variants over time.</p>
+</div>
+<p>
+The PROV data model introduces relations, called specialization and alternate,
+that allow entities to be linked together. They are defined as follows. </p>
+
+
+<div id="term-specialization" class="section">
+
+<h4><span class="secno">5.4.1 </span>Specialization</h4>
+
+
+<span class="glossary-ref"> An entity that is a <dfn id="concept-specialization">specialization</dfn> of another shares all aspects of the latter, and additionally presents more specific aspects of the same thing as the latter. In particular, the lifetime of the specialized entity contains that of any specialization. </span>
+
+
+<p>
+Examples of aspects include a time period, an abstraction, and a context associated with the entity.</p>
+
+
+
+
+<p>
+</p><div class="attributes" id="attributes-specialization">A <dfn title="specializationOf" id="dfn-specializationof">specialization</dfn> relation<span class="withPn">, written <span class="pnExpression">specializationOf(infra, supra)</span> in PROV-N,</span> has:
+
+<ul>
+<li><span class="attribute" id="specialization.specialization">specialization</span>: an identifier (<span class="name">infra</span>) of the specialized entity;</li>
+<li><span class="attribute" id="specialization.generalEntity">generalEntity</span>: an identifier (<span class="name">supra</span>) of the entity that is being specialized.</li>
+</ul>
+</div>
+
+<div class="anexample" id="anexample-specialization" count="40">
+<p>
+The BBC news home page on 2012-03-23 <span class="name">ex:bbcNews2012-03-23</span>
+is a specialization of the BBC news page in general
+ <a href="http://www.bbc.co.uk/news/">bbc:news/</a>. This can be expressed as follows.
+</p><pre class="codeexample">specializationOf(ex:bbcNews2012-03-23, bbc:news/)
+</pre>
+We have created a new qualified name, <span class="name">ex:bbcNews2012-03-23</span>, in the namespace <span class="name">ex</span>, to identify the specific page carrying this day's news, which would otherwise be the generic <span class="name">bbc:news/</span> page.
+</div>
+
+
+
+
+<!--
+<p>To promote take up of these relations, it is not specified whether they are transitive or symmetric. We anticipate that applications will specialize these relations according to their needs. </p>
+-->
+
+
+
+</div>
+
+<div id="term-alternate" class="section">
+
+<h4><span class="secno">5.4.2 </span>Alternate</h4>
+
+
+<span class="glossary-ref"> Two <dfn id="concept-alternate">alternate</dfn> entities present aspects of the same thing. These aspects may be the same or different, and the alternate entities may or may not overlap in time. </span>
+
+
+
+
+<p></p><div class="attributes" id="attributes-alternate">An <dfn title="alternateOf" id="dfn-alternateof">alternate</dfn> relation<span class="withPn">, written <span class="pnExpression">alternateOf(e1, e2)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="alternate.alternate1">alternate1</span>: an identifier (<span class="name">e1</span>) of the first of the two entities;</li>
+<li><span class="attribute" id="alternate.alternate2">alternate2</span>: an identifier (<span class="name">e2</span>) of the second of the two entities.</li>
+</ul>
+</div>
+
+<div class="anexample" id="anexample-alternate" count="41">
+<p>
+A given news item on the BBC News site
+ <a href="http://www.bbc.co.uk/news/science-environment-17526723">bbc:news/science-environment-17526723</a> for desktop
+is an alternate of a
+ <a href="http://www.bbc.co.uk/news/mobile/science-environment-17526723">bbc:news/mobile/science-environment-17526723</a> for mobile devices.</p>
+<pre class="codeexample">entity(bbc:news/science-environment-17526723, [ prov:type="a news item for desktop"])
+entity(bbc:news/mobile/science-environment-17526723, [ prov:type="a news item for mobile devices"])
+alternateOf(bbc:news/science-environment-17526723, bbc:news/mobile/science-environment-17526723)
+</pre>
+<p>They are both specialization of an (unspecified) entity. </p>
+</div>
+
+
+<div class="anexample" id="anexample-alternate2" count="42">
+<p>
+Considering again the two versions of the technical report <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> (second working draft) and <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span> (first working draft). They are alternate of each other.
+</p><pre class="codeexample">entity(tr:WD-prov-dm-20111018)
+entity(tr:WD-prov-dm-20111215)
+alternateOf(tr:WD-prov-dm-20111018,tr:WD-prov-dm-20111215)
+</pre>
+<p>They are both specialization of the page <a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a>.</p>
+</div>
+
+</div>
+</div>
+
+
+<div id="component5" class="section">
+<h3><span class="secno">5.5 </span>Component 5: Bundles</h3>
+
+
+<p>The fifth component of PROV-DM is concerned with bundles, a mechanism to support provenance of provenance.
+<a href="#figure-component5">Figure 9</a> depict a UML class diagram for the fifth component. It comprises a <a href="#concept-bundle" class="internalDFN">Bundle</a> class, a subclass of <a href="#concept-entity" class="internalDFN">Entity</a> and a novel n-ary relation, <a href="#concept-provenance-locator" class="internalDFN">Provenance Locator</a>.
+</p>
+
+<div style="text-align: center;">
+<figure>
+
+<img src="uml/component5.png" alt="bundles">
+<div class="figcaption" id="figure-component5">Figure 9: Bundle Component Overview</div>
+</figure>
+</div>
+
+
+
+
+<div id="term-bundle" class="section">
+
+<h4><span class="secno">5.5.1 </span>Bundle constructor</h4>
+
+
+<p>
+<span class="glossary-ref">
+ A <dfn id="concept-bundle">bundle</dfn> is a named set of provenance descriptions, and is itself an entity, so allowing provenance of provenance to be expressed. </span>
+ </p>
+
+
+
+
+<p>
+</p><div class="attributes" id="attributes-bundle">
+ A <dfn title="dfn-bundle" id="dfn-bundle-declaration">bundle constructor</dfn> allows the content and the name of a bundle to be specified; it is written <span class="pnExpression">bundle id description_1 ... description_n endBundle</span> and consists of:
+<ul>
+<li><span class="attribute" id="bundle.declaration.id">id</span>: an identifier for the bundle;</li>
+<li><span class="attribute" id="bundle.declaration.descriptions">descriptions</span>: a set of provenance descriptions <span class="name">
+description_1</span>, ..., <span class="name">description_n</span>.</li>
+</ul>
+<p>A bundle's identifier <span class="name">id</span> identifies a unique set of descriptions.</p>
+</div>
+</div>
+
+
+
+
+
+<div id="term-bundle-entity" class="section">
+
+<h4><span class="secno">5.5.2 </span>Bundle Description</h4>
+
+<p>A bundle is a named set of descriptions, but it is also an entity so that its provenance can be described. </p>
+
+PROV defines the following type for bundles:
+<ul>
+<li><span class="name">prov:Bundle</span> is the type that denotes <a title="bundle" href="#concept-bundle" class="internalDFN">bundles</a>.
+</li></ul>
+
+
+<p>
+A bundle description is of the form <span class="pnExpression">entity(id,[prov:type='prov:Bundle', attr1=val1, ...])</span>
+where <span class="name">id</span> is an identifier denoting a bundle,
+ a type <span>prov:Bundle</span> and
+an <em class="rfc2119" title="optional">optional</em> set of attribute-value pairs ((<span class="name">attr1</span>, <span class="name">val1</span>), ...) representing additional information about this bundle.
+</p>
+
+
+<p>The provenance of provenance can then be described using PROV constructs, as illustrated by
+<a href="#anexample-provenance-of-provenance" class="anexample-ref"><span>Example 43</span></a>
+and
+<a href="#anexample-provenance-aggregation" class="anexample-ref"><span>Example 44</span></a>.</p>
+
+<div class="anexample" id="anexample-provenance-of-provenance" count="43">
+<p>Let us consider two entities <span class="name">ex:report1</span> and <span class="name">ex:report2</span>.</p>
+<pre class="codeexample">
+entity(ex:report1, [ prov:type="report", ex:version=1 ])
+wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)
+entity(ex:report2, [ prov:type="report", ex:version=2])
+wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)
+wasDerivedFrom(ex:report2, ex:report1)
+</pre>
+
+<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 bob:bundle1
+ entity(ex:report1, [ prov:type="report", ex:version=1 ])
+ wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)
+endBundle
+</pre>
+
+<p>In contrast,
+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 alice:bundle2
+ entity(ex:report1)
+ entity(ex:report2, [ prov:type="report", ex:version=2 ])
+ wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)
+ wasDerivedFrom(ex:report2, ex:report1)
+endBundle
+</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 as follows.</p>
+<pre class="codeexample">
+entity(bob:bundle1, [prov:type='prov:Bundle'])
+wasGeneratedBy(bob:bundle1, -, 2012-05-24T10:30:00)
+wasAttributedTo(bob:bundle1, ex:Bob)
+</pre>
+
+<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(alice:bundle2, [ prov:type='prov:Bundle' ])
+wasGeneratedBy(alice:bundle2, -, 2012-05-25T11:15:00)
+wasAttributedTo(alice:bundle2, ex:Alice)
+</pre>
+</div>
+
+<div class="anexample" id="anexample-provenance-aggregation" count="44">
+<p>A provenance aggregator could merge two bundles, resulting in a novel bundle, whose provenance is described as follows.</p>
+<pre class="codeexample">
+bundle agg:bundle3
+ entity(ex:report1, [ prov:type="report", ex:version=1 ])
+ wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)
+
+ entity(ex:report2, [ prov:type="report", ex:version=2 ])
+ wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)
+ wasDerivedFrom(ex:report2, ex:report1)
+endBundle
+
+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">agg:bundle3</span> and is attributed to the <span class="name">ex:aggregator01</span> agent.
+</p></div>
+
+
+</div>
+
+<div id="term-hasProvenanceIn" class="section">
+
+<h4><span class="secno">5.5.3 </span>Provenance Locator</h4>
+
+
+In <a href="#anexample-provenance-of-provenance" class="anexample-ref"><span>Example 43</span></a>, we initially presented a scenario involving two entities <span class="name">report1</span> and <span class="name">report2</span>, and showed how their descriptions can be organized into two bundles. There is no explicit indication that the second bundle "is a continuation" of the description offered by the first bundle. Given that bundles may be retrieved separately [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ">PROV-AQ</a></cite>], it is not obvious for a provenance consumer to navigate descriptions across bundles. To aid consumers,
+ 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 [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ">PROV-AQ</a></cite>].
+
+
+<p></p><div class="glossary-ref"> A <dfn id="concept-provenance-locator">provenance locator</dfn> is information that helps locate provenance descriptions. It can identify a bundle within which provenance descriptions can be found. It may further identify a service, or may offer a IRI where provenance descriptions can be found. </div>
+
+<p>
+
+
+</p><div class="attributes" id="attributes-hasProvenanceIn">
+A <dfn title="hasProvenanceIn" id="dfn-hasprovenancein">provenance locator</dfn>,
+written
+<span class="pnExpression">hasProvenanceIn(id, subject, bundle, target, attrs)</span>, has:
+<ul>
+<li><span class="attribute" id="prov.locator.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 relation instance);</li>
+<li><span class="attribute" id="prov.locator.bundle">bundle</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">bundle</span>) for a bundle;
+</li><li><span class="attribute" id="prov.locator.target">target</span>: an <em class="rfc2119" title="optional">optional</em> identifier (<span class="name">target</span>) denoting something described in another set of descriptions (referred to as <a href="http://www.w3.org/TR/prov-aq/#dfn-target-uri">Target-URI</a> in [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ">PROV-AQ</a></cite>]);
+</li><li><span class="attribute" id="prov.locator.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this locator; it optionally includes
+<a href="#term-attribute-service-uri"><span class="name">prov:service-uri</span></a>
+or
+<a href="#term-attribute-provenance-uri"><span class="name">prov:provenance-uri</span></a>.</li>
+</ul>
+<p>If the target is not specified, it is assumed that target is the same identifier as subject.
+</p></div>
+
+<p>When the subject and optional target denote entities,
+a provenance locator not only provides a <em>located context</em>, but it also expresses an <a href="#concept-alternate" class="internalDFN">alternate</a> relation between the entity denoted by <span class="name">subject</span> and the entity described in the located context. This is an 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" count="45">
+<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, 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">bob:bundle1</span>, which is available from the provenance service identified by the provided URI.</p>
+<pre class="codeexample">
+hasProvenanceIn(ex:report1, bob:bundle1, -, [ prov:service-uri="http://example.com/service" %% xsd:anyURI ])
+</pre>
+</div>
+
+
+<div class="anexample" id="anexample-provenance-locator2" count="46">
+<p>Let us again consider the same scenario involving two entities <span class="name">ex:report1</span> and <span class="name">ex:report2</span>.</p>
+<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 bob:bundle4
+ entity(ex:report1, [ prov:type="report", ex:version=1 ])
+ wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)
+endBundle
+</pre>
+
+<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 alice:bundle5
+ entity(ex:report1)
+ 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)
+endBundle
+</pre>
+<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 [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ">PROV-AQ</a></cite>]. Second, it makes entity <span class="name">ex:report1</span> described in <span class="name">alice:bundle5</span> an <a href="#concept-alternate" class="internalDFN">alternate</a> of <span class="name">ex:report1</span> described in <span class="name">bob:bundle4</span>.
+</p>
+</div>
+
+
+<div class="anexample" id="anexample-provenance-locator3" count="47">
+<p>Alternatively, Alice may have decided to use a different identifier for <span class="name">ex:report1</span>.</p>
+<pre class="codeexample">
+bundle alice:bundle6
+ entity(alice:report1)
+ hasProvenanceIn(alice:report1, bob:bundle4, ex:report1)
+ entity(ex:report2, [ prov:type="report", ex:version=2 ])
+ wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)
+ wasDerivedFrom(ex:report2, alice:report1)
+endBundle
+</pre>
+<p>Alice can specify the <a href="#prov.locator.target">target</a> in the provenance locator to be <span class="name">ex:report1</span>.
+With such a statement, Alice states that provenance information about <span class="name">alice:report1</span> can be found in bundle
+<span class="name">bob:bundle4</span> under the name <span class="name">ex:report1</span>. In effect, <span class="name">alice:report1</span> and <span class="name">ex:report1</span> are declared to be alternate.</p>
+</div>
+
+<div class="anexample" id="aexample-note" count="48">
+<p>Consider the following bundle of descriptions, in which derivation and generations have been identified.
+</p><pre class="codeexample">
+bundle obs:bundle7
+ 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(obs:bundle7, [ prov:type='prov:Bundle' ])
+wasAttributedTo(obs:bundle7, ex:observer01)
+</pre>
+Bundle <span class="name">obs:bundle7</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 tool:bundle8
+ entity(tool:bundle8, [ prov:type='viz:Configuration', prov:type='prov:Bundle' ])
+ wasAttributedTo(tool:bundle8, viz:Visualizer)
+
+ entity(ex:report1, [viz:color="orange"]) // ex:report1 is a reused identifier
+ hasProvenanceIn(ex:report1, obs:bundle7, -)
+
+ entity(tool:r2, [viz:color="blue"]) // tool:r2 is a new identifier
+ hasProvenanceIn(tool:r2, obs:bundle7, ex:report2)
+
+ wasDerivedBy(ex:d; ex:report2, ex:report1, [viz:style="dotted"])
+ hasProvenanceIn(ex:d, obs:bundle7, -)
+endBundle
+</pre>
+
+<p>In bundle <span class="name">tool:bundle8</span>, the prefix <span class="name">viz</span> is used for naming visualisation-specific attributes, types or values.</p>
+
+<p>Bundle <span class="name">tool:bundle8</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>For the purpose of illustration, we show that the visualisation tool
+reused identifier <span class="name">ex:report1</span>, but created a new identifier <span class="name">tool:r2</span>.
+They denote entities which are alternates of with <span class="name">ex:report1</span> and <span class="name">ex:report2</span>, described in bundle <span class="name">obs:bundle7</span>, with visualization attribute for the color to be used when rendering these entities.
+Likewise, the derivation has a style attribute. </p>
+
+<p>According to their definition,
+derivations have an <a href="#derivation.id">optional identifier</a>.
+To express an alternate for a derivation, we need to be able to reference it, by means of an identifier. Hence, it is necessary for it to have an identifier in the first place (<span class="name">ex:d</span>).</p>
+</div>
+
+</div>
+</div>
+
+
+
+<div id="component6" class="section">
+<h3><span class="secno">5.6 </span>Component 6: Collections</h3>
+
+<p>The fifth component of PROV-DM is concerned with the notion of collections.
+A collection is an entity that has some members. The members are themselves entities, and therefore their provenance can be expressed. Some applications need to be able to express the provenance of the collection itself: e.g. who maintains the collection, which members it contains as it evolves, and how it was assembled. The purpose of Component 5 is to define the types and relations that are useful to express the provenance of collections. In PROV, the concept of Collection is implemented by means of dictionaries, which we introduce in this section. </p>
+
+<p><a href="#figure-component6">Figure 10</a> depicts
+the sixth component with three new classes (Collection, Dictionary, and Pair) and three associations (insertion, removal, and memberOf).
+</p>
+
+
+<div style="text-align: center;">
+<figure>
+<!-- <img src="images/Dictionaries.png" alt="dictionaries"/> -->
+<img src="uml/component6.png" alt="dictionaries">
+
+<div class="figcaption" id="figure-component6">Figure 10: Collections Component Overview</div>
+</figure>
+</div>
+
+
+<p>The intent of these relations and types is to express the <em>history of changes that occurred to a collection</em>.
+Changes to collections are about the insertion of entities in collections and the removal of members from collections.
+Indirectly, such history provides a way to reconstruct the contents of a collection.</p>
+
+<div id="term-collection" class="section">
+<h4><span class="secno">5.6.1 </span>Collection</h4>
+
+<span class="glossary-ref"> A <dfn id="concept-collection">collection</dfn> is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be <dfn id="dfn-member-of">member of</dfn> the collections. </span>
+
+<p>In PROV, the concept of Collection is provided as an extensibility point for other kinds of collections. Collections are implemented by means of dictionaries, which are introduced next. </p>
+
+</div>
+
+<div id="term-dictinonary" class="section">
+<h4><span class="secno">5.6.2 </span>Dictionary</h4>
+
+
+<p>PROV-DM defines a specific type of collection: a dictionary, specified as follows.</p>
+
+
+<span class="glossary-ref"> A <dfn id="concept-dictionary">dictionary</dfn> is a collection whose members are indexed by keys. </span>
+
+<p>Conceptually, a dictionary has a logical structure consisting of key-entity pairs. This structure is often referred to as a <em>map</em>, and is a generic indexing mechanism that can abstract commonly used data structures, including associative lists (also known as "dictionaries" 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>A given dictionary forms a given structure for its members. A different structure (obtained either by insertion or removal of members) constitutes a different dictionary. Hence,
+ for the purpose of provenance, a dictionary entity is viewed as a snapshot of a structure. Insertion and removal operations result in new snapshots, each snapshot forming an identifiable dictionary entity.</p>
+
+
+<p>PROV-DM defines the following types related to dictionaries:</p>
+
+<ul>
+ <li> <span class="name">prov:Dictionary</span> denotes an entity of type dictionary, i.e. an entity that can participate in relations amongst dictionaries;
+
+ </li><li><span class="name">prov:EmptyDictionary</span> denotes an empty dictionary.
+</li></ul>
+
+
+
+
+
+<!--
+In addition, the attribute <span class="name">prov:content</span> is introduced to allow the explicit specification of the dictionary's content. The example below illustrates the syntax.
+-->
+
+<div class="anexample" count="49">
+<pre class="codeexample">entity(d0, [prov:type='prov:EmptyDictionary' ]) // d0 is an empty dictionary
+entity(d1, [prov:type='prov:Dictionary' ]) // d1 is a dictionary, with unknown content
+</pre>
+</div>
+
+
+
+</div> <!-- end of dictionary-types -->
+
+
+<div id="term-dictionary-insertion" class="section">
+<h4><span class="secno">5.6.3 </span>Insertion</h4>
+
+<span class="glossary-ref"> <dfn id="concept-insertion">Insertion</dfn> is a derivation that transforms a dictionary into another, by insertion of one or more key-entity pairs. </span>
+
+
+
+
+
+<p></p><div class="attributes" id="attributes-derivedByInsertionFrom">
+<p>An <dfn title="derivedByInsertionFrom" id="dfn-derivedbyinsertionfrom">Insertion</dfn> relation<span class="withPn">, written <span class="pnExpression">derivedByInsertionFrom(id; d2, d1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</span>,</span> has:</p>
+<ul>
+<li><span class="attribute" id="derivedByInsertionFrom.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
+<li><span class="attribute" id="derivedByInsertionFrom.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> insertion; </li>
+<li><span class="attribute" id="derivedByInsertionFrom.before">before</span>: an identifier (<span class="name">d1</span>) for the dictionary <em>before</em> insertion;</li>
+<li><span class="attribute" id="derivedByInsertionFrom.key-entity-set">key-entity-set</span>: the inserted key-entity pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span> in which each <span class="name">key_i</span> is a <a href="#dfn-value" class="internalDFN">value</a>, and <span class="name">e_i</span> is an identifier for the entity that has been inserted with the key;
+ each <span class="name">key_i</span> is expected to be unique for the key-entity-set;
+</li>
+<li><span class="attribute" id="derivedByInsertionFrom.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+</div>
+
+<p>
+An Insertion relation <span class="name">derivedByInsertionFrom(id; d2, d1, {(key_1, e_1), ..., (key_n, e_n)})</span> states that <span class="name">d2</span> is the state of the dictionary
+following the insertion of pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span> into dictionary <span class="name">d1</span>.</p>
+
+
+
+
+
+
+<div class="anexample" count="50">
+<pre class="codeexample">entity(d0, [prov:type='prov:EmptyDictionary' ]) // d0 is an empty dictionary
+entity(e1)
+entity(e2)
+entity(e3)
+entity(d1, [prov:type='prov:Dictionary' ])
+entity(d2, [prov:type='prov:Dictionary' ])
+
+derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)})
+derivedByInsertionFrom(d2, d1, {("k3", e3)})
+</pre>
+From this set of descriptions, we conclude:
+<ul>
+<li> <span class="name">d0</span> is the set <span class="name">{ }</span>
+</li><li> <span class="name">d1</span> is the set <span class="name">{ ("k1", e1), ("k2", e2) }</span>
+</li><li> <span class="name">d2</span> is the set <span class="name">{ ("k1", e1), ("k2", e2), ("k3", e3) }</span>
+</li></ul>
+</div>
+
+<p>Insertion provides an "update semantics" for the keys that are already present in a dictionary,
+since a new pair replaces an existing pair with the same key in the new dictionary. This is illustrated by the following example.</p>
+
+<div class="anexample" count="51">
+<pre class="codeexample">entity(d0, [prov:type='prov:EmptyDictionary' ]) // d0 is an empty dictionary
+entity(e1)
+entity(e2)
+entity(e3)
+entity(d1, [prov:type='prov:Dictionary' ])
+entity(d2, [prov:type='prov:Dictionary' ])
+
+derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)})
+derivedByInsertionFrom(d2, d1, {("k1", e3)})
+</pre>
+ This is a case of <em>update</em> of <span class="name">e1</span> to <span class="name">e3</span> for the same key, <span class="name">"k1"</span>. <br>
+ From this set of descriptions, we conclude:
+<ul>
+<li> <span class="name">d0</span> is the set <span class="name">{ }</span>
+</li><li> <span class="name">d1</span> is the set <span class="name">{ ("k1", e1), ("k2", e2) }</span>
+</li><li> <span class="name">d2</span> is the set <span class="name">{ ("k1", e3), ("k2", e2) }</span>
+</li></ul>
+</div>
+
+</div> <!-- insertion -->
+
+
+<div id="term-dictionary-removal" class="section">
+<h4><span class="secno">5.6.4 </span>Removal</h4>
+
+<span class="glossary-ref"> <dfn id="concept-removal">Removal</dfn> is a derivation that transforms a dictionary into another, by removing one or more key-entity pairs. </span>
+
+
+
+
+<p>
+</p><div class="attributes" id="attributes-derivedByRemovalFrom">
+<p> A <dfn title="derivedByRemovalFrom" id="dfn-derivedbyremovalfrom">Removal</dfn> relation, written <span class="pnExpression">derivedByRemovalFrom(id; d2, d1, {key_1, ... key_n}, attrs)</span>, has:</p>
+<ul>
+<li><span class="attribute" id="derivedByRemovalFrom.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
+<li><span class="attribute" id="derivedByRemovalFrom.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> the deletion; </li>
+<li><span class="attribute" id="derivedByRemovalFrom.before">before</span>: an identifier (<span class="name">d1</span>) for the dictionary <em>before</em> the deletion;</li>
+<li><span class="attribute" id="derivedByRemovalFrom.key-set">key-set</span>: a set of deleted keys <span class="name">key_1</span>, ..., <span class="name">key_n</span>, for which each <span class="name">key_i</span> is a <a href="#dfn-value" class="internalDFN">value</a>;</li>
+<li><span class="attribute" id="derivedByRemovalFrom.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+</div>
+
+<p>A Removal relation <span class="name">derivedByRemovalFrom(id; d2,d1, {key_1, ..., key_n})</span> states that <span class="name">d2</span> is the state of the dictionary following the removal of the set of pairs corresponding to keys <span class="name">key_1...key_n</span> from <span class="name">d1</span>.
+
+</p><div class="anexample" count="52">
+<pre class="codeexample">entity(d0, [prov:type="prov:EmptyDictionary"]) // d0 is an empty dictionary
+entity(e1)
+entity(e2)
+entity(e3)
+entity(d1, [prov:type="prov:Dictionary"])
+entity(d2, [prov:type="prov:Dictionary"])
+
+derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2",e2)})
+derivedByInsertionFrom(d2, d1, {("k3", e3)})
+derivedByRemovalFrom(d3, d2, {"k1", "k3"})
+</pre>
+From this set of descriptions, we conclude:
+<ul>
+<li><span class="name">d0</span> is the set <span class="name">{ }</span>
+</li><li><span class="name">d1</span> is the set <span class="name">{ ("k1", e1), ("k2", e2) }</span>
+</li><li><span class="name">d2</span> is the set <span class="name">{ ("k1", e1), ("k2", e2), ("k3", e3) }</span>
+</li><li><span class="name">d3</span> is the set <span class="name">{ ("k2", e2) }</span>
+</li></ul>
+
+
+</div>
+
+</div> <!-- removal -->
+
+
+<div id="term-dictionary-membership" class="section">
+<h4><span class="secno">5.6.5 </span>Membership</h4>
+
+
+<span class="glossary-ref"> <dfn id="concept-membership">Membership</dfn> is the belonging of a key-entity pair to dictionary. </span>
+
+<p>
+The insertion and removal relations make insertions and removals explicit as part of the history of a dictionary. This, however, requires explicit mention of the state of the dictionary prior to each operation. The membership relation removes this need, allowing the state of a dictionary <span class="name">c</span> to be expressed without having to introduce a prior state.</p>
+
+<p>
+</p><div class="attributes" id="attributes-memberOf">
+ A <dfn title="memberOf" id="dfn-memberof">membership</dfn> relation, written <span class="pnExpression">memberOf(id; c, {(key_1, e_1), ..., (key_n, e_n)}, cplt, attrs)</span>, has:
+<ul>
+<li><span class="attribute" id="memberOf.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
+<li><span class="attribute" id="memberOf.after">after</span>: an identifier (<span class="name">c</span>) for the dictionary whose members are asserted; </li>
+<li><span class="attribute" id="memberOf.key-entity-set">key-entity-set</span>: a set of key-entity pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span> that are members of the dictionary;</li>
+<li><span class="attribute" id="memberOf.complete">complete</span>: an <em class="rfc2119" title="optional">optional</em> boolean
+<a title="value" href="#dfn-value" class="internalDFN">Value</a> (<span class="name">cplt</span>); if true, it indicates that no other member belongs to the dictionary; if false, it indicates that other members belong to the dictionary; if unspecified, other members <em class="rfc2119" title="may">may</em> belong to the dictionary.
+</li><li><span class="attribute" id="memberOf.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+</div>
+
+
+
+
+<p>The description <span class="name">memberOf(c, {(key_1, e_1), ..., (key_n, e_n)})</span> states that <span class="name">c</span> is known to include <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)}</span>, without having to introduce a previous state. </p>
+
+<div class="anexample" count="53">
+<pre class="codeexample">entity(d1, [prov:type='prov:Dictionary' ]) // d1 is a dictionary, with unknown content
+entity(d2, [prov:type='prov:Dictionary' ]) // d2 is a dictionary, with unknown content
+
+entity(e1)
+entity(e2)
+
+memberOf(d1, {("k1", e1), ("k2", e2)} )
+memberOf(d2, {("k1", e1), ("k2", e2)}, true)
+
+entity(e3)
+entity(d3, [prov:type='prov:Dictionary' ])
+
+derivedByInsertionFrom(d3, d1, {("k3", e3)})
+</pre>
+From these descriptions, we conclude:
+<ul>
+<li> <span class="name">d1</span> has the following pairs as members: <span class="name">("k1", e1), ("k2", e2)</span>, and may contain others.
+</li><li> <span class="name">d2</span> exactly has the following pairs as members: <span class="name">("k1", e1), ("k2", e2)</span>, and does not contain any other.
+</li><li> <span class="name">d3</span> has the following pairs as members: <span class="name">("k1", e1), ("k2", e2), ("k3", v3)</span>, and may contain others.
+</li></ul>
+<p> Thus, the states of <span class="name">d1</span> and <span class="name">d3</span> are only partially known.</p>
+</div>
+
+<!-- To go to part 2
+
+
+ Note that the following one cannot have at the same time an empty dictionary and membership relations for it, i.e., the following example is invalid:
+<pre class="codeexample">
+ <span class="name"> entity(c, [prov:type="EmptyDictionary"])</span>
+ memberOf(c, {("k1", e1), ("k2", v2)} )
+ </pre>
+
+
+-->
+
+</div> <!-- Membership -->
+
+
+
+<p>Further considerations: </p>
+
+<ul>
+
+<li>The state of a dictionary (i.e., the set of key-entity 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 derivations involving insertions and removals. Entity type <span class="name">emptyDictionary</span> can be used in this context as it marks the start of a sequence of dictionary operations.</li>
+
+
+<li>The representation of a dictionary through these relations makes no assumption regarding the underlying data structure used to store and manage dictionaries. In particular, no assumptions are needed regarding the mutability of a data structure that is subject to updates. Entities, however, are immutable and this applies to those entities that represent dictionaries. This is reflected in the constraints listed in [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>]. </li>
+</ul>
+
+
+</div> <!-- end dictionaries-->
+
+
+
+
+
+<div id="second-class-elements" class="section">
+<h3><span class="secno">5.7 </span>Further Elements of PROV-DM</h3>
+
+This section introduces further elements of PROV-DM.
+
+<div id="term-NamespaceDeclaration" class="section">
+<h4><span class="secno">5.7.1 </span>Namespace Declaration</h4>
+
+<p>A PROV-DM <dfn id="dfn-namespace">namespace</dfn> is identified by an IRI [<cite><a class="bibref" rel="biblioentry" href="#bib-IRI">IRI</a></cite>]. In PROV-DM, attributes, identifiers, and values with <a title="qualified name" href="#concept-qualifiedName" class="internalDFN">qualified names</a> as data type can be placed in a namespace using the mechanisms described in this specification. </p>
+
+
+<p>A <dfn id="dfn-namespaceDeclaration">namespace declaration</dfn> consists of a binding between a prefix and a namespace. Every qualified name with this prefix in the scope of this
+declaration refers to this namespace. </p>
+
+<p>A <dfn id="dfn-defaultNamespaceDeclaration">default namespace declaration</dfn> consists of a namespace. Every un-prefixed qualified name in the scope of this default namespace declaration
+refers to this namespace.</p>
+
+<p>The <dfn title="prov-namespace" id="dfn-prov-namespace">PROV namespace</dfn> is identified by the URI <a href="http://www.w3.org/ns/prov#">http://www.w3.org/ns/prov#</a>.</p>
+
+</div>
+
+<div id="term-qualified-name" class="section">
+<h4><span class="secno">5.7.2 </span>Qualified Name</h4>
+
+
+<span class="glossary-ref"> A <dfn id="concept-qualifiedName">qualified name</dfn> is a name subject to <a href="#dfn-namespace" class="internalDFN">namespace</a> interpretation. It consists of a <a href="#dfn-namespace" class="internalDFN">namespace</a>, denoted by an optional prefix, and a local name.<p></p> </span>
+
+<p>PROV-DM stipulates that a qualified name can be mapped into an IRI
+ by concatenating the IRI associated with the prefix and the local part.</p>
+
+<p>A qualified name's prefix is <em class="rfc2119" title="optional">optional</em>. If a prefix occurs in a
+ qualified name, it refers to a <a href="#dfn-namespace" class="internalDFN">namespace</a> declared in a namespace declaration. In the absence of prefix, the qualified name
+ refers to the <a title="default namespace declaration" href="#dfn-defaultNamespaceDeclaration" class="internalDFN">default namespace</a>.</p>
+
+</div>
+
+
+
+<div id="term-identifier" class="section">
+<h4><span class="secno">5.7.3 </span>Identifier</h4>
+
+<p>
+An <dfn id="dfn-identifier">identifier</dfn> is a <a href="#concept-qualifiedName" class="internalDFN">qualified
+ name</a>.
+</p>
+
+</div>
+
+<div id="term-attribute" class="section">
+<h4><span class="secno">5.7.4 </span>Attribute</h4>
+
+<p>An <dfn title="dfn-attribute" id="dfn-attribute">attribute</dfn> is a <a href="#concept-qualifiedName" class="internalDFN">qualified name</a>.
+
+
+</p><p>The PROV data model introduces a pre-defined set of attributes in the <a title="prov-namespace" href="#dfn-prov-namespace" class="internalDFN">PROV namespace</a>, which we define below.
+This specification does not provide any interpretation for any attribute declared in any other namespace.</p>
+
+<div id="attributes-at-a-glance-div" style="text-align: left;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="attributes-at-a-glance">Table 6: PROV-DM Attributes At a Glance</caption>
+<tbody><tr><td><b>Attribute</b></td><td><b>Allowed In</b></td><td><b>value</b></td><td><b>Section</b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+<tr><td>prov:label</td><td><em>any construct</em></td><td><a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a></td><td>Section <a href="#term-attribute-label">5.7.4.1</a> </td></tr>
+<tr><td>prov:location</td><td><a href="#concept-entity" class="internalDFN">Entity</a>, <a href="#concept-activity" class="internalDFN">Activity</a>, <br> <a href="#concept-usage" class="internalDFN">Usage</a>, and <a href="#concept-generation" class="internalDFN">Generation</a>.</td><td><a title="value" href="#dfn-value" class="internalDFN">Value</a></td><td>Section <a href="#term-attribute-location">5.7.4.2</a> </td></tr>
+<tr><td>prov:role</td><td><a href="#concept-usage" class="internalDFN">Usage</a>, <a href="#concept-generation" class="internalDFN">Generation</a>, <br> <a href="#concept-association-core" class="internalDFN">Association</a>, <a href="#concept-start" class="internalDFN">Start</a>, and <a href="#concept-end" class="internalDFN">End</a></td><td><a title="value" href="#dfn-value" class="internalDFN">Value</a></td><td>Section <a href="#term-attribute-role">5.7.4.3</a> </td></tr>
+<tr><td>prov:type</td><td><em>any construct</em></td><td><a title="value" href="#dfn-value" class="internalDFN">Value</a></td><td>Section <a href="#term-attribute-type">5.7.4.4</a> </td></tr>
+<tr><td>prov:value</td><td><a href="#concept-entity" class="internalDFN">Entity</a></td><td><a title="value" href="#dfn-value" class="internalDFN">Value</a></td><td>Section <a href="#term-attribute-value">5.7.4.5</a> </td></tr>
+
+<tr><td>prov:provenance-uri</td><td><a href="#concept-provenance-locator" class="internalDFN">Provenance Locator</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a></td><td>Section <a href="#term-attribute-provenance-uri">5.7.4.6</a> </td></tr>
+<tr><td>prov:service-uri</td><td><a href="#concept-provenance-locator" class="internalDFN">Provenance Locator</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a></td><td>Section <a href="#term-attribute-service-uri">5.7.4.7</a> </td></tr>
+</tbody></table>
+</div>
+
+
+
+
+
+<div id="term-attribute-label" class="section">
+<h5><span class="secno">5.7.4.1 </span>prov:label</h5>
+
+<p> The attribute <dfn title="dfn-label" id="dfn-dfn-label"><span class="name">prov:label</span></dfn> provides a human-readable representation of a PROV-DM element or relation. The value associated with the attribute <span class="name">prov:label</span> <em class="rfc2119" title="must">must</em> be a string.</p>
+
+<div class="anexample" count="54">
+<p>The following entity is provided with a label attribute.</p>
+<pre class="codeexample"> entity(ex:e1, [prov:label="This is a label"])
+</pre>
+</div>
+
+
+</div>
+
+
+<div id="term-attribute-location" class="section">
+<h5><span class="secno">5.7.4.2 </span>prov:location</h5>
+
+<p>A <dfn title="dfn-Location" id="dfn-dfn-location">location</dfn> can be an identifiable geographic place (ISO 19112), but it can also be a non-geographic place such as a directory, row, or column. As such, there are numerous ways in which location can be expressed, such as by a coordinate,
+address, landmark, and so forth. This document does not specify how to concretely express locations, but instead provide a mechanism to introduce locations, by means of a reserved attribute. </p>
+
+
+<p>
+The attribute <span class="name">prov:location</span> is an <em class="rfc2119" title="optional">optional</em> attribute of entity, activity, usage, and generation. The value associated with the attribute <span class="name">prov:location</span> <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value</a>, expected to denote a location.
+</p>
+
+<div class="anexample" count="55">
+<p>The following expression describes entity Mona Lisa, a painting, with a location attribute. </p>
+<pre class="codeexample"> entity(ex:MonaLisa, [prov:location="Le Louvres, Paris", prov:type="StillImage"])
+</pre>
+</div>
+</div>
+
+
+
+<div id="term-attribute-role" class="section">
+<h5><span class="secno">5.7.4.3 </span>prov:role</h5>
+
+<p>The attribute <dfn title="dfn-role" id="dfn-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 <a href="#concept-usage" class="internalDFN">usage</a>, <a href="#concept-generation" class="internalDFN">generation</a>,
+ <a href="#concept-association-core" class="internalDFN">association</a>, <a href="#concept-start" class="internalDFN">start</a>, and <a href="#concept-end" class="internalDFN">end</a>. The attribute <span class="name">prov:role</span> is allowed to occur multiple times in a list of attribute-value pairs. The value associated with a <span class="name">prov:role</span> attribute <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value</a>.</p>
+
+<div class="anexample" count="56">
+<p>The following activity is associated with an agent acting as the operator. </p>
+<pre class="codeexample"> wasAssociatedWith(a, ag, [prov:role="operator"])
+</pre>
+</div>
+</div>
+
+<div id="term-attribute-type" class="section">
+<h5><span class="secno">5.7.4.4 </span>prov:type</h5>
+
+<p>The attribute <dfn title="dfn-type" id="dfn-dfn-type"><span class="name">prov:type</span></dfn> provides further typing information for an element or relation. 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 <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value.</a> The attribute <span class="name">prov:type</span>
+is allowed to occur multiple times.</p>
+
+<div class="anexample" count="57">
+<p>The following describes an agent of type software agent.</p>
+<pre class="codeexample"> agent(ag, [prov:type='prov:SoftwareAgent' ])
+</pre>
+</div>
+
+<p>The following types are pre-defined in PROV, and are valid values for the <span class="name">prov:type</span> attribute.</p>
+
+
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="prov-dm-predefined-types">Table 7: PROV-DM Predefined Types</caption>
+<tbody><tr><td><b>Type</b></td><td><b>Specification</b></td><td><b>Core concept</b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+<tr><td><span class="name">prov:Bundle</span></td><td><a title="bundle" href="#concept-bundle" class="internalDFN">Section 5.5.1</a></td><td><a href="#concept-entity" class="internalDFN">Entity</a></td></tr>
+<tr><td><span class="name">prov:Collection</span></td><td><a title="collection" href="#concept-collection" class="internalDFN">Section 5.6.1</a></td><td><a href="#concept-entity" class="internalDFN">Entity</a></td></tr>
+<tr><td><span class="name">prov:Dictionary</span></td><td><a title="dictionary" href="#concept-dictionary" class="internalDFN">Section 5.6.2</a></td><td><a href="#concept-entity" class="internalDFN">Entity</a></td></tr>
+<tr><td><span class="name">prov:EmptyDictionary</span></td><td><a title="empty-dictionary">Section 5.6.2</a></td><td><a href="#concept-entity" class="internalDFN">Entity</a></td></tr>
+<tr><td><span class="name">prov:HadOriginalSource</span></td><td><a title="original source" href="#concept-original-source" class="internalDFN">Section 5.3.4</a></td><td><a href="#concept-derivation" class="internalDFN">Derivation</a></td></tr>
+<tr><td><span class="name">prov:Organization</span></td><td><a title="organization" href="#concept-organization" class="internalDFN">Section 5.2.1</a></td><td><a href="#concept-agent" class="internalDFN">Agent</a></td></tr>
+<tr><td><span class="name">prov:Person</span></td><td><a title="person" href="#concept-person" class="internalDFN">Section 5.2.1</a></td><td><a href="#concept-agent" class="internalDFN">Agent</a></td></tr>
+<tr><td><span class="name">prov:Plan</span></td> <td><a title="plan" href="#concept-plan" class="internalDFN">Section 5.2.3</a></td><td><a href="#concept-entity" class="internalDFN">Entity</a></td></tr>
+<tr><td><span class="name">prov:SoftwareAgent</span></td><td><a title="software-agent" href="#concept-software-agent" class="internalDFN">Section 5.2.1</a></td><td><a href="#concept-agent" class="internalDFN">Agent</a></td></tr>
+<tr><td><span class="name">prov:WasQuotedFrom</span></td><td><a title="Quotation" href="#concept-quotation" class="internalDFN">Section 5.3.3</a></td><td><a href="#concept-derivation" class="internalDFN">Derivation</a></td></tr>
+<tr><td><span class="name">prov:WasRevisionOf</span></td><td><a title="Revision" href="#concept-revision" class="internalDFN">Section 5.3.2</a></td><td><a href="#concept-derivation" class="internalDFN">Derivation</a></td></tr>
+</tbody></table>
+
+</div>
+
+
+<div id="term-attribute-value" class="section">
+<h5><span class="secno">5.7.4.5 </span>prov:value</h5>
+
+<p>The attribute <dfn title="dfn-value" id="dfn-dfn-value"><span class="name">prov:value</span></dfn> provides a <a title="value" href="#dfn-value" class="internalDFN">Value</a> associated with an entity.</p>
+
+
+<p>The attribute <span class="name">prov:value</span> is an <em class="rfc2119" title="optional">optional</em> attribute of entity. The value associated with the attribute <span class="name">prov:value</span> <em class="rfc2119" title="must">must</em> be a PROV-DM <a title="value" href="#dfn-value" class="internalDFN">Value</a>. The attribute <span class="name">prov:value</span> <em class="rfc2119" title="may">may</em> occur at most once in a set of attribute-value pairs.</p>
+
+<div class="anexample" count="58">
+<p>The following example illustrates the provenance of the number <span class="name">4</span> obtained by an activity that computed the length of an input string <span class="name">"abcd"</span>.
+The input and the output are expressed as entities <span class="name">ex:in</span> and <span class="name">ex:out</span>, respectively. They each have a <span class="name">prov:value</span> attribute associated with the corresponding value.
+</p>
+<pre class="codeexample">entity(ex:in, [prov:value="abcd"])
+entity(ex:out, [prov:value=4])
+activity(ex:len, [prov:type="string-length"])
+used(ex:len,ex:in)
+wasGeneratedBy(ex:out,ex:len)
+wasDerivedFrom(ex:out,ex:in)
+</pre>
+</div>
+
+<div class="note">Should we also have prov:encoding?</div>
+
+</div>
+
+<div id="term-attribute-provenance-uri" class="section">
+<h5><span class="secno">5.7.4.6 </span>prov:provenance-uri</h5>
+
+
+<p> The attribute <dfn title="dfn-provenance-uri" id="dfn-dfn-provenance-uri"><span class="name">prov:provenance-uri</span></dfn> provides
+ an <em class="rfc2119" title="optional">optional</em> IRI in the context of a <a href="#concept-provenance-locator" class="internalDFN">Provenance Locator</a>; when this IRI is dereferenced, it allows access to provenance descriptions. It is referred to as <a href="http://www.w3.org/TR/prov-aq/#dfn-provenance-uri">Provenance-URI</a> in [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ">PROV-AQ</a></cite>]. </p>
+
+
+<p>The attributes <a href="#term-attribute-service-uri"><span class="name">prov:service-uri</span></a>
+and
+<a href="#term-attribute-provenance-uri"><span class="name">prov:provenance-uri</span></a> are mutually exclusive.</p>
+
+
+<div class="anexample" id="anexample-provenance-uri" count="59">
+<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, bob:bundle1, -, [ prov:provenance-uri="http://example.com/service" %% xsd:anyURI ])
+</pre>
+</div>
+
+
+
+</div>
+
+
+<div id="term-attribute-service-uri" class="section">
+<h5><span class="secno">5.7.4.7 </span>prov:service-uri</h5>
+
+<p> The attribute <dfn title="dfn-service-uri" id="dfn-dfn-service-uri"><span class="name">prov:service-uri</span></dfn> provides
+ an <em class="rfc2119" title="optional">optional</em> IRI in the context of a <a href="#concept-provenance-locator" class="internalDFN">Provenance Locator</a>; this IRI denotes a <a href="http://www.w3.org/TR/prov-aq/#dfn-provenance-service">provenance service</a> from which provenance can be retrieved. It is referred to as <a href="http://www.w3.org/TR/prov-aq/#dfn-service-uri">Service-URI</a> in [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-AQ">PROV-AQ</a></cite>].</p>
+
+
+<p>The attributes <a href="#term-attribute-service-uri"><span class="name">prov:service-uri</span></a>
+and
+<a href="#term-attribute-provenance-uri"><span class="name">prov:provenance-uri</span></a> are mutually exclusive.</p>
+
+
+<div class="anexample" id="anexample-service-uri" count="60">
+<p>According to the following provenance locator, provenance descriptions about <span class="name">ex:report1</span> can be found in the resource identified by the provided URI.</p>
+<pre class="codeexample">
+hasProvenanceIn(ex:report1, [ prov:service=uri="http://example.com/some-provenance.pn" %% xsd:anyURI ])
+</pre>
+</div>
+
+</div>
+
+
+
+
+</div>
+
+<div id="term-value" class="section">
+<h4><span class="secno">5.7.5 </span>Value</h4>
+
+<p>
+By means of attribute-value pairs, the PROV data model can refer to <dfn title="value" id="dfn-value">values</dfn> such as strings, numbers, time, qualified names, and IRIs.
+The interpretation of such values is outside the scope of PROV-DM.</p>
+<p>Each kind of such values is called a <em>datatype</em>. The datatypes are taken from
+the set of XML Schema Datatypes, version 1.1 [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>] and the RDF specification [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-CONCEPTS">RDF-CONCEPTS</a></cite>]. The normative definitions of these datatypes are provided by the respective specifications.
+Each datatype is identified by its XML <a href="http://www.w3.org/TR/xmlschema-2/#QName">xsd:QName</a>.</p>
+
+<p>
+</p>
+
+<p>We note that PROV-DM <dfn title="dfn-time" id="dfn-dfn-time">time instants</dfn> are defined according to xsd:dateTime [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>].</p>
+
+
+
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="prov-dm-data-types">Table 8: PROV-DM Data Types</caption>
+<tbody><tr><td><a href="http://www.w3.org/TR/xmlschema-2/#decimal">xsd:decimal</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#double">xsd:double</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#integer">xsd:integer</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#float">xsd:float</a></td><td><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-XMLLiteral">rdf:XMLLiteral</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger">xsd:nonNegativeInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a></td> <td><a href="http://www.w3.org/TR/prov-n/#prod-QUALIFIED_NAME">prov:QUALIFIED_NAME</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger">xsd:nonPositiveInteger</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#normalizedString">xsd:normalizedString</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#positiveInteger">xsd:positiveInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#negativeInteger">xsd:negativeInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#language">xsd:language</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#long">xsd:long</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#Name">xsd:Name</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#int">xsd:int</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#NCName">xsd:NCName</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#short">xsd:short</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#NMTOKEN">xsd:NMTOKEN</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#byte">xsd:byte</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#boolean">xsd:boolean</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedLong">xsd:unsignedLong</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#hexBinary">xsd:hexBinary</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedInt">xsd:unsignedInt</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#base64Binary">xsd:base64Binary</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedShort">xsd:unsignedShort</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a></td> <td></td></tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedByte">xsd:unsignedByte</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#QName">xsd:QName</a></td><td></td></tr>
+</tbody></table>
+
+
+
+
+
+
+<div class="anexample" id="anexample-value" count="61">
+<p>
+The following examples respectively are the string "abc", the integer number 1, and the IRI "http://example.org/foo".
+</p><pre class="codeexample"> "abc"
+ 1
+ "http://example.org/foo" %% xsd:anyURI
+</pre>
+<p>The following example shows a value of type <span class="name">xsd:QName</span> (see
+<a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#QName">QName</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>]).
+The prefix <span class="name">ex</span> <em class="rfc2119" title="must">must</em> be bound to a <a href="#dfn-namespace" class="internalDFN">namespace</a> declared in a <a href="#dfn-namespaceDeclaration" class="internalDFN">namespace declaration</a>.</p>
+<pre class="codeexample">
+ "ex:value" %% xsd:QName
+</pre>
+</div>
+
+
+
+<div class="anexample" id="anexample-time" count="62">
+<p>
+In the following example, the generation time of entity <span class="name">e1</span> is expressed according to
+<a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>].</p>
+<pre class="codeexample">
+ wasGeneratedBy(e1,a1, 2001-10-26T21:32:52)
+</pre>
+</div>
+
+<div class="note">
+We need to check that we are including all xsd types that are the latest versions of XML Schema/RDF.
+</div>
+</div>
+</div>
+
+
+
+</div>
+
+
+<!-- end sec. 5 -->
+
+ <div id="extensibility-section" class="section">
+<!--OddPage--><h2><span class="secno">6. </span>PROV-DM Extensibility Points</h2>
+
+
+<p>The PROV data model provides extensibility points that allow designers to specialize it for specific applications or domains. We summarize these extensibility points here:
+
+</p><ul>
+<li> Attribute-value lists occur in all types and relations of the data model. Applications designers are free to introduce further application-specific attributes. Attributes for a given application can be distinguished by qualifying them with a prefix denoting a namespace
+declared in a namespace declaration.
+
+<p>The <a title="prov-namespace" href="#dfn-prov-namespace" class="internalDFN">PROV namespace</a> declares a set of reserved attributes catering for extensibility: <a href="#term-attribute-type"><span class="name">prov:type</span></a>, <a href="#term-attribute-role"><span class="name">prov:role</span></a>, <a href="#term-attribute-location"><span class="name">prov:location</span></a>.</p></li>
+
+<li>Sub-types and sub-relations can be expressed by means of the reserved attribute
+<a href="#term-attribute-type"><span class="name">prov:type</span></a>.
+
+<div class="anexample" id="anexample-sub-relation" count="63">
+<p>
+In the following example, <span class="name">e2</span> is a translation of <span class="name">e1</span>,
+expressed as a sub-type of derivation.
+</p><pre class="codeexample">
+ wasDerivedFrom(e2,e1, [prov:type='ex:Translation' ])
+</pre>
+</div>
+
+<div class="anexample" id="anexample-sub-type" count="64">
+<p>
+In the following example, <span class="name">e</span> is described as a Car, a type of entity.
+</p><pre class="codeexample">
+ entity(e, [prov:type='ex:Car' ])
+</pre>
+</div>
+
+
+
+
+</li>
+
+
+
+
+
+<li>New namespaces and associated prefixes can be declared, allowing attributes and names to be qualified. </li>
+
+<li>Notes allow arbitrary metadata to be associated with anything identifiable in PROV-DM. Notes consist of attribute-value pairs. Attributes are qualified by a
+namespace.</li>
+
+</ul>
+
+<p>The PROV data model is designed to be application and technology independent, but specializations of PROV-DM are welcome and encouraged. To ensure interoperability, specializations of
+the PROV data model that exploit the extensibility points summarized in this section <em class="rfc2119" title="must">must</em> preserve the semantics specified in this document and in [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>]. </p>
+
+
+
+ </div>
+
+
+
+<div id="valid-provenance" class="section">
+<!--OddPage--><h2><span class="secno">7. </span>Creating Valid Provenance</h2>
+
+
+<ul>
+
+<li>This specification defines PROV-DM, a data model that allows
+descriptions of the people, institutions, entities, and activities,
+involved in producing, influencing, or delivering a piece of data or a
+thing to be expressed. However, with this data model, it is also possible to compose
+descriptions that would not make sense: for instance, one could
+express that an entity was used before it was generated, or that the
+activity that generated an entity began its existence after the entity
+generation. A set of constraints have been defined for PROV-DM and
+can be found in a companion specification [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].
+They <em class="rfc2119" title="should">should</em> be used by developers to compose provenance descriptions that are valid, and
+by implementers of reasoning engines aiming to check whether provenance descriptions have problems. </li>
+
+
+
+<li>
+<p> The example of <a href="#prov-dm-example">section 3</a> contains identifiers such as <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span>, which denotes a specific version of a technical report. On the other hand, a URI such as <a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a> denotes the latest version of a document. One needs to ensure that provenance descriptions for the latter resource remain valid as the resource state changes. </p>
+
+<p>To this end, PROV-DM allows asserters to describe "<em>partial states</em>" of entities by means of attributes and associated values. Some further constraints apply to the use of these attributes, since the values associated with them are expected to remain unchanged for some period of time. The constraints associated to attributes allow provenance descriptions to be refined, they can also be found in the companion specification [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].</p>
+
+
+</li>
+
+
+<li>
+<p>The idea of bundling provenance descriptions is crucial to the PROV approach. Indeed, it allows multiple provenance perspectives to be provided for a given entity. It is also the mechanism by which provenance of provenance can be expressed.
+Descriptions in bundles are expected to satisfy constraints specified in the companion specification [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].</p>
+</li>
+
+
+</ul>
+
+
+</div>
+
+
+
+<div class="appendix section" id="acknowledgements">
+ <!--OddPage--><h2><span class="secno">A. </span>Acknowledgements</h2>
+ <p>
+ WG membership to be listed here.
+ </p>
+ </div>
+
+
+
+<div id="references" class="appendix section"><!--OddPage--><h2><span class="secno">B. </span>References</h2><div id="normative-references" class="section"><h3><span class="secno">B.1 </span>Normative references</h3><dl class="bibliography"><dt id="bib-IRI">[IRI]</dt><dd>M. Duerst, M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRI).</cite></a> January 2005. Internet RFC 3987. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3987.txt</a>
+</dd><dt id="bib-RDF-CONCEPTS">[RDF-CONCEPTS]</dt><dd>Graham Klyne; Jeremy J. Carroll. <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210"><cite>Resource Description Framework (RDF): Concepts and Abstract Syntax.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210">http://www.w3.org/TR/2004/REC-rdf-concepts-20040210</a>
+</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd>S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119. URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
+</dd><dt id="bib-UML">[UML]</dt><dd>Object Management Group <a href="http://www.omg.org/spec/UML/2.0/Superstructure/PDF/"><cite>Unified Modeling Language: Superstructure</cite></a>. version 2.0, 2005URL: <a href="http://www.omg.org/spec/UML/2.0/Superstructure/PDF/">http://www.omg.org/spec/UML/2.0/Superstructure/PDF/</a>
+</dd><dt id="bib-URI">[URI]</dt><dd>T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifiers (URI): generic syntax.</cite></a> January 2005. Internet RFC 3986. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>
+</dd><dt id="bib-XMLSCHEMA-2">[XMLSCHEMA-2]</dt><dd>Paul V. Biron; Ashok Malhotra. <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/"><cite>XML Schema Part 2: Datatypes Second Edition.</cite></a> 28 October 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/</a>
+</dd></dl></div><div id="informative-references" class="section"><h3><span class="secno">B.2 </span>Informative references</h3><dl class="bibliography"><dt id="bib-Logic">[Logic]</dt><dd>W. E. Johnson<a href="http://www.ditext.com/johnson/intro-3.html"><cite>Logic: Part III</cite></a>.1924. URL: <a href="http://www.ditext.com/johnson/intro-3.html">http://www.ditext.com/johnson/intro-3.html</a>
+</dd><dt id="bib-PROV-AQ">[PROV-AQ]</dt><dd>Graham Klyne and Paul Groth (eds.) Luc Moreau, Olaf Hartig, Yogesh Simmhan, James Meyers, Timothy Lebo, Khalid Belhajjame, and Simon Miles <a href="http://www.w3.org/TR/prov-aq/"><cite>Provenance Access and Query</cite></a>. 2011, Working Draft. URL: <a href="http://www.w3.org/TR/prov-aq/">http://www.w3.org/TR/prov-aq/</a>
+</dd><dt id="bib-PROV-CONSTRAINTS">[PROV-CONSTRAINTS]</dt><dd>James Cheney, Paolo Missier, and Luc Moreau (eds.) <a href="http://www.w3.org/TR/prov-constraints/"><cite>Constraints of the PROV Data Model</cite></a>. 2011, Working Draft. URL: <a href="http://www.w3.org/TR/prov-constraints/">http://www.w3.org/TR/prov-constraints/</a>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau and Paolo Missier (eds.) <a href="http://www.w3.org/TR/prov-n/"><cite>PROV-N: The Provenance Notation</cite></a>. 2011, Working Draft. URL: <a href="http://www.w3.org/TR/prov-n/">http://www.w3.org/TR/prov-n/</a>
+</dd></dl></div></div></body></html>