merge
authorPaolo Missier <pmissier@acm.org>
Wed, 11 Jul 2012 17:04:05 +0100
changeset 3954 e35fdcd2dcb7
parent 3953 ae4e3f898321 (current diff)
parent 3952 9c8be7a556e8 (diff)
child 3955 dbac52f636e9
merge
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/model/prov-table.html	Wed Jul 11 17:04:05 2012 +0100
@@ -0,0 +1,2847 @@
+<!DOCTYPE html
+>
+
+<html><head> 
+    <title>Mapping table for prov</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 }
+
+.diamond {
+    font-weight: normal;
+    font-style: normal;
+    font-size:100%;
+    font-family: sans-serif;
+}
+
+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>
+
+    <script src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script> 
+    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" class="remove"></script>
+    <script src="http://www.w3.org/2007/OWL/toggles.js"></script> 
+
+    <script src="glossary.js" class="remove"></script>
+
+    <script class="remove">
+      function updateGlossaryRefs() {
+        $('.glossary-ref').each(function(index) {
+          var ref=$(this).attr('data-ref');
+          var span=$(this).attr('data-withspan')
+          $(this).removeAttr('data-withspan');
+          $(this).removeAttr('data-ref');
+
+          $('#'+ref+'.glossary').contents().clone().appendTo($(this));
+//          $(this).attr("prov:hadOriginalSource",glossary_hg);
+          if (span) {
+            $(this).children('dfn').replaceWith(function(){return $('<span>').addClass('dfn').append($(this).contents())});
+          }
+        });
+      }
+
+        // function to replace figcaption since not allowed by prov rules, and not transformed by respec.js
+      function updateFigCaptions() {
+	var figureCount=1;
+
+        $('figcaption').each(function(index) {
+
+          var myid=$(this).attr('id');
+          var mycount=figureCount++;
+
+          $(this).replaceWith(function(){return $('<span>').addClass('figcaption').attr('data-count', mycount).attr('id',myid).append("Figure " + mycount)
+.append($('<sup>').append($('<a>').addClass('internalDFN').attr('href','#'+myid).append($('<span>').addClass('diamond').append(" &#9674;:")))).append(" ")
+.append($(this).contents())});
+        });
+      }
+
+        // function to update caption with linkable diamond
+      function updateCaptions() {
+	var tableCount=1;
+
+        $('caption').each(function(index) {
+
+          var myid=$(this).attr('id');
+          var mycount=tableCount++;
+
+          $(this).attr('data-count', mycount)
+.prepend($('<span>').append("Table " + mycount)
+		  .append($('<sup>').append($('<a>').addClass('internalDFN').attr('href','#'+myid).append($('<span>').addClass('diamond').append(" &#9674;:")))).append(" "))
+        });
+      }
+
+        // function to replace figure since not allowed by prov rules, and not transformed by respec.js
+      function updateFigures() {
+        $('figure').each(function(index) {
+
+          var myid=$(this).attr('id');
+          var mystyle=$(this).attr('style');
+
+             console.log( "figure " + myid + " " + $(this).contents());
+
+          $(this).replaceWith(function(){
+                                          var aNewElement=$('<span>').addClass('figure').append($(this).contents());
+                                          if (myid) {
+                                            aNewElement.attr('id',myid)
+                                          }                                          
+                                          if (mystyle) {
+                                            aNewElement.attr('style',mystyle)
+                                          }                                          
+                                          return aNewElement });
+
+
+
+        //          $(this).replaceWith(function(){return $('<span>').addClass('figure').attr('id',myid).attr('style',mystyle).append($(this).contents())});
+             console.log( "figure " + myid);
+        });
+      }
+
+      function updateExamples() {
+        var count=1;
+        $('.anexample').each(function(index) {
+
+          var myid=$(this).attr('id');
+          var mycount=count++;
+
+          if (myid==undefined) {
+            myid='example_' + mycount;
+            $(this).attr('id',myid);
+          }
+
+          
+          $(this).attr('data-count', mycount).prepend($('<div>').addClass('anexampleTitle')
+                                                          //.append($('<a>').addClass('internalDFN').attr('href','#'+myid).append("Example " + mycount))
+              .append("Example " + mycount)
+              .append($('<sup>').append($('<a>').addClass('internalDFN').attr('href','#'+myid).append($('<span>').addClass('diamond').append(" &#9674;"))))
+              );
+
+
+          //console.log( "example for " + myid + " " + mycount);
+
+        });
+      }
+
+              
+
+      function updateDfn() {
+        var count=1;
+        $('dfn').each(function(index) {
+
+          var myid=$(this).addClass('internalDFN').attr('id');
+
+          $(this).after($('<sup>').append($('<a>').addClass('internalDFN').attr('href','#'+myid).append($('<span>').addClass('diamond').append(" &#9674;"))));  //&#9674;//&#9830;
+          
+//              console.log( "dfn for " + myid + " ");
+
+        });
+      }
+
+
+      function updateExamplesRefs() {
+        $('.anexample-ref').each(function(index) {
+
+          myhref=$(this).attr('href');
+
+              //console.log( "example ref for " + myhref);
+
+          mycount=$(myhref).attr('data-count');
+
+              //console.log( "example ref for " + myhref + " " + mycount);
+
+          $(this).children('span').replaceWith(function(){return $('<span>').append("Example " + mycount)});
+
+        });
+
+        $('.anexample').each(function(index) {
+          $(this).removeAttr('data-count');
+        });
+
+      }
+
+
+      function updateSectionRefs() {
+
+         $('.section-ref').each(function(index) {
+
+          myhref=$(this).attr('href');
+
+          console.log( "section ref for " + myhref);
+
+          if (myhref.startsWith("#")) {
+
+
+            //Problem, this returns all span.secno elements, and concatenates their text
+                    // I shoul just get the first one
+            mysectionNumber=$(myhref).find('span.secno').first().text().trim();
+
+                    
+
+
+             console.log( "section ref for " + myhref + " " + mysectionNumber);
+
+             $(this).children('span').replaceWith(function(){return $('<span>').append("Section " + mysectionNumber)});
+
+           }
+
+        });
+      }
+
+
+
+      $(document).ready(function(){
+        // if glossary is in a string:
+        $('#glossary_div').html(glossary_string)
+        updateGlossaryRefs();
+        updateFigCaptions();
+        updateCaptions();
+        updateExamples();
+        updateExamplesRefs();
+
+                      if (typeof String.prototype.startsWith != 'function') {
+                      String.prototype.startsWith = function (str){
+                      return this.indexOf(str) == 0;
+                      };
+                      }
+
+      });
+
+    </script>
+
+    <script class="remove"> 
+      var addExtraReferences = function() {
+          for (var k in extraReferences)
+              berjon.biblio[k] = extraReferences[k];
+      };
+      var extraReferences = {
+        "CLOCK":
+         "Lamport, L. "+
+         "<a href=\"http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf\"><cite>Time, clocks, and the ordering of events in a distributed system</cite></a>."+
+         "Communications of the ACM 21 (7): 558–565. 1978. "+
+         "URL: <a href=\"http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf\">http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf</a> " +
+         "DOI: doi:10.1145/359545.359563.",
+        "CSP":
+         "Hoare, C. A. R. "+
+         "<a href=\"http://www.usingcsp.com/cspbook.pdf\"><cite>Communicating Sequential Processes</cite></a>."+
+         "Prentice-Hall. 1985"+
+         "URL: <a href=\"http://www.usingcsp.com/cspbook.pdf\">http://www.usingcsp.com/cspbook.pdf</a>",
+        "Logic":
+          "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>",
+        "PROV-SEM":
+          "James Cheney "+
+          "<a href=\"http://www.w3.org/2011/prov/wiki/FormalSemanticsStrawman\"><cite>Formal Semantics Strawman</cite></a>. "+
+          "2011, Work in progress. "+
+          "URL: <a href=\"http://www.w3.org/2011/prov/wiki/FormalSemanticsStrawman\">http://www.w3.org/2011/prov/wiki/FormalSemanticsStrawman</a>",
+
+        "PROV-PRIMER":
+          "Yolanda Gil and Simon Miles (eds.) Khalid Belhajjame, Helena Deus, Daniel Garijo, Graham Klyne, Paolo Missier, Stian Soiland-Reyes, and Stephan Zednik "+
+          "<a href=\"http://www.w3.org/TR/prov-primer/\"><cite>Prov Model Primer</cite></a>. "+
+          "2011, Working Draft. "+
+          "URL: <a href=\"http://www.w3.org/TR/prov-primer/\">http://www.w3.org/TR/prov-primer/</a>",
+
+        "PROV-O":
+          "Satya Sahoo and Deborah McGuinness (eds.) Khalid Belhajjame, James Cheney, Daniel Garijo, Timothy Lebo, Stian Soiland-Reyes, and Stephan Zednik "+
+          "<a href=\"http://www.w3.org/TR/prov-o/\"><cite>Provenance Formal Model</cite></a>. "+
+          "2011, Working Draft. "+
+          "URL: <a href=\"http://www.w3.org/TR/prov-o/\">http://www.w3.org/TR/prov-o/</a>",
+
+
+        "PROV-CONSTRAINTS":
+          "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>",
+
+        "PROV-N":
+          "Luc Moreau and Paolo Missier (eds.) James Cheney, Stian Soiland-Reyes "+
+          "<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>",
+
+        "PROV-AQ":
+          "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>",
+
+        "UML":
+          "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, 2005 "+
+          "URL: <a href=\"http://www.omg.org/spec/UML/2.0/Superstructure/PDF/\">http://www.omg.org/spec/UML/2.0/Superstructure/PDF/</a>",
+
+        "RDF-CONCEPTS11":
+          "Richard Cyganiak and David Wood (eds.) " +
+          "RDF 1.1 Concepts and Abstract Syntax "+
+          "<a href=\"http://www.w3.org/TR/rdf11-concepts/\"><cite>RDF 1.1 Concepts and Abstract Syntax</cite></a>. "+
+          "URL: <a href=\"http://www.w3.org/TR/rdf11-concepts/\">http://www.w3.org/TR/rdf11-concepts/</a>",
+
+        "Mappings":
+          "Satya Sahoo and Paul Groth and Olaf Hartig and Simon Miles and Sam Coppens and James Myers and Yolanda Gil and Luc Moreau and Jun Zhao and Michael Panzer and Daniel Garijo "+
+          "<a href=\"http://www.w3.org/2005/Incubator/prov/wiki/Provenance_Vocabulary_Mappings\"><cite>Provenance Vocabulary Mappings</cite></a>. "+
+          "August 2010 "+
+          "URL: <a href=\"http://www.w3.org/2005/Incubator/prov/wiki/Provenance_Vocabulary_Mappings\">http://www.w3.org/2005/Incubator/prov/wiki/Provenance_Vocabulary_Mappings</a>",
+
+
+
+      };
+      var respecConfig = {
+          // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
+          specStatus:           "ED",
+          
+          // the specification's short name, as in http://www.w3.org/TR/short-name/
+          shortName:            "prov-dm",
+ 
+          // if your specification has a subtitle that goes below the main
+          // formal title, define it here
+      subtitle   :  "Version for Last Call Vote (WD6) (<a href=\"diff.html\">Diffs since last release</a>)",
+
+ 
+          // if you wish the publication date to be other than today, set this
+//          publishDate:  "2012-05-03",
+ 
+          // if the specification's copyright date is a range of years, specify
+          // the start date here:
+          copyrightStart: "2011",
+ 
+          // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
+          // and its maturity status
+          previousPublishDate:  "2012-05-03",
+          previousMaturity:  "WD",
+ 
+          // if there a publicly available Editor's Draft, this is the link
+          edDraftURI:           "http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html",
+ 
+          // if this is a LCWD, uncomment and set the end of its review period
+          // lcEnd: "2009-08-05",
+ 
+          // if you want to have extra CSS, append them to this list
+          // it is recommended that the respec.css stylesheet be kept
+          extraCSS:             ["http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css", "./extra-dm.css"],
+ 
+          // editors, add as many as you like
+          // only "name" is required
+          editors:  [
+              { name: "Luc Moreau", url: "http://www.ecs.soton.ac.uk/~lavm/",
+                company: "University of Southampton" },
+              { name: "Paolo Missier", url: "http://www.cs.ncl.ac.uk/people/Paolo.Missier",
+                company: "Newcastle University" },
+          ],
+ 
+          // authors, add as many as you like. 
+          // This is optional, uncomment if you have authors as well as editors.
+          // only "name" is required. Same format as editors.
+ 
+          authors:  [
+              { name: "Khalid Belhajjame", url: "http://semanticweb.org/wiki/Khalid_Belhajjame",
+                company: "University of Manchester" },
+              { name: "Reza B'Far",
+                company: "Oracle Corporation" },
+              { name: "James Cheney", url: "http://homepages.inf.ed.ac.uk/jcheney/",
+                company: "University of Edinburgh" },
+              { name: "Sam Coppens",
+                company: "IBBT - Ghent University"},
+              { name: "Stephen Cresswell",
+                company: "legislation.gov.uk"},
+              { name: "Yolanda Gil",
+                company: "Invited Expert", url:"http://www.isi.edu/~gil/"},
+              { name: "Paul Groth", url: "http://www.few.vu.nl/~pgroth/",
+                company: "VU University of Amsterdam" },
+              { name: "Graham Klyne",
+                company: "University of Oxford" },
+              { name: "Timothy Lebo", url: "http://tw.rpi.edu/instances/TimLebo",
+                company: "Rensselaer Polytechnic Institute" },
+              { name: "Jim McCusker", url: "http://tw.rpi.edu/web/person/JamesMcCusker",
+                company: "Rensselaer Polytechnic Institute" },
+              { name: "Simon Miles", 
+                company: "Invited Expert", url:"http://www.inf.kcl.ac.uk/staff/simonm/" },
+              { name: "James Myers", url:"http://www.rpi.edu/research/ccni/",
+                company: "Rensselaer Polytechnic Institute"},
+              { name: "Satya Sahoo", url:"http://cci.case.edu/cci/index.php/Satya_Sahoo",
+                company: "Case Western Reserve University" },
+              { name: "Curt Tilmes", 
+                company: "National Aeronautics and Space Administration" },
+          ],
+          
+          // name of the WG
+          wg:           "Provenance Working Group",
+          
+          // URI of the public WG page
+          wgURI:        "http://www.w3.org/2011/prov/",
+          
+          // name (with the @w3c.org) of the public mailing to which comments are due
+          wgPublicList: "public-prov-comments",
+          
+          // URI of the patent status for this WG, for Rec-track documents
+          // !!!! IMPORTANT !!!!
+          // This is important for Rec-track documents, do not copy a patent URI from a random
+          // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
+          // Team Contact.
+          wgPatentURI:  "http://www.w3.org/2004/01/pp-impl/46974/status",
+
+          // Add extraReferences to bibliography database
+          preProcess: [addExtraReferences],
+
+          postProcess: [updateSectionRefs, updateDfn, updateFigures],
+      };
+    </script> 
+  </head> 
+  <body> 
+
+    <section id="abstract">
+<p>
+Provenance is information about entities, activities, and people
+involved in producing a piece of data or thing, which can be used
+ to form assessments about its quality, reliability or trustworthiness.
+PROV-DM is the conceptual data model that forms a basis for the W3C
+provenance (PROV) family of specifications.
+PROV-DM distinguishes core structures, forming the essence of provenance information, from
+extended structures catering for more specific 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) derivations of entities from entities;
+(3) agents bearing responsibility for entities that were generated and activities that happened;
+(4) a notion of bundle, a mechanism to support provenance of provenance; 
+(5) properties to link entities that refer to the same thing; 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 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>
+
+    </section> 
+
+<section id="sotd">
+<h4>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.</p>
+
+<p>This specification identifies one  <a href="http://www.w3.org/2005/10/Process-20051014/tr#cfi">feature at risk</a>: <a href="#term-mention">Mention</a> might be removed from PROV if implementation experience reveals problems with supporting this construct.</p>
+
+
+<h4>Please Comment By 2012-09-13 (date TBC)</h4>
+<p>The PROV Working group seeks public feedback on this Working Draft.
+The end date of the Last Call review period is <b>2012-09-13 (TBC)</b>, and we would appreciate comments by that date to public-prov-comments@w3.org
+</p>
+
+<h4>PROV Family of Specifications</h4>
+This document is part of the PROV family of specifications, a set of specifications defining various aspects that are necessary to achieve the vision of inter-operable
+interchange of provenance information in heterogeneous environments such as the Web.  The specifications are:
+<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 [[PROV-CONSTRAINTS]];</li>
+<li> PROV-N, a notation for provenance aimed at human consumption [[PROV-N]];</li>
+<li> PROV-O, the PROV ontology, an OWL2 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 data model [[PROV-PRIMER]].</li>
+</ul>
+<h4>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 OWL2 ontology. For further details, PROV-DM and PROV-CONSTRAINTS specify the constraints applicable to the data model, and its interpretation. </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 and PROV-N offer examples of mapping to RDF and text, respectively.</li>
+</ul>
+</section>
+
+
+
+
+<!-- <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>     
+-->
+
+
+
+
+
+<section id="data-model-components"> 
+
+<h2>PROV-DM Types and Relations</h2>
+
+<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">PROV-DM Types and Relations</caption> <!-- Table 5-->
+<tr><td><a><b>PROV-DM</b></a></td><td><b>PROV-O</b></td><td><b>PROV-N</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><td style="border-width: 0px; "></td></tr>
+
+<tr class="component1-color"><td><a title="Entity">provdm:Entity</a></td><td><a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Entity">provo:Entity</a></td><td><code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/ED-prov-n-20120629/prov-n.html#prod-entityExpression">entityExpression</a></code>
+</td><td rowspan="8"><a href="#component1">Component 1: Entities/Activities</a></td></tr>
+
+<tr class="component1-color"><td><a title="Activity">provdm:Activity</a></td><td><a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Entity">provo:Activity</a></td><td><code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/ED-prov-n-20120629/prov-n.html#prod-activityExpression">activityExpression</a></code></td></tr>
+
+<tr class="component1-color"><td><a title="Generation">provdm:Generation</a></td><td><a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasGeneratedBy">provo:wasGeneratedBy</a>, <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Generation">provo:Generation</a></td><td><code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/ED-prov-n-20120629/prov-n.html#prod-generationExpression">generationExpression</a></code>
+</td></tr>
+<tr class="component1-color"><td><a>Usage</a></td><td></td></tr>
+<tr class="component1-color"><td><a>Communication</a></td><td></td></tr>
+<tr class="component1-color"><td><a>Start</a></td><td></td></tr>
+<tr class="component1-color"><td><a>End</a></td><td></td></tr>
+<tr class="component1-color"><td><a>Invalidation</a></td><td></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"><td><a>Derivation</a></td><td><a title="wasDerivedFrom"><span>wasDerivedFrom(</span>id; <span>e2, e1</span>, a, g2, u1, attrs<span>)</span></a></td><td  rowspan="5"><a href="#component2">Component 2: Derivations</a></td></tr>
+<tr class="component2-color"><td class="provType"><a>Revision</a></td><td><a title="Revision">... prov:type='prov:Revision' ...</a></td></tr>
+<tr class="component2-color"><td class="provType"><a>Quotation</a></td><td><a title="Quotation">... prov:type='prov:Quotation' ...</a></td></tr>
+<tr class="component2-color"><td class="provType"><a>Primary Source</a></td><td><a title="PrimarySource">... prov:type='prov:PrimarySource' ...</a></td></tr>
+<tr class="component2-color"><td><a>Influence</a></td><td><a title="wasInfluencedBy">wasInfluencedBy(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="component3-color" style="border-collapse: collapse; "><td ><a>Agent</a></td><td><a title="dfn-agent">agent(id, [ attr1=val1, ...])</a></td><td  rowspan="8"><a href="#component3">Component 3: Agents, Responsibility, Influence</a></td></tr>
+<tr class="component3-color"><td><a>Attribution</a></td><td><a title="wasAttributedTo"><span>wasAttributedTo(</span>id;<span>e,ag</span>,attr<span>)</span></a></td></tr>
+<tr class="component3-color"><td><a>Association</a></td><td><a title="wasAssociatedWith"><span>wasAssociatedWith(</span>id;<span>a,ag</span>,pl,attrs<span>)</span></a></td></tr>
+<tr class="component3-color"><td><a>Delegation</a></td><td><a title="actedOnBehalfOf"><span>actedOnBehalfOf(</span>id;<span>ag2,ag1</span>,a,attrs<span>)</span></a></td></tr>
+<tr class="component3-color"><td class="provType"><a>Plan</a></td><td><a title="plan">... prov:type='prov:Plan' ...</a></td></tr>
+<tr class="component3-color"><td class="provType"><a>Person</a></td><td><a title="person">... prov:type='prov:Person' ...</a></td></tr>
+<tr class="component3-color"><td class="provType"><a>Organization</a></td><td><a title="organization">... prov:type='prov:Organization' ...</a></td></tr>
+<tr class="component3-color"><td class="provType"><a title="software-agent">SoftwareAgent</a></td><td><a title="software-agent">... 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="component4-color"><td><a title="bundle">Bundle constructor</a></td><td><a title="dfn-bundle">bundle id description_1 ... description_n endBundle</a></td><td  rowspan="2"><a href="#component5">Component 4: Bundles</a></td></tr>
+<tr class="component4-color"><td class="provType"><a title="bundle">Bundle type</a></td><td><a title="bundle">... prov:type='prov:Bundle' ...</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>Alternate</a></td><td><a title="alternateOf">alternateOf(alt1, alt2)</a></td><td  rowspan="3"><a href="#component4">Component 5: Alternate</a></td></tr>
+<tr class="component5-color"><td><a>Specialization</a></td><td><a title="specializationOf">specializationOf(infra, supra)</a></td></tr>
+<tr class="component5-color"><td><a>Mention</a></td><td><a title="mentionOf">mentionOf(infra, supra,bundle)</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>Collection</a></td><td><a title="collection">... prov:type='prov:Collection' ...</a></td><td  rowspan="3"><a href="#component6">Component 6: Collections</a></td></tr>
+<tr class="component6-color"><td class="provType"><a title="empty collection">EmptyCollection</a></td><td><a title="empty collection">... prov:type='prov:EmptyCollection' ...</a></td></tr>
+<tr class="component6-color"><td><a>Collection Membership</a></td><td><a title="hadMembers">hadMembers(id; c, {e_1, ..., e_n}, cplt, attrs)</a></td></tr>
+</table>
+</div>
+
+
+
+
+<section id="component1"> 
+<h3>Component 1: Entities and Activities</h3>
+
+<p>The first component of PROV-DM is concerned with <a title="entity">entities</a> and <a title="activity">activities</a>, and their interrelations: <a>Usage</a>, <a>Generation</a>, <a>Start</a>, <a>End</a>, <a>Invalidation</a>, and <a>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>Entity</a>, <a>Activity</a>) and three binary associations between them (<a>Usage</a>, <a>Generation</a>, and <a>Communication</a>). The rest of the figure displays extended structures, including UML association classes (see [[!UML]], section 7.3.4, p. 42), represented in gray, to express expanded n-ary relations (for <a>Usage</a>, <a>Generation</a>, <a>Invalidation</a>, <a>Start</a>, <a>End</a>). The figure also makes explicit associations with <em>time</em> for these concepts (time being marked with the primitive stereotype).   When not specified, cardinality is assumed to be 0..*.
+</p>
+
+<div style="text-align: center;">
+<figure style="max-width: 95%; ">
+<!--<img src="images/Entities-Activities.png" alt="entities and activities"/> -->
+<img src="uml/component1.png" alt="entities and activities"/><br>
+<figcaption id="figure-component1">Entities and Activities Component Overview</figcaption> <!-- Figure 5 -->
+</figure>
+</div>
+
+
+
+
+
+   <section id="term-entity"> 
+      
+<h4>Entity</h4>
+
+
+<div class="glossary-ref" data-ref="glossary-entity"></div>
+
+
+<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 OPTIONAL 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" id="anexample-entity">
+<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">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>
+
+
+
+
+    </section> 
+
+    <section id="term-Activity"> 
+      
+<h3>Activity</h3>
+
+<div class="glossary-ref" data-ref="glossary-activity"></div>
+
+<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 OPTIONAL time (<span class="name">st</span>) for the start of the activity;</li>
+<li><span class='attribute' id="activity.endTime">endTime</span>: an OPTIONAL time (<span class="name">et</span>) for the end of the activity;</li>
+<li><span class='attribute' id="activity.attributes">attributes</span>:  an OPTIONAL 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" id="anexample-activity">
+<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 [[Logic]].
+</li>
+</ul>
+
+
+</section>
+
+<section id="term-Generation">
+<h4>Generation</h4>
+
+<div class="glossary-ref" data-ref="glossary-generation"></div>
+
+<p>
+<div class="attributes" id="attributes-generation"><dfn title="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 OPTIONAL 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 OPTIONAL identifier (<span class="name">a</span>) for the activity that creates the entity;</li>
+
+<li><span class='attribute' id="generation.time">time</span>: an OPTIONAL "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 OPTIONAL 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 OPTIONAL, at least one of them MUST be present.</p>
+
+
+
+
+
+<div class='anexample' id="anexample-generation1">
+<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' id="anexample-generation2">
+<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>
+
+
+</section>
+
+
+<section id="term-Usage">
+<h3>Usage</h3>
+
+<p><span class="glossary-ref" data-ref="glossary-usage"></span>  (Note: This definition is formulated for a given usage; it is permitted for an activity to have used a same entity multiple times.)</p>
+
+
+<p><div class="attributes" id="attributes-usage"><dfn title="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 OPTIONAL 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 OPTIONAL identifier (<span class="name">e</span>) for the  entity being used;</li>
+<li><span class='attribute' id="usage.time">time</span>: an OPTIONAL "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 OPTIONAL 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 OPTIONAL, at least one of them MUST be present.</p>
+
+<p>
+A reference to a given entity MAY appear in multiple usages that share
+ a given activity identifier. 
+</p>
+
+
+<div class='anexample' id="anexample-usage">
+<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>
+
+
+
+
+
+
+</section>
+
+<section id="term-Communication">
+<h3>Communication</h3>
+
+<div class="glossary-ref" data-ref="glossary-communication"></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><div class="attributes" id="attributes-wasInformedBy">
+A <dfn title="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="communication.id">id</span>:  an OPTIONAL identifier  identifying the relation;</li> 
+<li><span class='attribute' id="communication.informed">informed</span>: the identifier (<span class="name">a2</span>) of the informed activity;
+<li><span class='attribute' id="communication.informant">informant</span>: the identifier (<span class="name">a1</span>) of the informant activity;
+<li><span class='attribute' id="communication.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this communication.</li>
+</ul>
+</div>
+
+
+
+<div class="anexample" id="anexample-communication">
+<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. 
+<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>
+</section>
+
+<section id="term-Start">
+<h4>Start</h4>
+
+<div class="glossary-ref" data-ref="glossary-start"></div>
+
+
+<p><div class="attributes" id="attributes-start">An activity <dfn title="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 OPTIONAL 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 OPTIONAL identifier (<span class="name">e</span>) for the entity triggering the activity;</li> 
+<li><span class='attribute' id="start.starter">starter</span>: an OPTIONAL 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 OPTIONAL time (<span class="name">t</span>) at which the activity was started; </li> 
+<li><span class='attribute' id="start.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this activity start.
+</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 OPTIONAL, at least one of them MUST be present.</p>
+
+
+<div class="anexample" id="anexample-start1">
+<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 be valid to write:
+<pre class="codeexample">
+wasStartedBy(a1, -, a0, 2011-11-16T16:05:00)
+</pre>
+</div>
+
+<div class="anexample" id="anexample-start2">
+<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>.
+<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" id="anexample-start3">
+<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.
+
+
+<pre class="codeexample" id="anexample-start4">
+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>
+
+</section>
+
+<section id="term-End">
+<h4>End</h4>
+
+<div class="glossary-ref" data-ref="glossary-end"></div>
+
+
+<p><div class="attributes" id="attributes-end">An activity <dfn title="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 OPTIONAL 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><span class='attribute' id="end.trigger">trigger</span>: an OPTIONAL identifier (<span class="name">e</span>) for the entity triggering the activity ending;
+<li><span class='attribute' id="end.ender">ender</span>: an OPTIONAL 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 OPTIONAL time (<span class="name">t</span>) at which the activity was ended; </li> 
+<li><span class='attribute' id="end.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this activity end.
+</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 OPTIONAL, at least one of them MUST be present.</p>
+
+
+<div class="anexample" id="anexample-end">
+<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>
+</section>
+
+<section id="term-Invalidation">
+<h4>Invalidation</h4>
+
+
+<div class="glossary-ref" data-ref="glossary-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> an entity was consumed: e.g. Bob ate all his soup, Alice ran out of gas when driving to work;
+<li> an entity expires: e.g. a "buy one beer, get one free" offer is valid during happy hour (7-8pm);
+<li> an entity is time limited: e.g. the BBC news site on April 3rd, 2012;
+<li> an entity attribute is changing: e.g. the traffic light changed from green to red.
+</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>
+<div class="attributes" id="attributes-invalidation"><dfn title="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 OPTIONAL 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 OPTIONAL identifier for the activity that invalidated the entity;</li>
+
+<li><span class='attribute' id="invalidation.time">time</span>: an OPTIONAL "invalidation time", the time at which the entity began to be invalidated;</li>
+
+<li><span class='attribute' id="invalidation.attributes">attributes</span>:  an OPTIONAL 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 OPTIONAL, at least one of them MUST be present.</p>
+
+
+
+<div class="anexample" id="anexample-invalidation1">
+<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>.
+
+<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-03T01:31:00, [ ex:circumstances="plane accident" ])
+</pre>
+</div>
+
+<div class="anexample" id="anexample-invalidation2">
+<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.
+<pre class="codeexample">
+entity(ex:bbcNews2012-04-03)
+hadMembers(ex:bbcNews2012-04-03, {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 REF</span></a>
+ for further descriptions of the BBC Web site, and to  <a href="#term-collection-membership">Section 5.6.2</a> for a description of the relation <a title="hadMembers">hadMembers</a>.
+</div>
+
+
+<div class="anexample" id="anexample-invalidation3">
+<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>
+
+
+</section>
+
+
+
+
+
+</section>
+
+
+<section id="component2"> 
+<h3>Component 2: Derivations</h3>
+
+
+
+<p>The third component of PROV-DM is concerned with: <a title="derivation">derivations</a> of <a title="entity">entities</a> from other entities and derivation subtypes <a>Revision</a>, <a>Quotation</a>, and <a>Primary Source</a>.
+ <a href="#figure-component2">Figure 6</a> depicts the third component
+with PROV core structures in the yellow area, including two classes
+(<a>Entity</a>, <a>Activity</a>) and binary association
+(<a>Derivation</a>). PROV extended structures are found outside this
+area. UML association classes express expanded n-ary relations.
+The subclasses are marked by the UML stereotype "prov:type" to indicate that the corresponding types are valid values for the attribute <a href="#term-attribute-type">prov:type</a>.
+</p>
+
+
+<div style="text-align: center;">
+<figure style="max-width: 95%; ">
+<!-- <img src="images/Derivation.png" alt="derivation"/> -->
+<img src="uml/component2.png" alt="derivation"/><br>
+<figcaption id="figure-component2">Derivation Component Overview</figcaption> <!-- Figure 6 -->
+</figure>
+</div>
+
+<section id="term-Derivation">
+<h4>Derivation</h4>
+
+
+
+
+
+<div class="glossary-ref" data-ref="glossary-derivation"></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><div class="attributes" id="attributes-derivation">A <dfn title="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 OPTIONAL 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 OPTIONAL 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 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="derivation.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="derivation.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this derivation.</li>
+</ul>
+</div>
+
+
+
+<div class="anexample" id="anexample-derivation">
+<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>
+
+
+
+
+</section>
+
+<section id="term-revision">
+<h3>Revision</h3>
+
+<p><span class="glossary-ref" data-ref="glossary-revision"></span></p>
+
+
+<p>
+  The implication here is that
+     the resulting entity contains substantial content from the
+     original.
+Revision is a particular case of <a>derivation</a> of an entity into its revised version.
+The type is of a revision derivation is denoted by:
+<dfn title="Revision"><span class="name">prov:Revision</span></dfn>.
+</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">
+<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>.
+<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:Revision' ])
+</pre>
+</div>
+
+
+
+</section>  <!-- end revision -->
+
+<section id="term-quotation">
+<h3>Quotation</h3>
+
+<p> 
+<span class="glossary-ref" data-ref="glossary-quotation"></span>
+</p>
+
+<p>Quotation
+ is a particular case of  <a>derivation</a> in which an entity is derived from an original entity by copying, or "quoting", some or all of it.
+The type is of a quotation derivation is denoted by:
+<dfn title="Quotation"><span class="name">prov:Quotation</span></dfn>.
+</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">
+<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>.
+<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:Quotation' ])
+wasAttributedTo(dm:bl-dagstuhl, ex:Luc)
+wasAttributedTo(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/, ex:Paul)
+</pre>
+
+</div>
+
+
+</section>  <!-- end quotation -->
+
+
+<section id="term-primary-source">
+<h3>Primary Source</h3>
+
+<p>
+<span class="glossary-ref" data-ref="glossary-primary-source"></span>
+</p>
+
+<p>Because of the directness
+of <a href="http://en.wikipedia.org/wiki/Primary_source">primary
+sources</a>, they "speak for themselves" in ways that cannot be
+captured through the filter of secondary sources. As such, it is
+important for secondary sources to reference those primary sources
+from which they were derived, so that their reliability can be
+investigated.</p>
+
+
+<p>A <dfn>primary source</dfn> relation is a particular case of <a>derivation</a> of
+secondary materials from their primary sources. It is recognized that
+the determination of primary sources can be up to interpretation, and
+should be done according to conventions accepted within the
+application's domain. 
+The type is of a  primary source derivation is denoted by:
+<dfn title="PrimarySource"><span class="name">prov:PrimarySource</span></dfn>.
+</p>
+
+
+
+<div class="anexample" id="anexample-primary-source1">
+<p>
+Let us consider Charles Joseph Minard's flow map of Napoleon's March in
+1812, which was published in 1869. Although the map is not a primary source,
+Minard probably used the journal of Pierre-Irénée Jacob, pharmacist
+to Napoleon's army during the Russian campaign. This primary source relation
+can be encoded as follows.</p>
+
+<pre class="codeexample">
+entity(ex:la-campagne-de-Russie-1812-1813, [ prov:type="map" ])
+entity(ex:revue-d-Histoire-de-la-Pharmacie-t-XVIII, [ prov:type="journal" ])
+wasDerivedFrom(ex:la-campagne-de-Russie-1812-1813,
+               ex:revue-d-Histoire-de-la-Pharmacie-t-XVIII,
+               [ prov:type='prov:PrimarySource' ])
+</pre>
+</div>
+
+
+
+</section>  <!-- end primary source -->
+
+
+</section>
+
+<section id="component3"> 
+<h3>Component 3: Agents, Responsibility, and Influence</h3>
+
+<p>The second component of PROV-DM, depicted in  <a href="#figure-component3">Figure 7</a>, is concerned with <a title="agent">agents</a> and the notions of
+<a>Attribution</a>, <a>Association</a>, <a>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 UML association classes to express expanded n-ary relations, and subclasses <a>Plan</a>, <a>Person</a>, <a title="software-agent">SofwareAgent</a>, and <a>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 style="max-width: 95%; ">
+<!-- <img src="images/Agents-Responsibility.png" alt="agents and responsibilities"/> -->
+<img src="uml/component3.png" alt="agents and responsibilities"/><br>
+<figcaption id="figure-component3">Agents and Responsibility Overview</figcaption> <!-- Figure 7 -->
+</figure>
+</div>
+
+<p>Component 3 further defines a general notion of <a>influence</a>, as a super-relation of all relations defined so far. <a href="#figure-component3b">Figure 8</a> displays one new association class, generalizing previously introduced associations.</p>
+
+
+<div style="text-align: center;">
+<figure style="max-width: 95%; ">
+<img src="uml/Component3b.png" alt="Influence"/><br>
+<figcaption id="figure-component3b">Influence</figcaption> <!-- Figure 8 -->
+</figure>
+</div>
+
+<section id="term-agent">
+<h3>Agent</h3>
+
+<div class="glossary-ref" data-ref="glossary-agent"></div>
+
+
+<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" data-ref="glossary-software-agent"></div>
+
+<p></li>
+
+<li><span class="name">Organization</span>
+
+<div class="glossary-ref" data-ref="glossary-organization"></div>
+
+<p></li>
+
+<li><span class="name">Person</span>
+
+<div class="glossary-ref" data-ref="glossary-person"></div></li> 
+</ul>
+
+
+
+
+
+<div class="anexample">
+<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>
+
+</section>
+
+<section id="term-attribution">
+<h3>Attribution</h3> 
+
+<div class="glossary-ref" data-ref="glossary-attribution"></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><div class="attributes" id="attributes-attribution">An <dfn title="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 OPTIONAL 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 OPTIONAL 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">
+<p>
+Revisiting the example of 
+<a class="section-ref" href="#section-example-one"><span>TBD</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  class="section-ref" href="#term-attribute-role"><span>TBD</span></a>) allows for role of the agent in the attribution to be specified.
+<pre class="codeexample">
+agent(ex:Paolo, [ prov:type='prov:Person' ])
+agent(ex:Simon, [ prov:type='prov:Person' ])
+entity(tr:WD-prov-dm-20111215, [ prov:type='rec54:WD' ])
+wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, [ prov:type="editorship" ])
+wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, [ prov:type="authorship" ])
+</pre>
+</div>
+
+</section>  <!-- end attribution -->
+
+
+<section id="term-Association">
+<h4>Association</h4>
+
+<div class="glossary-ref" data-ref="glossary-activityAssociation"></div>
+
+<p></p>
+<div class="glossary-ref" data-ref="glossary-plan"></div>
+
+
+<p><div class="attributes" id="attributes-activity-association">An <dfn title="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 OPTIONAL 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 OPTIONAL identifier (<span class="name">ag</span>) for the agent associated with the activity;</li>
+<li><span class='attribute' id="association.plan">plan</span>: an OPTIONAL identifier (<span class="name">pl</span>) for the plan adopted by the agent in the context of this activity;
+<li><span class='attribute' id="association.attributes">attributes</span>: an OPTIONAL 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>
+
+<p>While each of <a href="#association.id"><span class='attribute'>id</span></a>, <a href="#association.agent"><span class='attribute'>agent</span></a>,  <a href="#association.plan"><span class='attribute'>plan</span></a>, and  <a href="#association.attributes"><span class='attribute'>attributes</span></a> is OPTIONAL, at least one of them MUST be present.</p>
+
+
+<div class="anexample" id="anexample-wasAssociatedWith">
+<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>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", 
+                prov:location="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">
+<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>
+
+
+
+
+</section>  <!-- end wasAssociatedWith -->
+
+<section id="term-delegation">
+
+<h4>Delegation</h4>
+
+<div class="glossary-ref" data-ref="glossary-delegation"></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>
+<div class="attributes" id="attributes-delegation">
+A <dfn title="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 OPTIONAL 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 OPTIONAL 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 OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this delegation link.</li>
+</ul></div>
+
+
+<div class="anexample">
+<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>
+-->
+</section>
+
+<section id="term-influence">
+<h3>Influence</h3>
+
+<p>
+<span class="glossary-ref" data-ref="glossary-influence"></span>
+</p>
+
+
+<p> An influence relation between two objects <span class="name">o2</span> and  <span class="name">o1</span> is a generic dependency of <span class="name">o2</span>
+on  <span class="name">o1</span> that signifies some form of influence of <span class="name">o1</span> on <span class="name">o2</span>.</p>
+
+
+<p>A <dfn title="wasInfluencedBy">Influence</dfn> relation<span class="withPn">, written <span class="pnExpression">wasInfluencedBy(id; o2, o1, attrs)</span> in PROV-N,</span> has:</p>
+<ul>
+<li><span class='attribute' id="influence.id">id</span>:  an OPTIONAL identifier identifying the relation;</li> 
+<li><span class='attribute' id="influence.influencee">influencee</span>:  an identifier (<span class="name">o2</span>) for an entity, activity, or agent;
+<li><span class='attribute' id="influence.influencer">influencer</span>: an identifier (<span class="name">o1</span>) for an ancestor entity, activity, or agent that the former depends on;
+<li><span class='attribute' id="influence.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+
+<p>
+<a>Usage</a>, <a>start</a>, <a>end</a>, <a>generation</a>, <a>invalidation</a>, <a>communication</a>, <a>derivation</a>, <a>attribution</a>, <a>association</a>, and <a>delegation</a> are particular cases of  influence. It is RECOMMENDED to adopt these more specific relations when writing provenance descriptions. It is anticipated that the <a>Influence</a> relation may be useful to express queries over provenance information.
+</p>
+
+<div class="anexample">
+<p>We refer to the example of <a class="section-ref" href="#section-example-two"><span>TBD</span></a>, and specifically to <a  href="#prov-a-document2-top">Figure 3</a>.
+We could have expressed that the influence of
+<span class="name">w3:Consortium</span> 
+on <span class="name">tr:WD-prov-dm-20111215</span>.
+<pre class="codeexample">
+ wasInfluencedBy(tr:WD-prov-dm-20111215, w3:Consortium)
+</pre>
+Instead, it is RECOMMENDED to express the more specific description:
+<pre class="codeexample">
+ wasAttributedTo(tr:WD-prov-dm-20111215, w3:Consortium)
+</pre>
+</div>
+
+
+
+
+</section>
+
+
+</section>
+
+
+
+<section id="component4"> 
+<h3>Component 4: Bundles</h3>
+
+
+<p>The fourth component of PROV-DM is concerned with bundles, a mechanism to support provenance of provenance. 
+<a href="#figure-component4">Figure 9</a>  depicts a UML class diagram for the fourth component.  It comprises a <a>Bundle</a> class defined as a subclass of <a>Entity</a>.
+</p>
+
+<div style="text-align: center;">
+<figure style="max-width: 95%; ">
+
+<img src="uml/component4.png" alt="bundles"/><br>
+<figcaption id="figure-component4">Figure 9: Bundle Component Overview</figcaption>
+</figure>
+</div>
+
+
+
+<section id="term-bundle"> 
+
+<h3>Bundle constructor</h3>
+
+
+<p>
+<span class="glossary-ref" data-ref="glossary-bundle" >
+</span>
+ </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>
+
+<p>There may be other kinds of bundles not directly expressible by this constructor, such as provenance descriptions handwritten on a letter or a whiteboard, etc.  Whatever the means by which bundles are expressed, all can be described, as in the following section.</p>
+</section>
+
+
+
+
+
+<section id="term-bundle-entity"> 
+
+<h3>Bundle Type</h3>
+
+<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">bundles</a>.
+</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 OPTIONAL 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 REF</span></a>
+and
+<a href="#anexample-provenance-aggregation" class="anexample-ref"><span>Example REF</span></a>.</p>
+
+<div class="anexample" id="anexample-provenance-of-provenance">
+<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">
+<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.
+</div>
+
+
+</section>
+
+<!-- <section id="term-hasProvenanceIn"> 
+
+<h3>Provenance Locator</h3>
+
+
+In <a href="#anexample-provenance-of-provenance" class="anexample-ref"><span>Example REF</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 [[PROV-AQ]], 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 [[PROV-AQ]].
+
+
+<p><div class="glossary-ref" data-ref="glossary-provenance-locator"></div>
+
+<p>
+
+
+<div class="attributes" id="attributes-hasProvenanceIn">
+A <dfn title="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 OPTIONAL identifier (<span class="name">bundle</span>) for a bundle;
+<li><span class='attribute' id="prov.locator.target">target</span>:  an OPTIONAL 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 [[PROV-AQ]]);
+<li><span class='attribute' id="prov.locator.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this locator; 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.
+</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>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">
+<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">
+<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 [[PROV-AQ]].  Second, it makes entity <span class="name">ex:report1</span> described in <span class="name">alice:bundle5</span> an <a>alternate</a> of <span class="name">ex:report1</span> described in <span class="name">bob:bundle4</span>.
+</p>
+</div>
+
+
+<div class="anexample" id="anexample-provenance-locator3">
+<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">
+<p>Consider the following bundle of descriptions, in which derivation and generations have been identified.
+<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>
+
+</section>
+-->
+
+</section> 
+
+
+<section id="component5"> 
+<h3>Component 5: Alternate Entities</h3>
+
+
+<p>The fifth component of PROV-DM is concerned with
+relations <a>specialization</a>, <a>alternate</a>, and <a>mention</a> between entities.
+ <a href="#figure-component5">Figure 10</a> depicts
+the fifth component with a single class,  two binary associations, and a ternary association.
+</p>
+
+
+<div style="text-align: center;">
+<figure style="max-width: 95%; ">
+<!-- <img src="images/Alternates.png" alt="alternates"/> -->
+<img src="uml/component5.png" alt="alternates"/><br>
+<figcaption id="figure-component5">Figure 10: Alternates Component Overview</figcaption>
+</figure>
+</div>
+
+
+<p>Two provenance descriptions about the same thing may emphasize differents aspects of 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 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, alternate, and mention
+that allow entities  to be linked together. They are defined as follows. </p>
+
+
+<section id="term-specialization">
+
+<h4>Specialization</h4>
+
+
+<span class="glossary-ref" data-ref="glossary-specialization"></span> 
+
+
+<p>
+Examples of aspects include a time period, an abstraction, and a context associated with the entity.</p>
+
+
+
+
+<p>
+<div class="attributes" id="attributes-specialization">A <dfn title="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.specificEntity">specificEntity</span>: an identifier (<span class="name">infra</span>)
+of the entity that is a specialization of the general entity (<span class="name">supra</span>);</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">
+<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.
+<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>
+
+
+
+
+
+
+
+</section>
+
+<section id="term-alternate">
+
+<h4>Alternate</h4>
+
+
+<span class="glossary-ref" data-ref="glossary-alternate"></span>
+
+
+  
+
+<p><div class="attributes" id="attributes-alternate">An <dfn title="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">
+<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>
+</div>
+
+
+<div class="anexample" id="anexample-alternate2">
+<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.
+<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>
+
+</section>
+
+
+<section id="term-mention">
+
+<h4>Mention</h4>
+
+
+<div class="note">
+<p>This feature is "<a href="http://www.w3.org/2005/10/Process-20051014/tr#cfi">at risk</a>" and may be removed from this specification based on feedback. Please send feedback to public-prov-comments@w3.org.</p>
+<p>The "Mention" construct might be removed from PROV if implementation experience reveals problems with supporting this construct.</p>
+</div>
+
+
+<p>An entity <span class="name">e1</span> may be mentioned in a bundle <span class="name">b</span>, which contains some
+ descriptions about this entity <span class="name">e1</span>: how <span class="name">e1</span> was generated and used, which activities <span class="name">e1</span> is involved with, the agents <span class="name">e1</span> is attributed to, etc. Other bundles may contain other descriptions about the same entity <span class="name">e1</span>.
+Some applications may want to interpret
+this entity <span class="name">e1</span> with respect to the descriptions found in the bundle <span class="name">b</span> it occurs in. To this end, PROV allows a new entity <span class="name">e2</span> to be created, which is a specialization of the original entity <span class="name">e1</span>, and which presents an additional aspect:  the bundle <span class="name">b</span> containing some descriptions of <span class="name">e1</span>.  With this relation, applications that process <span class="name">e2</span>
+can know that the attributes of <span class="name">e2</span> may have been computed according to the descriptions of <span class="name">e1</span> in <span class="name">b</span>.</p>
+
+
+
+<p>Thus, the following notion is a relation between two entities with regard to a bundle.
+It is a special case of specialization.</p> 
+
+
+<span class="glossary-ref" data-ref="glossary-mention"></span>
+
+
+
+<p>
+An entity is interpreted with respect to a bundle's description in a
+domain specific manner.  The mention of this entity with respect to
+this bundle offers the opportunity to specialize it according to some
+domain-specific interpretation.
+</p>
+
+
+<p>A mention of an entity in a bundle results in a specialization of this entity with extra fixed aspects, including the  bundle that it is described in. 
+</p>
+
+
+
+<p><div class="attributes" id="attributes-mention">A <dfn title="mentionOf">mention</dfn>  relation<span class="withPn">, written <span class="pnExpression">mentionOf(infra, supra, b)</span> in PROV-N,</span> has:
+<ul>
+<li><span class='attribute' id="mention.specificEntity">specificEntity</span>: an identifier (<span class="name">infra</span>)
+of the entity that is a mention of the general entity (<span class="name">supra</span>);</li>
+<li><span class='attribute' id="mention.generalEntity">generalEntity</span>: an identifier (<span class="name">supra</span>) of the entity that is being mentioned.</li>
+<li><span class='attribute' id="mention.bundle">bundle</span>: an identifier (<span class="name">b</span>) of a bundle that contains a description of <span class="name">supra</span> and further constitutes one additional aspect presented by <span class="name">infra</span>.</li>
+</ul>
+</div>
+
+<div class="anexample" id="anexample-mention-rating">
+<p>This example is concerned with a performance rating tool that reads and processes provenance to determine the performance of agents.  To keep the example simple, an agent's performance is determined by the duration of the activities it is associated with. </p>
+<p>As an illustration, we consider that two bundles <span class="name">ex:run1</span> and <span class="name">ex:run2</span> refer to an agent <span class="name">ex:Bob</span> that controlled two activities <span class="name">ex:a1</span> and <span class="name">ex:a2</span>. </p>
+
+<pre class="codeexample">
+bundle ex:run1
+    activity(ex:a1, 2011-11-16T16:00:00, 2011-11-16T17:00:00)  //duration: 1hour
+    wasAssociatedWith(ex:a1, ex:Bob, [prov:role="controller"])
+endBundle
+
+bundle ex:run2
+    activity(ex:a2, 2011-11-17T10:00:00, 2011-11-17T17:00:00)  //duration: 7hours
+    wasAssociatedWith(ex:a2, ex:Bob, [prov:role="controller"])
+endBundle
+</pre> 
+<p>The performance rating tool reads these bundles, and rates the performance of the agent described in these bundles. The performance rating tool creates a new bundle <span class="name">tool:analysis01</span> containing the following. A new agent <span class="name">tool:Bob-2011-11-16</span> is declared as a mention of <span class="name">ex:Bob</span> as described in  bundle <span class="name">ex:run1</span>, and likewise for  <span class="name">tool:Bob-2011-11-17</span> with respect to <span class="name">ex:run2</span>. The tool adds a domain-specific performance attribute to each of these specialized entities as follows: the performance of the agent in the first bundle is judged to be good since the duration of <span class="name">ex:a1</span> is one hour, whereas it is judged to be bad in the second bundle since <span class="name">ex:a2</span>'s duration is seven hours.
+
+<pre class="codeexample">
+bundle tool:analysis01
+    agent(tool:Bob-2011-11-16, [perf:rating="good"])
+    mentionOf(tool:Bob-2011-11-16, ex:Bob, ex:run1)
+
+    agent(tool:Bob-2011-11-17, [perf:rating="bad"])
+    mentionOf(tool:Bob-2011-11-17, ex:Bob, ex:run2)
+endBundle
+</pre>
+</div>
+
+
+<div class="anexample" id="aexample-mention-viz">
+<p>Consider the following bundle of descriptions, in which derivation and generations have been identified.
+<pre class="codeexample"> 
+bundle obs:bundle1
+  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:report2, ex:report1)
+endBundle
+entity(obs:bundle1, [ prov:type='prov:Bundle' ])
+wasAttributedTo(obs:bundle1, ex:observer01)
+</pre>
+Bundle <span class="name">obs:bundle1</span> is rendered by a visualisation tool.  It may useful for the visualization layout of 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:bundle2
+  entity(tool:bundle2, [ prov:type='viz:Configuration', prov:type='prov:Bundle' ])
+  wasAttributedTo(tool:bundle2, viz:Visualizer)
+
+  entity(tool:report1, [viz:color="orange"])
+  mentionOf(tool:report1, ex:report1, obs:bundle1)
+
+  entity(tool:report2, [viz:color="blue"])              
+  mentionOf(tool:report2, ex:report2, obs:bundle1)
+endBundle
+</pre>
+
+<p>In bundle <span class="name">tool:bundle2</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:bundle2</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>The visualisation tool
+ created  new identifiers <span class="name">tool:report1</span> and
+<span class="name">tool:report2</span>.
+They denote entities which are specializations of <span class="name">ex:report1</span> and <span class="name">ex:report2</span>, described in bundle <span class="name">obs:bundle1</span>, with visualization attribute for the color to be used when rendering these entities.   </p>
+
+</div>
+
+
+
+</section>
+
+<!--
+<section id="term-contextualization">
+
+<h4>Contextualization (As Before F2F3)</h4>
+
+<p>The following notion is a relation between two entities with regard to a bundle (referred to as remote bundle). In contrast, the bundle in which this relation occurs is referred to as local bundle.</p> 
+
+
+<span class="glossary-ref" data-ref="glossary-contextualization"></span>
+
+
+<p>A bundle's
+descriptions provide a context in which to interpret an entity in a
+domain-specific manner.  The contextualization of this entity with respect to this bundle offers the opportunity to specialize it according to some domain-specific interpretation.
+</p>
+
+
+<p>A contextualization of an entity in a bundle implies the specialization of this entity by "fixing" the bundle that it is in. 
+</p>
+
+
+
+<p>A contextualization of an entity in a remote bundle results in a specialization of this entity with extra fixed aspects, including the remote bundle that it is described in. 
+</p>
+
+<p><div class="attributes" id="attributes-contextualization">A <dfn title="contextualizationOf">contextualization</dfn> relation<span class="withPn">, written <span class="pnExpression">contextualizationOf(l, e, b)</span> in PROV-N,</span> has:
+<ul>
+<li><span class='attribute' id="contextualization.local">local</span>: an identifier (<span class="name">l</span>) for an entity in the local bundle (not explicitly identified) presenting the aspects of <span class="name">e</span> in remote bundle <span class="name">b</span> ;</li>
+<li><span class='attribute' id="contextualization.contextualized">contextualized</span>: an identifier (<span class="name">e</span>) of an entity in some remote bundle <span class="name">b</span>;</li>
+<li><span class='attribute' id="contextualization.context">bundle</span>: an identifier (<span class="name">b</span>) for a remote bundle.</li>
+</ul>
+</div>
+
+
+<div class="anexample" id="anexample-mention-rating">
+<p>In the following example, two bundles <span class="name">ex:run1</span> and <span class="name">ex:run2</span> refer to an agent <span class="name">ex:Bob</span> that controlled two activities <span class="name">ex:a1</span> and <span class="name">ex:a2</span>. </p>
+
+<pre class="codeexample">
+bundle ex:run1
+    activity(ex:a1, 2011-11-16T16:00:00,2011-11-16T17:00:00)  //duration: 1hour
+    wasAssociatedWith(ex:a1,ex:Bob,[prov:role="controller"])
+endBundle
+
+bundle ex:run2
+    activity(ex:a2, 2011-11-17T10:00:00,2011-11-17T17:00:00)  //duration: 7hours
+    wasAssociatedWith(ex:a2,ex:Bob,[prov:role="controller"])
+endBundle
+</pre> 
+<p>A performance rating tool reads these bundles, and rates the performance of the agent described in these bundles. The performance rating tool creates a new bundle <span class="name">tool:analysis01</span> containing the following. A new agent <span class="name">tool:Bob-2011-11-16</span> is declared as a contextualization of <span class="name">ex:Bob</span> as described in remote bundle <span class="name">ex:run1</span>, and likewise for  <span class="name">tool:Bob-2011-11-17</span> with respect to <span class="name">ex:run2</span>. The tool adds a domain-specific performance attribute to each of these specialized entities as follows: the performance of the agent in the first bundle is judged to be good since the duration of <span class="name">ex:a1</span> is one hour, whereas it is judged to be bad in the second bundle since <span class="name">ex:a2</span>'s duration is seven hours.
+
+<pre class="codeexample">
+bundle tool:analysis01
+    agent(tool:Bob-2011-11-16, [perf:rating="good"])
+    contextualizationOf(tool:Bob-2011-11-16, ex:Bob, ex:run1)
+
+    agent(tool:Bob-2011-11-17, [perf:rating="bad"])
+    contextualizationOf(tool:Bob-2011-11-17, ex:Bob, ex:run2)
+endBundle
+</pre>
+</div>
+
+
+<div class="anexample" id="aexample-specialization-viz">
+<p>Consider the following bundle of descriptions, in which derivation and generations have been identified.
+<pre class="codeexample"> 
+bundle obs:bundle1
+  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:report2, ex:report1)
+endBundle
+entity(obs:bundle1, [ prov:type='prov:Bundle' ])
+wasAttributedTo(obs:bundle1, ex:observer01)
+</pre>
+Bundle <span class="name">obs:bundle1</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:bundle2
+  entity(tool:bundle2, [ prov:type='viz:Configuration', prov:type='prov:Bundle' ])
+  wasAttributedTo(tool:bundle2, viz:Visualizer)
+
+  entity(tool:report1, [viz:color="orange"])
+  contextualizationOf(tool:report1, obs:bundle1, ex:report1)
+
+  entity(tool:report2, [viz:color="blue"])              
+  contextualizationOf(tool:report2, obs:bundle1, ex:report2)
+endBundle
+</pre>
+
+<p>In bundle <span class="name">tool:bundle2</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:bundle2</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>The visualisation tool
+ created  new identifiers <span class="name">tool:report1</span> and
+<span class="name">tool:report2</span>.
+They denote entities which are specializations of <span class="name">ex:report1</span> and <span class="name">ex:report2</span>, described in bundle <span class="name">obs:bundle1</span>, with visualization attribute for the color to be used when rendering these entities.   </p>
+
+</div>
+
+
+
+</section>
+-->
+
+
+
+</section>
+
+<section id="component6"> 
+<h3>Component 6: Collections</h3>
+
+<p>The sixth 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 (attribution), which members it contains as it evolves, and how it was assembled. The purpose of Component 6 is to define the types and relations that are useful to express the provenance of collections.  </p>
+
+<p><a href="#figure-component6">Figure 11</a> depicts
+the sixth component with two  new classes (Collection, Empty Collection) and one association (HadMembers).
+</p>
+
+
+<div style="text-align: center;">
+<figure style="max-width: 95%; ">
+<img src="uml/component6.png" alt="collection"/><br>
+<figcaption id="figure-component6">Figure 11: Collections Component Overview</figcaption>
+</figure>
+</div>
+
+
+<section id="term-collection">
+<h3>Collection</h3>
+
+<span class="glossary-ref" data-ref="glossary-collection"></span>
+
+<span class="glossary-ref" data-ref="glossary-empty-collection"></span>
+
+
+<p>PROV-DM defines the following types related to collections:</p>
+
+<ul>
+  <li> <span class="name">prov:Collection</span>  denotes an entity of type Collection, i.e. an entity that  can participate in  relations amongst collections;
+
+  <li><span class="name">prov:EmptyCollection</span> denotes an empty collection.
+</ul>
+
+
+<div class="anexample">
+<pre class="codeexample">
+entity(c0, [prov:type='prov:EmptyCollection' ])  // c0 is an empty collection
+entity(c1, [prov:type='prov:Collection'  ])      // c1 is a collection, with unknown content
+</pre>
+</div>
+
+
+</section>
+
+<section id="term-collection-membership">
+<h3>Collection Membership</h3>
+
+<p>A <strong>collection membership</strong> relation is defined, to allow stating the  members of a Collection. </p>
+
+<span class="glossary-ref" data-ref="glossary-collection-membership"></span>
+
+
+<p>
+<div class="attributes" id="attributes-hadMembers">
+ A <dfn title="hadMembers">membership</dfn> relation, written <span class="pnExpression">hadMembers(id; c, {e_1, ..., e_n}, cplt, attrs)</span>, has:
+<ul>
+<li><span class='attribute' id="membership.id">id</span>:  an OPTIONAL identifier identifying the relation;</li>
+<li><span class='attribute' id="membership.collection">collection</span>: an identifier (<span class="name">c</span>) for the collection whose members are asserted; </li>
+<li><span class='attribute' id="membership.entity-set">entity-set</span>: a set of entities  <span class="name">e_1</span>, ..., <span class="name">e_n</span> that are members of the collection;</li>
+<li><span class='attribute' id="membership.complete">complete</span>: an OPTIONAL boolean 
+<a title="value">Value</a> (<span class="name">cplt</span>). It is interpreted as follows:
+<ul>
+<li>if it is present and set to true, then 
+<span class="name">c</span> is believed to include all and only the members specified in the entity-set;
+<li>if it is present and set to false or if it is not present, then <span class="name">c</span> is believed to include more members in addition to those specified in the entity-set.
+</ul>
+
+<li><span class='attribute' id="membership.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+
+</div>
+
+<p id="complete-attribute-note">
+Note that the attribute <a href="#membership.complete">complete</a> indicates that the <a title="hadMembers">membership</a> relation provides a complete description of the collection membership. It is possible for  different provenance descriptions to provide different membership statements regarding the same collection. The resolution of any potential conflict amongst such membership statements is defined by applications.</p>
+
+
+</section>
+
+
+
+  
+</section>   <!-- end collections-->
+
+
+
+
+
+<section  id="second-class-elements">
+<h3>Further Elements of PROV-DM</h3>
+
+This section introduces further elements of PROV-DM.
+
+
+
+
+<section id="term-identifier">
+<h4>Identifier</h4>
+
+<p>
+An <dfn id="dfn-identifier">identifier</dfn> is a <a>qualified
+ name</a>. 
+</p>
+
+</section>
+
+<section id="term-attribute">
+<h4>Attribute</h4>
+
+<p>An <dfn title="dfn-attribute" id="dfn-attribute">attribute</dfn> is a <a>qualified name</a>. 
+
+
+<p>The PROV data model introduces a pre-defined set of attributes in the <a title="prov-namespace">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-divz" style="text-align: left;">
+<table   class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="attributes-at-a-glance">PROV-DM Attributes At a Glance</caption> <!-- Table 6 -->
+<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 style="border-width: 0px; "></td></tr>
+<tr><td><a title="label">prov:label</a></td><td><em>any construct</em></td><td>A <a>Value</a> of type <a class="section-ref" href="http://www.w3.org/TR/xmlschema11-2/#string">xsd:string</a></td><td><a class="section-ref" href="#term-attribute-label"><span>TBD</span></a> </td></tr>
+<tr><td><a title="location">prov:location</a></td><td><a>Entity</a>, <a>Activity</a>, <a>Agent</a>, <a>Usage</a>, <a>Generation</a>, <a>Invalidation</a>, <a>Start</a>, and <a>End</a></td><td>A <a title="value">Value</a></td><td><a class="section-ref" href="#term-attribute-location"><span>TBD</span></a> </td></tr>
+<tr><td><a title="role">prov:role</a></td><td><a>Usage</a>, <a>Generation</a>, <a>Invalidation</a>, <a>Association</a>, <a>Start</a>, and <a>End</a></td><td>A <a title="value">Value</a></td><td><a class="section-ref" href="#term-attribute-role"><span>TBD</span></a> </td></tr>
+<tr><td><a title="type">prov:type</a></td><td><em>any construct</em></td><td>A <a title="value">Value</a></td><td><a class="section-ref" href="#term-attribute-type"><span>TBD</span></a> </td></tr>
+<tr><td><a title="value-attribute">prov:value</a></td><td><a>Entity</a></td><td>A <a title="value">Value</a></td><td><a  class="section-ref" href="#term-attribute-value"><span>TBD</span></a> </td></tr>
+</table>
+</div>
+
+
+
+
+
+<section id="term-attribute-label">
+<h4>prov:label</h4>
+
+
+<p>
+<span class="glossary-ref" data-ref="glossary-label"></span>
+The value associated with the attribute <span class="name">prov:label</span> MUST be a string.</p>
+
+<div class="anexample">
+<p>The following entity is provided with a label attribute.</p>
+<pre class="codeexample">
+ entity(ex:e1, [ prov:label="This is a human-readable label" ])
+</pre>
+
+<p>The following entity has two label attributes, in French and English.</p>
+<pre class="codeexample">
+ entity(ex:car01, [ prov:label="Voiture 01"@fr, prov:label="Car 01"@en ])
+</pre>
+</div>
+</section>
+
+
+<section id="term-attribute-location">
+<h4>prov:location</h4>
+
+<p><span class="glossary-ref" data-ref="glossary-location"></span>
+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 OPTIONAL attribute of <a>Entity</a>, <a>Activity</a>, <a>Agent</a>, <a>Usage</a>, <a>Generation</a>, <a>Invalidation</a>, <a>Start</a>, and <a>End</a>.  The value associated with the  attribute <span class="name">prov:location</span> MUST be a PROV-DM <a title="value">Value</a>, expected to denote a location.
+</p>
+
+<div class="anexample" id="example-location">
+<p>The following expression describes entity Mona Lisa, a painting, with a location attribute. </p>
+<pre class="codeexample">
+ entity(ex:MonaLisa, [ prov:location="Le Louvre, Paris", prov:type="StillImage" ])
+</pre>
+<p>The following expression describes a cell, at coordinates (5,5), with value 10. </p>
+<pre class="codeexample">
+ entity(ex:cell, [ prov:location="(5,5)", prov:value="10" %% xsd:integer ])
+</pre>
+</div>
+</section>
+
+
+
+<section id="term-attribute-role">
+<h4>prov:role</h4>
+
+
+<p><span class="glossary-ref" data-ref="glossary-role"></span></p>
+
+<p>
+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 MUST be a PROV-DM <a title="value">Value</a>.</p>
+
+<div class="anexample" id="anexample-role">
+<p>The following activity is associated with an agent acting as the operator. </p>
+<pre class="codeexample">
+ wasAssociatedWith(a, ag, [ prov:role="operator" ])
+</pre>
+<p>In the following expression, the activity <span class="name">ex:div01</span> used entity <span class="name">ex:cell</span> in the role of divisor.</p>
+<pre class="codeexample">
+used(ex:div01, ex:cell, [ prov:role="divisor" ])
+</pre>
+</div>
+</section>
+
+<section id="term-attribute-type">
+<h4>prov:type</h4>
+
+<p><span class="glossary-ref" data-ref="glossary-type"></span></p>
+
+<p>
+PROV-DM liberally
+defines a type as a category of things having common characteristics. PROV-DM is agnostic about the representation of types, and only states that
+the value associated with a <span class="name">prov:type</span> attribute MUST be a PROV-DM <a title="value">Value.</a> The attribute <span class="name">prov:type</span>
+is allowed to occur multiple times.</p>
+
+<div class="anexample">
+<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">PROV-DM Predefined Types</caption> <!-- Table 7 -->
+<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><a title="bundle"><span class="name">prov:Bundle</span></a></td><td><a class="section-ref" href="#term-bundle"><span>TBD</span></a></td><td><a>Entity</a></td></tr>
+<tr><td><a title="collection"><span class="name">prov:Collection</span></a></td><td><a class="section-ref" href="#term-collection"><span>TBD</span></a></td><td><a>Entity</a></td></tr>
+<tr><td><a title="empty collection"><span class="name">prov:EmptyCollection</span></a></td><td><a class="section-ref" href="#term-collection"><span>TBD</span></a></td><td><a>Entity</a></td></tr>
+<tr><td><a title="organization"><span class="name">prov:Organization</span></a></td><td><a class="section-ref" href="#term-agent"><span>TBD</span></a></td><td><a>Agent</a></td></tr>
+<tr><td><a title="person"><span class="name">prov:Person</span></a></td><td><a class="section-ref" href="#term-agent"><span>TBD</span></a></td><td><a>Agent</a></td></tr>
+<tr><td><a title="plan"><span class="name">prov:Plan</span></a></td> <td><a class="section-ref" href="#term-entity"><span>TBD</span></a></td><td><a>Entity</a></td></tr>
+<tr><td><a title="primary source"><span class="name">prov:PrimarySource</span></a></td><td><a class="section-ref" href="#term-primary-source"><span>TBD</span></a></td><td><a>Derivation</a></td></tr>
+<tr><td><a title="Quotation"><span class="name">prov:Quotation</span></a></td><td><a class="section-ref" href="#term-quotation"><span>TBD</span></a></td><td><a>Derivation</a></td></tr>
+<tr><td><a title="Revision"><span class="name">prov:Revision</span></a></td><td><a class="section-ref" href="#term-revision"><span>TBD</span></a></td><td><a>Derivation</a></td></tr>
+<tr><td><a title="software-agent"><span class="name">prov:SoftwareAgent</span></a></td><td><a class="section-ref" href="#term-agent"><span>TBD</span></a></td><td><a>Agent</a></td></tr>
+</table>
+
+</section>
+
+
+<section id="term-attribute-value">
+<h4>prov:value</h4>
+
+<p><span class="glossary-ref" data-ref="glossary-value-attribute"></span></p>
+
+
+
+<p>The attribute <span class="name">prov:value</span> is an OPTIONAL attribute of entity.  The value associated with the  attribute <span class="name">prov:value</span> MUST be a PROV-DM <a title="value">Value</a>. The attribute <span class="name">prov:value</span> MAY occur at most once in a set of attribute-value pairs.</p>
+
+<div class="anexample">
+<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> -->
+
+</section>
+
+<!--
+<section id="term-attribute-provenance-uri">
+<h4>prov:provenance-uri</h4>
+
+<p><span class="glossary-ref" data-ref="glossary-provenance-uri"></span> (See  <a href="http://www.w3.org/TR/prov-aq/#dfn-provenance-uri">Provenance-URI</a> in [[PROV-AQ]].) </p>
+
+<p> The attribute <dfn title="provenance-uri-attribute"><span class="name">prov:provenance-uri</span></dfn> provides
+  an OPTIONAL <a>provenance-URI</a>.</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">
+<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>
+
+
+
+</section>
+
+
+<section id="term-attribute-service-uri">
+<h4>prov:service-uri</h4>
+
+<p><span class="glossary-ref" data-ref="glossary-provenance-service"></span> (See <a href="http://www.w3.org/TR/prov-aq/#dfn-provenance-service">provenance service</a> in [[PROV-AQ]].)</p>
+
+<p><span class="glossary-ref" data-ref="glossary-service-uri"></span> (See <a href="http://www.w3.org/TR/prov-aq/#dfn-service-uri">Service-URI</a> in [[PROV-AQ]].)</p>
+
+
+<p> The attribute <dfn title="service-uri-attribute"><span class="name">prov:service-uri</span></dfn> provides
+  an OPTIONAL <a>service-URI</a> </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">
+<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>
+
+</section>
+
+-->
+
+
+</section>
+
+<section id="term-value">
+<h4>Value</h4>
+
+<p><span class="glossary-ref" data-ref="glossary-value"></span> Values can occur in attribute-value pairs. </p>
+
+<p>Each kind of such values is called a <em>datatype</em>.
+ Use of the following data types is RECOMMENDED. </p>
+<ul>
+<li> The RDF-compatible [[!RDF-CONCEPTS]] types, including those taken from 
+the set of XML Schema Datatypes [[!XMLSCHEMA11-2]];</li>
+<li> Qualified names introduced in this specification.</li>
+</ul>
+<p>
+The normative definitions of these datatypes are provided by their respective specifications.  
+</p>
+
+<!--
+<p>PROV accepts the types that RDF enumerates in
+its own specification [[!RDF-CONCEPTS]].  New RDF releases
+[[RDF-CONCEPTS11]] may extend the list of datatypes, and PROV would
+naturally accept those too.</p>
+-->
+
+
+
+<p id="conformance-to-rdf-datatypes"><b>Conformance to RDF Datatypes</b> As of the publication of this document, RDF 1.1 Concepts and Abstract Syntax [[RDF-CONCEPTS11]] is not yet a W3C Recommendation (see <a href="http://www.w3.org/TR/rdf11-concepts/">http://www.w3.org/TR/rdf11-concepts/</a> for the latest version). 
+Both the PROV Working Group and the RDF Working Group are confident that there will be only minor changes before it becomes a W3C Recommendation. In order to take advantage of the anticipated corrections and new features sooner, while also providing stability in case the specification does not advance as expected, conformance to PROV as it relates to RDF Datatypes is defined as follows:</p>
+
+<ul>
+<li>If RDF 1.1  Concepts and Abstract Syntax becomes a W3C Recommendation, all references in PROV to
+RDF Concepts and Abstract Syntax will be normative references to the 1.1 Recommendation.
+<li>Until that time, references in PROV to RDF Concepts and Abstract Syntax features operate as follows:
+<ul>
+<li> If RDF 1.0 defines the features, then the reference is normative to the 1.0 definition [[!RDF-CONCEPTS]];</li>
+<li>otherwise, the feature is optional in PROV and the reference is informative only.</li>
+</ul>
+</ul>
+<p>This "change in normative reference" is effective as of the publication of RDF 1.1 as a W3C Recommendation. However, W3C expects to publish a new edition of PROV once RDF 1.1 becomes a Recommendation to update the reference explicitly.</p>
+
+
+
+
+
+<!--
+
+<table   class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="prov-dm-data-types">Table 8: Informative List of PROV-DM Data Types</caption>
+
+
+    <tbody><tr><th></th><th>Datatype</th><th>Value space</th></tr>
+
+    <tr><th rowspan="4">Core types</th><td><a href="http://www.w3.org/TR/xmlschema11-2/#string"><span class="name">xsd:string</span></a></td><td>Character strings</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#boolean"><span class="name">xsd:boolean</span></a></td><td>true, false</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#decimal"><span class="name">xsd:decimal</span></a></td><td>Arbitrary-precision decimal numbers</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#integer"><span class="name">xsd:integer</span></a></td><td>Arbitrary-size integer numbers</td></tr>
+
+    <tr><th rowspan="2">IEEE floating-point<br>numbers</th>
+        <td><a href="http://www.w3.org/TR/xmlschema11-2/#double"><span class="name">xsd:double</span></a></td><td>64-bit floating point numbers incl. ±Inf, ±0, NaN</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#float"><span class="name">xsd:float</span></a></td><td>32-bit floating point numbers incl. ±Inf, ±0, NaN</td></tr>
+
+    <tr><th rowspan="4">Time and date</th>
+        <td><a href="http://www.w3.org/TR/xmlschema11-2/#date"><span class="name">xsd:date</span></a></td><td>Dates (yyyy-mm-dd) with or without timezone</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#time"><span class="name">xsd:time</span></a></td><td>Times (hh:mm:ss.sss…) with or without timezone</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#dateTime"><span class="name">xsd:dateTime</span></a></td><td>Date and time with or without timezone</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#dateTimeStamp"><span class="name">xsd:dateTimeStamp</span></a></td><td>Date and time with required timezone</td></tr>
+
+    <tr><th rowspan="8">Recurring and<br>partial dates</th>
+        <td><a href="http://www.w3.org/TR/xmlschema11-2/#gYear"><span class="name">xsd:gYear</span></a></td><td>Gregorian calendar year</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#gMonth"><span class="name">xsd:gMonth</span></a></td><td>Gregorian calendar month</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#gDay"><span class="name">xsd:gDay</span></a></td><td>Gregorian calendar day of the month</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#gYearMonth"><span class="name">xsd:gYearMonth</span></a></td><td>Gregorian calendar year and month</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#gMonthDay"><span class="name">xsd:gMonthDay</span></a></td><td>Gregorian calendar month and day</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#duration"><span class="name">xsd:duration</span></a></td><td>Duration of time</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#yearMonthDuration"><span class="name">xsd:yearMonthDuration</span></a></td><td>Duration of time (months and years only)</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#dayTimeDuration"><span class="name">xsd:dayTimeDuration</span></a></td><td>Duration of time (days, hours, minutes, seconds only)</td></tr>
+
+    <tr><th rowspan="12">Limited-range<br>integer numbers</th>
+        <td><a href="http://www.w3.org/TR/xmlschema11-2/#byte"><span class="name">xsd:byte</span></a></td><td>-128…+127 (8 bit)</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#short"><span class="name">xsd:short</span></a></td><td>-32768…+32767 (16 bit)</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#int"><span class="name">xsd:int</span></a></td><td>-2147483648…+2147483647 (32 bit)</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#long"><span class="name">xsd:long</span></a></td><td>-9223372036854775808…+9223372036854775807 (64 bit)</td></tr>
+
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#unsignedByte"><span class="name">xsd:unsignedByte</span></a></td><td>0…255 (8 bit)</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#unsignedShort"><span class="name">xsd:unsignedShort</span></a></td><td>0…65535 (16 bit)</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#unsignedInt"><span class="name">xsd:unsignedInt</span></a></td><td>0…4294967295 (32 bit)</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#unsignedLong"><span class="name">xsd:unsignedLong</span></a></td><td>0…18446744073709551615 (64 bit)</td></tr>
+
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#positiveInteger"><span class="name">xsd:positiveInteger</span></a></td><td>Integer numbers &gt;0</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#nonNegativeInteger"><span class="name">xsd:nonNegativeInteger</span></a></td><td>Integer numbers ≥0</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#negativeInteger"><span class="name">xsd:negativeInteger</span></a></td><td>Integer numbers &lt;0</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#nonPositiveInteger"><span class="name">xsd:nonPositiveInteger</span></a></td><td>Integer numbers ≤0</td></tr>
+
+    <tr><th rowspan="2">Encoded binary data</th>
+        <td><a href="http://www.w3.org/TR/xmlschema11-2/#hexBinary"><span class="name">xsd:hexBinary</span></a></td><td>Hex-encoded binary data</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#base64Binary"><span class="name">xsd:base64Binary</span></a></td><td>Base64-encoded binary data</td></tr>
+
+    <tr><th rowspan="6">Miscellaneous<br>XSD types</th>
+     <td><a href="http://www.w3.org/TR/xmlschema11-2/#language"><span class="name">xsd:language</span></a></td><td>Language tags per [<cite><a class="bibref" rel="biblioentry" href="#bib-BCP47">BCP47</a></cite>]</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#normalizedString"><span class="name">xsd:normalizedString</span></a></td><td>Whitespace-normalized strings</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#token"><span class="name">xsd:token</span></a></td><td>Tokenized strings</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#NMTOKEN"><span class="name">xsd:NMTOKEN</span></a></td><td>XML NMTOKENs</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#Name"><span class="name">xsd:Name</span></a></td><td>XML Names</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/xmlschema11-2/#NCName"><span class="name">xsd:NCName</span></a></td><td>XML NCNames</td></tr>
+
+    <tr><th rowspan="2">Qualified<br>Names or URIs</th>
+        <td><a href="http://www.w3.org/TR/xmlschema11-2/#anyURI"><span class="name">xsd:anyURI</span></a></td><td>Absolute or relative URIs and IRIs</td></tr>
+    <tr><td><a href="http://www.w3.org/TR/prov-n/#prod-QUALIFIED_NAME"><span class="name">prov:QUALIFIED_NAME</span></a></td><td>PROV qualified name</td></tr>
+
+    <tr><th rowspan="2">RDF XML/HTML Literals</th>
+        <td><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-XMLLiteral"><span class="name">rdf:XMLLiteral</span></a></td><td>XML content as a value</td></tr>
+    <tr><td><a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML"><span class="name">rdf:HTML</span></a></td><td>HTML content as a value</td></tr>
+
+</td>
+    </tbody></table>
+-->
+
+<div class="anexample" id="anexample-value">
+<p>
+The following examples respectively are the string "abc", the integer number 1, and the IRI "http://example.org/foo".
+<pre class="codeexample">
+  "abc"
+  "1" %% xsd:integer
+  "http://example.org/foo" %% xsd:anyURI
+</pre>
+<p>The following example shows a value of type <span class="name">prov:QUALIFIED_NAME</span> (see
+<span class="name"><a href="http://www.w3.org/TR/prov-n/#prod-QUALIFIED_NAME">prov:QUALIFIED_NAME</a></span> [[PROV-N]]).
+The prefix <span class="name">ex</span>  MUST be bound to a <a>namespace</a> declared in a <a>namespace declaration</a>.</p>
+<pre class="codeexample"> 
+  "ex:value" %% prov:QUALIFIED_NAME
+</pre>
+Alternatively, the same value can be expressed using the following convenience notation.
+<pre class="codeexample"> 
+  'ex:value'
+</pre>
+</div>
+
+<p>We note that PROV-DM <dfn title="time">time instants</dfn> are defined according to xsd:dateTime [[!XMLSCHEMA11-2]].</p> 
+
+
+<div class="anexample" id="anexample-time">
+<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/xmlschema11-2/#dateTime">xsd:dateTime</a>  [[!XMLSCHEMA11-2]].</p>
+<pre class="codeexample"> 
+  wasGeneratedBy(e1,a1, 2001-10-26T21:32:52)
+</pre>
+</div>
+
+</section>
+
+<section id="term-NamespaceDeclaration">
+<h3>Namespace Declaration</h3>
+
+<p>A PROV-DM <dfn id="dfn-namespace">namespace</dfn> is identified by an IRI [[!IRI]]. In PROV-DM, attributes, identifiers, and values with <a title="qualified name">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
+refers to default namespace declaration.</p>
+
+<p>The <dfn title="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>
+
+</section>
+
+<section id="term-qualified-name">
+<h4>Qualified Name</h4>
+
+
+<span class="glossary-ref" data-ref="glossary-qualifiedName"></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 OPTIONAL. If a prefix occurs in a
+ qualified name, it refers to a <a>namespace</a> declared in a namespace declaration.  In the absence of prefix, the qualified name 
+ refers to the <a title="default namespace declaration">default namespace</a>.</p>
+
+</section>
+
+</section>
+ 
+
+
+</section>
+
+
+<!-- end sec. 5 -->
+
+    <section id="extensibility-section"> 
+<h2>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>
+
+
+<p>The <a title="prov-namespace">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>
+
+<ul>
+<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">
+<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.
+<pre class="codeexample"> 
+  wasDerivedFrom(e2,e1, [prov:type='ex:Translation' ])
+</pre>
+</div>
+
+<div class="anexample" id="anexample-sub-type">
+<p>
+In the following example,  <span class="name">e</span> is described as a Car, a type of entity.
+<pre class="codeexample"> 
+  entity(e, [prov:type='ex:Car' ])
+</pre>
+</div>
+
+
+
+
+</li>
+
+<li>Application and domain specific roles can be expressed by means of the reserved attribute 
+<a href="#term-attribute-role"><span class="name">prov:role</span></a>.
+
+<div class="anexample" id="anexample-usage-with-role">
+<p>
+In the following example,  two computers  <span class="name">ex:laptop4</span> and <span class="name">ex:desktop9</span> are used in different roles in a work activity.
+<pre class="codeexample"> 
+  activity(ex:work)
+  entity(ex:laptop4)
+  entity(ex:desktop9)
+  used(ex:work, ex:laptop4,  [prov:role="day-to-day machine"])
+  used(ex:work, ex:desktop9, [prov:role="backup machine"])
+</pre>
+</div>
+</li>
+
+
+<li> Attribute-value lists occur in all types and most 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. New namespaces and associated prefixes can be declared, allowing attributes and names to be qualified. 
+</li>
+
+
+
+</ul>
+
+<p>The PROV data model is designed to be application and technology independent, but implementers are welcome and encouraged to specialize PROV-DM to specific domains and applications.  To ensure interoperability, specializations of
+the PROV data model that exploit the extensibility points summarized in this section MUST preserve the semantics specified in this document and in [[PROV-CONSTRAINTS]]. </p>
+
+
+
+    </section> 
+
+
+
+<section id="valid-provenance">
+<h4>Creating Valid Provenance</h4>
+
+
+<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 [[PROV-CONSTRAINTS]].
+They SHOULD 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 [[PROV-CONSTRAINTS]].</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 [[PROV-CONSTRAINTS]].</p>
+</li>
+
+
+</ul>
+
+
+</section>
+
+<div id="glossary_div" class="remove">
+<!-- glossary loaded from glossary.js will be hooked up here,
+     class remove, will remove this element from the final output.
+-->
+</div>
+
+<section class="appendix"> 
+      <h2>Acknowledgements</h2> 
+      <p> 
+
+This  document has been produced by the PROV Working Group, and its contents reflect extensive discussion within the Working Group as a whole. The editors extend special thanks to  Sandro Hawke (W3C/MIT), Ivan Herman (W3C/ERCIM), Tom Baker for their thorough reviews.
+      </p> 
+
+<p>
+Members of the PROV Working Group at the time of publication of this document were:
+
+Ilkay Altintas (Invited expert),
+Reza B'Far (Oracle Corporation),
+Khalid Belhajjame (University of Manchester),
+James Cheney (University of Edinburgh, School of Informatics),
+Sam Coppens (IBBT),
+David Corsar (University of Aberdeen, Computing Science),
+Stephen Cresswell (The National Archives),
+Tom De Nies (IBBT),
+Helena Deus (DERI Galway at the National University of Ireland, Galway, Ireland),
+Simon Dobson (Invited expert),
+Martin Doerr (Foundation for Research and Technology - Hellas(FORTH)),
+Kai Eckert (Invited expert),
+Jean-Pierre EVAIN (European Broadcasting Union, EBU-UER),
+James Frew (Invited expert),
+Irini Fundulaki (Foundation for Research and Technology - Hellas(FORTH)),
+Daniel Garijo (Universidad Politécnica de Madrid),
+Yolanda Gil (Invited expert),
+Ryan Golden (Oracle Corporation),
+Paul Groth (Vrije Universiteit),
+Olaf Hartig (Invited expert),
+David Hau (National Cancer Institute, NCI),
+Sandro Hawke (W3C/MIT),
+Jörn Hees (German Research Center for Artificial Intelligence (DFKI) Gmbh),
+Ivan Herman, (W3C/ERCIM),
+Ralph Hodgson (TopQuadrant),
+Hook Hua (Invited expert),
+Trung Dong Huynh (University of Southampton),
+Graham Klyne (University of Oxford),
+Michael Lang (Revelytix, Inc.),
+Timothy Lebo (Rensselaer Polytechnic Institute),
+James McCusker (Rensselaer Polytechnic Institute),
+Deborah McGuinness (Rensselaer Polytechnic Institute),
+Simon Miles (Invited expert),
+Paolo Missier (School of Computing Science, Newcastle university),
+Luc Moreau (University of Southampton),
+James Myers (Rensselaer Polytechnic Institute),
+Vinh Nguyen (Wright State University),
+Edoardo Pignotti (University of Aberdeen, Computing Science),
+Paulo da Silva Pinheiro (Rensselaer Polytechnic Institute),
+Carl Reed (Open Geospatial Consortium),
+Adam Retter (Invited Expert),
+Christine Runnegar (Invited expert),
+Satya Sahoo (Invited expert),
+David Schaengold (Revelytix, Inc.),
+Daniel Schutzer (FSTC, Financial Services Technology Consortium),
+Yogesh Simmhan (Invited expert),
+Stian Soiland-Reyes (University of Manchester),
+Eric Stephan (Pacific Northwest National Laboratory),
+Linda Stewart (The National Archives),
+Ed Summers (Library of Congress),
+Maria Theodoridou (Foundation for Research and Technology - Hellas(FORTH)),
+Ted Thibodeau (OpenLink Software Inc.),
+Curt Tilmes (National Aeronautics and Space Administration),
+Craig Trim (IBM Corporation),
+Stephan Zednik (Rensselaer Polytechnic Institute),
+Jun Zhao (University of Oxford),
+Yuting Zhao (University of Aberdeen, Computing Science).
+</p>
+    </section> 
+
+
+ </body>
+</html>