Primer: Updated independent example files, added release version, used non-HTTPS for pubrules
authorSimon Miles <simon.miles@kcl.ac.uk>
Fri, 29 Mar 2013 17:27:10 +0000
changeset 6019 d70d9375e1c2
parent 6018 704657c4cd79
child 6020 5739e69be9c5
Primer: Updated independent example files, added release version, used non-HTTPS for pubrules
primer/NOTE-prov-primer-20130430/Overview.html
primer/NOTE-prov-primer-20130430/extra.css
primer/NOTE-prov-primer-20130430/images/activities.png
primer/NOTE-prov-primer-20130430/images/agents.png
primer/NOTE-prov-primer-20130430/images/derivation.png
primer/NOTE-prov-primer-20130430/images/entities.png
primer/NOTE-prov-primer-20130430/images/everything.png
primer/NOTE-prov-primer-20130430/images/key-concepts.png
primer/NOTE-prov-primer-20130430/images/plans.png
primer/NOTE-prov-primer-20130430/images/roles.png
primer/NOTE-prov-primer-20130430/images/specialization.png
primer/NOTE-prov-primer-20130430/images/time.png
primer/NOTE-prov-primer-20130430/images/use-generate.png
primer/NOTE-prov-primer-20130430/primer-prov-xml-examples.xml
primer/NOTE-prov-primer-20130430/primer-provn-examples.txt
primer/NOTE-prov-primer-20130430/primer-turtle-examples.txt
primer/NOTE-prov-primer-20130430/toggles.js
primer/Primer-potential.html
primer/Primer.html
primer/primer-prov-xml-examples.xml
primer/primer-provn-examples.txt
primer/primer-turtle-examples.txt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/primer/NOTE-prov-primer-20130430/Overview.html	Fri Mar 29 17:27:10 2013 +0000
@@ -0,0 +1,2247 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head> 
+  <title>PROV Model Primer</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-primer">
+  <!--
+    === 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,
+  -->
+  <!-- PM -->
+  <style type="text/css">
+   .note { font-size:small; margin-left:50px }
+  </style>
+
+  <script src="toggles.js" type="text/javascript"></script> 
+  
+
+  
+  
+ <style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 { 
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+cite .bibref {
+    font-style: normal;
+}
+
+code {
+    color:  #ff4500;
+}
+
+
+/* --- --- */
+ol.algorithm { counter-reset:numsection; list-style-type: none; }
+ol.algorithm li { margin: 0.5em 0; }
+ol.algorithm li:before { font-weight: bold; counter-increment: numsection; content: counters(numsection, ".") ") "; }
+
+/* --- TOC --- */
+.toc a, .tof a {
+    text-decoration:    none;
+}
+
+a .secno, a .figno {
+    color:  #000;
+}
+
+ul.tof, ol.tof {
+    list-style: none outside none;
+}
+
+.caption {
+    margin-top: 0.5em;
+    font-style:   italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+</style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-NOTE"><!--[if lt IE 9]><script src='http://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head>
+ <body><div class="head">
+  <p>
+    
+      <a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+    
+  </p>
+  <h1 class="title" id="title">PROV Model Primer</h1>
+  
+  <h2 id="w3c-note-30-april-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Note 30 April 2013</h2>
+  <dl>
+    
+      <dt>This version:</dt>
+      <dd><a href="http://www.w3.org/TR/2013/NOTE-prov-primer-20130430/">http://www.w3.org/TR/2013/NOTE-prov-primer-20130430/</a></dd>
+      <dt>Latest published version:</dt>
+      <dd><a href="http://www.w3.org/TR/prov-primer/">http://www.w3.org/TR/prov-primer/</a></dd>
+    
+    
+      <dt>Latest editor's draft:</dt>
+      <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/primer/Primer.html">http://dvcs.w3.org/hg/prov/raw-file/default/primer/Primer.html</a></dd>
+    
+    
+    
+    
+    
+      <dt>Previous version:</dt>
+      <dd><a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">http://www.w3.org/TR/2013/WD-prov-primer-20130312/</a></dd>
+    
+    
+    <dt>Editors:</dt>
+    <dd><a href="http://www.isi.edu/~gil/">Yolanda Gil</a>, Information Sciences Institute, University of Southern California, US</dd>
+<dd><a href="http://www.inf.kcl.ac.uk/staff/simonm">Simon Miles</a>, King's College London, UK</dd>
+
+    
+      <dt>Authors:</dt>
+      <dd><span><a href="http://semanticweb.org/wiki/Khalid_Belhajjame">Khalid Belhajjame</a></span>, University of Manchester</dd>
+<dd><span>Helena Deus</span>, Digital Enterprise Research Institute (DERI), NUI Galway</dd>
+<dd><span><a href="http://www.oeg-upm.net/index.php/en/phdstudents/28-dgarijo">Daniel Garijo</a></span>, Ontology Engineering Group, Universidad Politécnica de Madrid, Spain</dd>
+<dd><span>Graham Klyne</span>, University of Oxford</dd>
+<dd><span><a href="http://www.cs.ncl.ac.uk/people/Paolo.Missier">Paolo Missier</a></span>, Newcastle University</dd>
+<dd><span><a href="http://soiland-reyes.com/stian/">Stian Soiland-Reyes</a></span>, University of Manchester</dd>
+<dd><span><a href="http://tw.rpi.edu/web/person/StephanZednik">Stephan Zednik</a></span>, Rensselaer Polytechnic Institute</dd>
+
+    
+  </dl>
+  
+  
+  
+  
+    
+      <p class="copyright">
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 
+        2013
+        
+        <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> 
+        (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+        <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+        <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved.
+        <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+        <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+      </p>
+    
+  
+  <hr>
+</div>
+  <section id="abstract" class="introductory"><h2>Abstract</h2>
+   <p>
+    This document provides an intuitive introduction and guide to the
+    PROV specification for provenance on the Web. PROV is a core data model for
+    provenance for building representations of the entities, people and
+    processes involved in producing a piece of data or thing in the world.
+    This primer explains the fundamental PROV concepts and provides examples 
+    of its use.  The primer is intended as a starting point for those wishing
+    to create or use PROV data.
+   </p>
+   <p>
+    The <a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/">PROV Document Overview</a> describes the overall state of PROV, and should be read before other PROV documents.
+   </p>
+
+   <!-- p>
+    This is a document for internal discussion, which will ultimately
+    evolve in the first Public Working Draft of the Primer.</p -->
+  </section><section id="sotd" class="introductory"><h2>Status of This Document</h2>
+  
+    
+      
+        <p>
+          <em>This section describes the status of this document at the time of its publication. Other
+          documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision
+          of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
+          index</a> at http://www.w3.org/TR/.</em>
+        </p>
+        
+   <h4 id="prov-family-of-documents">PROV Family of Documents</h4>
+   This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
+   interchange of provenance information in heterogeneous environments such as the Web.  These documents are listed below. Please consult the [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>] for a guide to reading these documents. 
+   <ul>
+    <li> <a href="http://www.w3.org/TR/2013/NOTE-prov-overview-20130430/">PROV-OVERVIEW</a> (Note), an overview of the PROV family of documents [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>];</li>
+    <li> <a href="http://www.w3.org/TR/2013/NOTE-prov-primer-20130430/">PROV-PRIMER</a> (Note), a primer for the PROV data model (this document);</li>
+    <li> <a href="http://www.w3.org/TR/2013/REC-prov-o-20130430/">PROV-O</a> (Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of the PROV data model to RDF [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>];</li>
+    <li> <a href="http://www.w3.org/TR/2013/REC-prov-dm-20130430/">PROV-DM</a> (Recommendation), the PROV data model for provenance [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>];</li>
+    <li> <a href="http://www.w3.org/TR/2013/REC-prov-n-20130430/">PROV-N</a> (Recommendation), a notation for provenance aimed at human consumption [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>];</li>
+    <li> <a href="http://www.w3.org/TR/2013/REC-prov-constraints-20130430/">PROV-CONSTRAINTS</a> (Recommendation), a set of constraints applying to the PROV data model [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>];</li>
+    <li> <a href="http://www.w3.org/TR/2013/NOTE-prov-xml-20130430/">PROV-XML</a> (Note),  an XML schema for the PROV data model [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>];</li>
+    <li> <a href="http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/">PROV-AQ</a> (Note), mechanisms for accessing and querying provenance [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>]; </li>
+    <li> <a href="http://www.w3.org/TR/2013/NOTE-prov-dictionary-20130430/">PROV-DICTIONARY</a> (Note) introduces a specific type of collection, consisting of key-entity pairs [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>];</li>
+    <li> <a href="http://www.w3.org/TR/2013/NOTE-prov-dc-20130430/">PROV-DC</a> (Note) provides a mapping between PROV-O and Dublic Core Terms [<cite><a class="bibref" href="#bib-PROV-DC">PROV-DC</a></cite>];</li>
+    <li> <a href="http://www.w3.org/TR/2013/NOTE-prov-sem-20130430/">PROV-SEM</a> (Note), a declarative specification in terms of first-order logic of the PROV data model [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>];</li>
+    <li> <a href="http://www.w3.org/TR/2013/NOTE-prov-links-20130430/">PROV-LINKS</a> (Note) introduces a mechanism to link across bundles [<cite><a class="bibref" href="#bib-PROV-LINKS">PROV-LINKS</a></cite>].</li>
+   </ul>
+
+   <h4 id="implementations-encouraged">Implementations Encouraged</h4>
+   <p>
+    The Provenance Working Group encourages implementation of the material defined in this document.
+    Although work on this document by the Provenance Working Group is complete, 
+    errors may be recorded in the  <a href="http://www.w3.org/2011/prov/errata.html">errata</a> or and these may be addressed in future revisions. 
+   </p>
+
+   <h4 id="please-send-comments">Please Send Comments</h4>
+
+  
+        <p>
+          This document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as a Note.
+          
+          
+          If you wish to make comments regarding this document, please send them to 
+          <a href="mailto:[email protected]">[email protected]</a> 
+          (<a href="mailto:[email protected]?subject=subscribe">subscribe</a>,
+          <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>).
+          
+          
+          
+          
+        All comments are welcome.
+        
+        
+          </p><p>
+            Publication as a Note does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+            This is a draft document and may be updated, replaced or obsoleted by other documents at 
+            any time. It is inappropriate to cite this document as other than work in progress.
+          </p>
+        
+        
+        <p>
+          
+            This document was produced by a group operating under the 
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+          
+          
+          
+            
+              <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a> 
+            
+            made in connection with the deliverables of the group; that page also includes instructions for 
+            disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
+            information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+            6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+          
+          
+        </p>
+        
+      
+    
+  
+</section><section id="toc"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a href="#intuitive-overview-of-prov" class="tocxref"><span class="secno">2. </span>Intuitive overview of PROV</a><ul class="toc"><li class="tocline"><a href="#entities" class="tocxref"><span class="secno">2.1 </span>Entities</a></li><li class="tocline"><a href="#activities" class="tocxref"><span class="secno">2.2 </span>Activities</a></li><li class="tocline"><a href="#usage-and-generation" class="tocxref"><span class="secno">2.3 </span>Usage and Generation</a></li><li class="tocline"><a href="#agents-and-responsibility" class="tocxref"><span class="secno">2.4 </span>Agents and Responsibility</a></li><li class="tocline"><a href="#roles" class="tocxref"><span class="secno">2.5 </span>Roles</a></li><li class="tocline"><a href="#derivation-and-revision" class="tocxref"><span class="secno">2.6 </span>Derivation and Revision</a></li><li class="tocline"><a href="#plans" class="tocxref"><span class="secno">2.7 </span>Plans</a></li><li class="tocline"><a href="#time" class="tocxref"><span class="secno">2.8 </span>Time</a></li><li class="tocline"><a href="#alternate-entities-and-specialization" class="tocxref"><span class="secno">2.9 </span>Alternate Entities and Specialization</a></li></ul></li><li class="tocline"><a href="#examples-of-key-concepts-in-prov" class="tocxref"><span class="secno">3. </span>Examples of Key Concepts in PROV</a><ul class="toc"><li class="tocline"><a href="#entities-1" class="tocxref"><span class="secno">3.1 </span>Entities</a></li><li class="tocline"><a href="#activities-1" class="tocxref"><span class="secno">3.2 </span>Activities</a></li><li class="tocline"><a href="#usage-and-generation-1" class="tocxref"><span class="secno">3.3 </span>Usage and Generation</a></li><li class="tocline"><a href="#agents-and-responsibility-1" class="tocxref"><span class="secno">3.4 </span>Agents and Responsibility</a></li><li class="tocline"><a href="#roles-1" class="tocxref"><span class="secno">3.5 </span>Roles</a></li><li class="tocline"><a href="#derivation-and-revision-1" class="tocxref"><span class="secno">3.6 </span>Derivation and Revision</a></li><li class="tocline"><a href="#plans-1" class="tocxref"><span class="secno">3.7 </span>Plans</a></li><li class="tocline"><a href="#time-1" class="tocxref"><span class="secno">3.8 </span>Time</a></li><li class="tocline"><a href="#alternate-entities-and-specialization-1" class="tocxref"><span class="secno">3.9 </span>Alternate Entities and Specialization</a></li><li class="tocline"><a href="#additional-aspects-of-prov" class="tocxref"><span class="secno">3.10 </span>Additional aspects of PROV</a></li><li class="tocline"><a href="#summary" class="tocxref"><span class="secno">3.11 </span>Summary</a></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#changes-since-fourth-public-working-draft" class="tocxref"><span class="secno">B. </span>Changes Since Fourth Public Working Draft</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">C. </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">C.1 </span>Informative references</a></li></ul></li></ul></section> 
+
+  
+
+  <section id="introduction"> 
+   <!--OddPage--><h2><span class="secno">1. </span>Introduction</h2>
+   <p>
+    This primer document provides an accessible introduction to the PROV 
+    specification for provenance on the Web.  
+    The <i>provenance</i> of digital objects represents their origins.  PROV is a 
+    proposed specification to express provenance records, 
+    which contain <i>descriptions</i> of the entities 
+    and activities involved in producing and delivering or otherwise influencing a 
+    given object.
+    For the remainder of this document, we use the term 'provenance' to refer also
+    to records of provenance, except where the distinction is important for clarity.
+    Provenance can be used for many purposes, such as 
+    understanding how data was collected so it can be meaningfully used, determining 
+    ownership and rights over an object, making judgments about information to 
+    determine whether to trust it, verifying that the process and steps used to obtain a 
+    result complies with given requirements, and reproducing how something was generated.
+   </p>
+
+   <p>
+    As a specification for provenance, PROV accommodates all those different uses 
+    of provenance.  Different people may have different perspectives on provenance, 
+    and as a result different types of information might be captured in provenance records.
+   </p><ul>
+    <li>
+     One perspective might focus on <i>agent-centered provenance</i>, that is, what entities 
+     were involved in generating or manipulating the information in question.  For example, 
+     in the provenance of a picture in a news article we might capture the photographer who 
+     took it, the person that edited it, and the newspaper that published it.
+    </li>
+    <li>
+     A second perspective 
+     might focus on <i>object-centered provenance</i>, by tracing the origins of portions of a 
+     document to other documents. An example is having a web page that was assembled from content
+     from a news article, quotes of interviews with experts, and a chart that plots data from a 
+     government agency.
+    </li>
+    <li>A third perspective one might take is on <i>process-centered provenance</i>, 
+     capturing the actions and steps taken to generate the information in question.  For example, a 
+     chart may have been generated by invoking a service to retrieve data from a database, then 
+     extracting certain statistics from the data using some statistics package, and finally 
+     processing these results with a graphing tool.
+    </li>
+   </ul>
+  <p></p>
+
+  <p>
+   Provenance records are metadata.  There are other kinds of metadata that are 
+   not provenance.  For example, the size of an image is metadata of 
+   that image but it is not provenance.
+   For general background on provenance, a 
+   comprehensive overview of requirements, use cases, prior research, and proposed 
+   vocabularies for provenance are available from the 
+   Final Report of the <abbr title="World Wide Web Consortium">W3C</abbr> Provenance Incubator Group [<cite><a class="bibref" href="#bib-PROVENANCE-XG">PROVENANCE-XG</a></cite>].
+   That document contains three general scenarios 
+   that may help identify the provenance aspects of planned applications and 
+   help plan the design of a provenance system.
+  </p>
+
+  <p>
+   This primer document aims to ease the adoption of the PROV specifications by providing:
+  </p>
+  <ul>
+   <li>A high-level explanation of how PROV models provenance, in Section 2. A detailed description of
+    all the concepts and relations in the PROV Data Model is provided in [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>].</li>
+   <li>A simple self-contained example that illustrates how to produce and use PROV assertions, in
+    Section 3. 
+    The example includes snippets in RDF using the PROV ontology [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>], in a
+    notation designed for human consumption [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>], and in PROV's XML format [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>].
+    The example shows how 
+    to combine PROV with other popular vocabularies such as FOAF and Dublin Core.</li>
+  </ul>
+
+  <p>There are additional reference documents for PROV that are not covered in this 
+   primer, including the PROV Access and Query aspects of the specification [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>], 
+   the constraints on the PROV data model [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>], 
+   a formal semantics of the PROV data model [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>]. </p>
+
+ </section>
+
+ <section id="intuitive-overview-of-prov">
+  <!--OddPage--><h2><span class="secno">2. </span>Intuitive overview of PROV</h2>
+
+  <p>
+   This section provides an explanation of the main concepts in PROV. 
+   As with the rest of this document, it should be treated as a starting point for
+   understanding the model. The PROV data model document [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]
+   provides precise definitions and constraints [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>] to be followed.
+  </p>
+  <p>
+   The following diagram provides a high level overview of the structure of PROV records,
+   limited to some key PROV concepts discussed in this document.
+   Note that because PROV is meant to describe how things were created or delivered, 
+   PROV relations are named so they can be used in assertions about the past.  
+  </p>
+
+  <div style="text-align: center;">
+   <img src="images/key-concepts.png" alt="PROV key concepts overview">
+  </div>
+
+  <section id="entities">
+   <h3><span class="secno">2.1 </span>Entities</h3>
+
+   <p>
+    In PROV, physical, digital, conceptual, or other kinds of thing are called
+    <i>entities</i>.
+    Examples of such entities are a web page, a chart, and a spellchecker.
+    Provenance records can describe the provenance of entities, and
+    an entity’s provenance may refer to many other entities.  For example, a document D is
+    an entity whose provenance refers to other entities such as a chart inserted into D,
+    and the dataset that was used to create that chart.
+    Entities may be described as having different attributes and
+    be described from different perspectives.  For example,
+    document D as stored in my file system, the second version of document D, 
+    and D as an evolving document,
+    are three distinct entities for which we may describe provenance.
+   </p>
+  </section>
+
+  <section id="activities">
+   <h3><span class="secno">2.2 </span>Activities</h3>
+
+   <p>
+    <i>Activities</i> are how entities come into 
+    existence and how their attributes change to become new entities, 
+    often making use of previously existing entities to achieve this. 
+    They are
+    dynamic aspects of the world, such as actions, processes, etc.
+    For example, if the second version of document D was generated 
+    by a translation from the first version of the document in another language,
+    then this translation is an activity.
+   </p>
+  </section>
+
+  <section id="usage-and-generation">
+   <h3><span class="secno">2.3 </span>Usage and Generation</h3>
+   <p>
+    Activities <i>generate</i> new entities.
+    For example, writing a document brings the document into existence, while
+    revising the document brings a new version into existence.
+    Activities also make <i>use</i> of entities. For example, revising a document
+    to fix spelling mistakes uses the original version of the document as well
+    as a list of corrections.
+    Generation does not always occur at the end of an activity, and an activity may generate entities
+    part-way through.
+    Likewise, usage does not always occur at the beginning of an activity.
+   </p>
+  </section>
+
+  <section id="agents-and-responsibility">
+   <h3><span class="secno">2.4 </span>Agents and Responsibility</h3>
+   <p>
+    An <i>agent</i> takes a role in an activity such 
+    that the agent can be assigned some degree of <i>responsibility</i> for the activity taking 
+    place.
+    An agent can be a person, a piece of software, an inanimate object, an organization, or
+    other entities that may be ascribed responsibility.
+    When an agent has some responsibility for an activity, PROV says the agent was
+    <i>associated</i> with the activity, where several agents may be associated with
+    an activity and vice-versa.
+    Consider a chart displaying some statistics 
+    regarding crime rates over time in a linear regression.  To represent the 
+    provenance of that chart, we could state that the person who created the 
+    chart was an agent involved in its creation, and that the software used to 
+    create the chart was also an agent involved in that activity.
+    An agent may be <i>acting on behalf</i> of others, e.g. an employee on behalf of their
+    organization, and we can express such chains of responsibility in the provenance.
+   </p>
+   <p>
+    We can also describe that an entity is <i>attributed</i> to an agent to express
+    the agent's responsibility for that entity, possibly along with other agents.
+    This description can be understood as a shorthand
+    for saying that the agent was responsible for the activity which generated
+    the entity.
+   </p>
+   <p>
+    One may want to describe the provenance of an agent.  For example, an organization 
+    responsible for the creation of a report may evolve over time as the report is written as
+    some members leave and others join.  To make provenance assertions about an agent in PROV,
+    the agent must be declared explicitly both as an agent and as an entity.
+   </p>
+
+  </section>
+
+  <section id="roles">
+   <h3><span class="secno">2.5 </span>Roles</h3>
+   <p>
+    A <i>role</i> is a description of the function or the part that an entity 
+    played in an activity.  Roles specify
+    the relationship between an entity and an activity, i.e. how
+    the activity used or generated the entity.  Roles also specify how agents are
+    involved in an activity, qualifying their participation in the activity or
+    specifying for what aspect of it each agent was responsible.
+    For example, an agent may play the role of "editor" in an activity that uses
+    one entity in the role of "document to be edited" and another in the role of
+    "addition to be made to the document", to generate a further entity in the role of "edited document".
+    Roles are application specific, so PROV does not define any particular roles.
+   </p>
+  </section>
+
+  <section id="derivation-and-revision">
+   <h3><span class="secno">2.6 </span>Derivation and Revision</h3>
+   <p>
+    When one entity's existence, content, characteristics and so on are
+    at least partly due to another entity, then we say that the former was
+    <i>derived</i> from the latter. For example, one document may contain
+    material copied from another, 
+    and a chart was derived from the data that it illustrates.
+   </p>
+   <p>
+    PROV allows some common, specialized kinds of derivation to be described.
+    For example, a given entity, such as a document, may go through multiple <i>revisions</i> 
+    over time. Between revisions,
+    one or more attributes of the entity may change. 
+    In PROV, the result of each revision is a new entity.
+    PROV allows one to relate those entities by making a description that 
+    one was a revision of another.
+    Another kind of derivation is to say that one entity, a quotation, <i>was quoted from</i>
+    another entity, commonly a document.
+   </p>
+  </section>
+
+  <section id="plans">
+   <h3><span class="secno">2.7 </span>Plans</h3>
+   <p>
+    Activities may follow pre-defined procedures, such as recipes, tutorials, instructions, or workflows.
+    PROV refers to these, in general, as <i>plans</i>, and allows the description that a plan was followed, by agents,
+    in executing an activity.
+   </p>
+  </section>
+
+  <section id="time">
+   <h3><span class="secno">2.8 </span>Time</h3>
+   <p>
+    Time is often a critical aspect of provenance.
+    PROV allows the timing of significant events to be described, including
+    when an entity was generated or used, or when an activity started
+    and finished. For example, the model can be used to describe facts such as when a new
+    version of a document was created (generation time), or when a document was
+    edited (start and end of the editing activity).
+   </p>
+  </section>
+
+  <section id="alternate-entities-and-specialization">
+   <h3><span class="secno">2.9 </span>Alternate Entities and Specialization</h3>
+   <p>
+    There is often more than one way to describe something in a record of
+    provenance. Each perspective will be referred to by a separately identified
+    entity, and PROV provides a mechanism for linking the different descriptions of
+    the same thing together through the mechanism of <i>specialization</i>. One
+    entity is a specialization of another entity if it shares the same fixed attributes,
+    with the possible addition of further fixed attributes. This concept is best
+    illustrated through a few use cases, as below.
+   </p>
+   <p>
+    Entities can be mutable things. For example, a webpage is a single
+    entity, W, despite being edited over time. Each version of the webpage is
+    also an entity, W1, W2... To connect an individual version to the webpage
+    in general, we say that the former is a specialization of the latter: W1 is a
+    specialization of W, W2 is a specialization of W, and so on.
+   </p>
+   <p>
+    Two individuals may create provenance referring to the same thing from different
+    perspectives. For example, the author of an article may attribute that article
+    to themselves using PROV while, independently, a reader might quote a fact from that
+    article elsewhere and document this in PROV. If the author later changes the fact,
+    then from the reader's perspective there are now two versions of the article, and
+    they had quoted from the version before the change. From the author's perspective,
+    there is a single article, attributed to the author. If either of them, or a
+    third party, were to connect the two PROV records, they would say that the
+    article as referred to by the reader is a specialization of the same article
+    as referred to by the author.
+   </p>
+   <p>
+    The above illustrates where we may want to connect entities by
+    saying that they refer to the same thing, but at different levels of specialization.
+    PROV also allows us to more generally draw a connection between two descriptions
+    of the same thing, even if not at different levels of specialization, describing the
+    entities as <i>alternates</i> of each other. For example,
+    two versions of the webpage above, W1 and W2, are alternates of each other because
+    they describe the same webpage.
+   </p>
+   <p>
+    As another example, if a file is copied from one directory to another to create a backup,
+    we may say that the copies are alternate versions of the same, location-independent, file.
+    Specifically, we may say that the file in the first directory, entity F1, is an alternate of the 
+    file in the second directory, entity F2. Note that it is
+    the context (location) rather than content of the file that differs between the entities
+    in this case.
+   </p>
+  </section>   
+
+ </section>
+
+ <section id="examples-of-key-concepts-in-prov">
+  <!--OddPage--><h2><span class="secno">3. </span>Examples of Key Concepts in PROV</h2>
+
+  <p>
+   In the following sections, we show how PROV can be used to model 
+   provenance in a specific example scenario. Samples of PROV data are given.
+   These samples use the namespace prefixes <b>prov</b>, denoting 
+   terms from the PROV ontology, and prefixes <b>exc</b>, <b>exn</b>, <b>exb</b>, <b>exg</b>,
+   denoting terms specific to the example.
+   We illustrate in these examples how PROV can be used in combination with other
+   languages, such as FOAF and Dublin Core (with namespace prefix <b>foaf</b> and 
+   <b>dcterms</b> respectively).
+  </p>
+  <p>
+   The samples can be displayed in one or more of the following formats.
+  </p>
+  <ul>
+   <li>[<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>] RDF triples, expressed using the [<cite><a class="bibref" href="#bib-TURTLE">TURTLE</a></cite>] notation.</li>
+   <li>[<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] expressions.</li>
+   <li>[<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>] fragments.</li>
+  </ul>
+  <p>
+   Select the formats to display using the buttons below. Note that if all formats
+   are hidden, the worked examples may not make sense!
+  </p>
+  <form action="#"><p> 
+    <input id="hide-turtle-examples" type="button" value="Hide Turtle Examples" onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');">
+    <input id="show-turtle-examples" type="button" value="Show Turtle Examples" style="display:none" onclick="
+    set_display_by_class('pre', 'turtle example', '');
+    set_display_by_class('div', 'turtle example', '');
+    set_display_by_id('hide-turtle-examples', '');
+    set_display_by_id('show-turtle-examples', 'none');">
+    <input id="hide-provn-examples" type="button" value="Hide PROV-N Examples" onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');">
+    <input id="show-provn-examples" type="button" value="Show PROV-N Examples" style="display:none" onclick="
+    set_display_by_class('pre', 'provn example', '');
+    set_display_by_class('div', 'provn example', '');
+    set_display_by_id('hide-provn-examples', '');
+    set_display_by_id('show-provn-examples', 'none');">
+    <input id="hide-provxml-examples" type="button" value="Hide XML Examples" onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');">
+    <input id="show-provxml-examples" type="button" value="Show XML Examples" style="display:none" onclick="
+    set_display_by_class('pre', 'provxml example', '');
+    set_display_by_class('div', 'provxml example', '');
+    set_display_by_id('hide-provxml-examples', '');
+    set_display_by_id('show-provxml-examples', 'none');">
+   </p> 
+  </form>
+
+
+  <section id="entities-1">
+   <h3><span class="secno">3.1 </span>Entities</h3>
+
+   <p>
+    An online newspaper publishes an article with a chart about crime statistics making using of data (GovData) provided through a government portal. 
+    The article includes a chart based on the data, with data values composed (aggregated) by
+    geographical regions.
+   </p>
+   <p>
+    A blogger, Betty, looking at the article, spots what she thinks to be an error in the chart.
+    Betty retrieves a record of the provenance of the article, describing how it was created.
+   </p>
+   <p>Betty finds the following descriptions of entities in the provenance.</p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exn:article      a prov:Entity ;
+                   dcterms:title "Crime rises in cities" .
+  exg:dataset1     a prov:Entity .
+  exc:regionList   a prov:Entity .
+  exc:composition1 a prov:Entity .
+  exc:chart1       a prov:Entity .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  entity(exn:article, [dcterms:title="Crime rises in cities"])
+  entity(exg:dataset1)
+  entity(exc:regionList)
+  entity(exc:composition1)
+  entity(exc:chart1)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:entity prov:id="exn:article"&gt;
+      &lt;dct:title&gt;Crime rises in cities&lt;/dct:title&gt;
+    &lt;/prov:entity&gt;
+    &lt;prov:entity prov:id="exg:dataset1"/&gt;
+    &lt;prov:entity prov:id="exc:regionList1"/&gt;
+    &lt;prov:entity prov:id="exc:composition1"/&gt;
+    &lt;prov:entity prov:id="exc:chart1"/&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    These statements, in order, refer to the article 
+    (<code>exn:article</code>), 
+    an original data set (<code>exg:dataset1</code>),
+    a list of regions (<code>exc:regionList</code>),
+    data aggregated by region (<code>exc:composition1</code>), 
+    and a chart (<code>exc:chart1</code>), and state that each is an entity.
+    Any entity may have attributes, such as the title
+    of the article, expressed using <code>dcterms:title</code> above.
+   </p>
+   <p>
+    Notice the different namespace prefixes used: for the article it corresponds to the 
+    newspaper that published it (<code>exn</code>), and 
+    for the dataset it is the government namespace (<code>exg</code>).
+    The <code>dcterms:title</code> namespace is taken from the Dublin Core 
+    vocabulary.
+   </p>
+   <p>
+    PROV data is commonly visualized for human consumption using particular conventions,
+    which we will introduce over the following sections. To start with, entities
+    are denoted using ovals, as shown below.
+   </p>
+   <img src="images/entities.png" alt="Visualization of the example entities">
+  </section>
+
+  <section id="activities-1">
+   <h3><span class="secno">3.2 </span>Activities</h3>
+
+   <p>
+    Further, the provenance describes that there was
+    an activity (<code>exc:compile1</code>) denoting the compilation of the
+    chart from the data set.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:compile1 a prov:Activity .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  activity(exc:compile1)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:activity prov:id="exc:compile1"/&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    The provenance also includes reference to the more specific steps involved in this compilation,
+    which are first composing the data by region (<code>exc:compose1</code>) and then generating the
+    chart graphic (<code>exc:illustrate1</code>).
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:compose1    a prov:Activity .
+  exc:illustrate1 a prov:Activity .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  activity(exc:compose1)
+  activity(exc:illustrate1)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:activity prov:id="exc:compose1"/&gt;
+    &lt;prov:activity prov:id="exc:illustrate1"/&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    In visualizations of the PROV data, activities are depicted as rectangles, as below.
+   </p>
+   <img src="images/activities.png" alt="Visualization of the example activities">
+  </section>
+
+  <section id="usage-and-generation-1">
+   <h3><span class="secno">3.3 </span>Usage and Generation</h3>
+
+   <p>
+    Concluding the basic description of what occurred, the provenance 
+    describes the key relations among the above
+    entities and activities, i.e. the usage of an entity by an activity,
+    or the generation of an entity by an activity.
+   </p>
+   <p>
+    For example, the descriptions below state that the composition activity
+    (<code>exc:compose1</code>) used the original data set, that it used the list of
+    regions, and that the composed data was generated by this activity.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:compose1      prov:used           exg:dataset1 ;
+                    prov:used           exc:regionList1 .
+  exc:composition1  prov:wasGeneratedBy exc:compose1 .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  used(exc:compose1, exg:dataset1, -)
+  used(exc:compose1, exc:regionList1, -)
+  wasGeneratedBy(exc:composition1, exc:compose1, -)
+    </pre>
+    <p>Note that the - argument in the examples above denote unspecified optional
+     information. See the [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] specification for the details of what arguments
+     may be expressed in each PROV-N statement.
+    </p>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:used&gt;
+      &lt;prov:activity prov:ref="exc:compose1"/&gt;
+      &lt;prov:entity prov:ref="exg:dataset1"/&gt;
+    &lt;/prov:used&gt;
+    &lt;prov:used&gt;
+      &lt;prov:activity prov:ref="exc:compose1"/&gt;
+      &lt;prov:entity prov:ref="exc:regionList1"/&gt;
+    &lt;/prov:used&gt;
+    &lt;prov:wasGeneratedBy&gt;
+      &lt;prov:entity prov:ref="exc:composition1"/&gt;
+      &lt;prov:activity prov:ref="exc:compose1"/&gt;
+    &lt;/prov:wasGeneratedBy&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    Similarly, the chart graphic creation activity (<code>exc:illustrate1</code>)
+    used the composed data, and the chart was generated by this activity.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:illustrate1 prov:used           exc:composition1 .
+  exc:chart1      prov:wasGeneratedBy exc:illustrate1 .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  used(exc:illustrate1, exc:composition1, -)
+  wasGeneratedBy(exc:chart1, exc:illustrate1, -)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:used&gt;
+      &lt;prov:activity prov:ref="exc:illustrate1"/&gt;
+      &lt;prov:entity prov:ref="exc:composition1"/&gt;
+    &lt;/prov:used&gt;
+    &lt;prov:wasGeneratedBy&gt;
+      &lt;prov:entity prov:ref="exc:chart1"/&gt;
+      &lt;prov:activity prov:ref="exc:illustrate1"/&gt;
+    &lt;/prov:wasGeneratedBy&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    In visualizing the PROV data, usage and generation are connections between
+    entities and activities. The arrows point from the future to the past.
+   </p>
+   <img src="images/use-generate.png" alt="Connection of the entities and activities by use and generation links">
+  </section>
+
+  <section id="agents-and-responsibility-1">
+   <h3><span class="secno">3.4 </span>Agents and Responsibility</h3>
+
+   <p>
+    Digging deeper, Betty wants to know who compiled the chart.
+    Betty sees that Derek was involved in both the composition and
+    chart creation activities:
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:compose1    prov:wasAssociatedWith exc:derek .
+  exc:illustrate1 prov:wasAssociatedWith exc:derek .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  wasAssociatedWith(exc:compose1, exc:derek, -)
+  wasAssociatedWith(exc:illustrate1, exc:derek, -)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:wasAssociatedWith&gt;
+      &lt;prov:activity prov:ref="exc:compose1"/&gt;
+      &lt;prov:agent prov:ref="exc:derek"/&gt;
+    &lt;/prov:wasAssociatedWith&gt;
+    &lt;prov:wasAssociatedWith&gt;
+      &lt;prov:activity prov:ref="exc:illustrate1"/&gt;
+      &lt;prov:agent prov:ref="exc:derek"/&gt;
+    &lt;/prov:wasAssociatedWith&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    The record for Derek provides the
+    following description that
+    Derek is an agent, specifically a person, followed by non-PROV information
+    giving attributes of Derek.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:derek a prov:Agent ;
+            a prov:Person ;
+            foaf:givenName "Derek"^^xsd:string ;
+            foaf:mbox      &lt;mailto:[email protected]&gt; .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  agent(exc:derek,
+        [prov:type='prov:Person', foaf:givenName="Derek", 
+         foaf:mbox="&lt;mailto:[email protected]&gt;"])
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:agent prov:id="exc:derek"&gt;
+      &lt;prov:type&gt;prov:Person&lt;/prov:type&gt;
+      &lt;foaf:givenName&gt;Derek&lt;/foaf:givenName&gt;
+      &lt;foaf:mbox&gt;mailto:[email protected]&lt;/foaf:mbox&gt;
+    &lt;/prov:agent&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    Derek works as part of an organization, Chart Generators Inc, and so the provenance
+    declares that he acts on their behalf. Note that the organization is itself
+    an agent.  The namespace prefix used by the organization is <code>exc</code>.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:derek prov:actedOnBehalfOf exc:chartgen .
+  exc:chartgen a prov:Agent ;
+               a prov:Organization ;
+               foaf:name "Chart Generators Inc" .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  agent(exc:chartgen,
+        [prov:type='prov:Organization',
+         foaf:name="Chart Generators Inc"])
+  actedOnBehalfOf(exc:derek, exc:chartgen)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:agent prov:id="exc:chartgen"&gt;
+      &lt;prov:type&gt;prov:Organization&lt;/prov:type&gt;
+      &lt;foaf:name&gt;Chart Generators Inc&lt;/foaf:name&gt;
+    &lt;/prov:agent&gt;
+    &lt;prov:actedOnBehalfOf&gt;
+      &lt;prov:delegate prov:ref="exc:derek"/&gt;
+      &lt;prov:responsible prov:ref="exc:chartgen"/&gt;
+    &lt;/prov:actedOnBehalfOf&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    It would also be possible to express the more specific statement that Derek 
+    worked on the organization's behalf for a particular activity, rather than 
+    in general, and so may have acted on behalf of other organizations for other 
+    activities. See the PROV specifications for details on how to express 
+    activity-specific delegation.
+   </p>
+   <p>
+    Finally, there is an explicit statement in the provenance that the chart was
+    attributed to Derek.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:chart1 prov:wasAttributedTo exc:derek .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  wasAttributedTo(exc:chart1, exc:derek)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:wasAttributedTo&gt;
+      &lt;prov:entity prov:ref="exc:chart1"/&gt;
+      &lt;prov:agent prov:ref="exc:derek"/&gt;
+    &lt;/prov:wasAttributedTo&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+
+   <p>
+    We can extend our graphical depiction to show the agents, association and attribution links.
+   </p>
+   <img src="images/agents.png" alt="Agents added to provenance graph and linked to entities and activities">
+  </section>
+
+  <section id="roles-1">
+   <h3><span class="secno">3.5 </span>Roles</h3>
+
+   <p>
+    For Betty to understand where the error lies, she needs to have more detailed 
+    information on how entities have been used in and generated 
+    by activities.  Betty has determined that <code>exc:compose1</code> used 
+    entities <code>exc:regionList1</code> and <code>exg:dataset1</code>, but she does not 
+    know what function these entities played in the processing.  Betty 
+    also knows that <code>exc:derek</code> was associated with the activities, but she does 
+    not know if Derek was the analyst responsible for determining how the data 
+    should be composed.
+   </p>
+   <p>
+    The above information is described as roles in the provenance. The composition
+    activity involved entities in four roles: the data to be composed (<code>exc:dataToCompose</code>),
+    the regions to aggregate by (<code>exc:regionsToAggregateBy</code>), the
+    resulting composed data (<code>exc:composedData</code>), and the
+    analyst doing the composition (<code>exc:analyst</code>).
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:dataToCompose        a prov:Role .
+  exc:regionsToAggregateBy a prov:Role .
+  exc:composedData         a prov:Role .
+  exc:analyst              a prov:Role .
+    </pre>
+    <p>
+     Examples in the sections above show descriptions of the simple facts that the
+     composition activity used, generated and was enacted by entities/agents.
+     For example, the usage of the data set by the compose activity is expressed
+     as follows.
+    </p>
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:compose1 prov:used exg:dataset1 .
+    </pre>
+    <p>     
+     The
+     provenance can contain more details of exactly how these entities and agents
+     were involved in the activity. 
+     To express this, PROV-O refers to <i>qualified usage</i>, <i>qualified generation</i>, etc.,
+     which are descriptions consisting of several statements about how usage, generation, etc. took place.
+     For example, we may describe the plan followed by an agent in performing an activity, or
+     the time at which an activity generated an entity, both illustrated later.
+     Another example of qualified involvement is the role an entity played in an activity.
+     The descriptions below state
+     that the composition activity (<code>exc:compose1</code>) included the usage
+     of the government data set (<code>exg:dataset1</code>) in the role of the data
+     to be composed (<code>exc:dataToCompose</code>).
+    </p>
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:compose1 prov:qualifiedUsage [
+               a prov:Usage ;
+               prov:entity  exg:dataset1 ;
+               prov:hadRole exc:dataToCompose 
+     ] .
+    </pre>
+   </div>
+   <div class="provn example">
+    <p>
+     In PROV-N, the role is expressed as one of the list of attributes in the used
+     expression, with the attribute name <code>prov:role</code>.
+    </p>
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  used(exc:compose1, exg:dataset1, -, [prov:role='exc:dataToCompose'])
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:used&gt;
+      &lt;prov:activity prov:ref="exc:compose1"/&gt;
+      &lt;prov:entity prov:ref="exg:dataset1"/&gt;
+      &lt;prov:role&gt;exc:dataToCompose&lt;/prov:role&gt;
+    &lt;/prov:used&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    This can then be distinguished from the same activity's usage of the list of
+    regions because the roles played are different.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:compose1 prov:qualifiedUsage [
+                  a prov:Usage ;
+                  prov:entity  exc:regionList1 ;
+                  prov:hadRole exc:regionsToAggregateBy
+     ] .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  used(exc:compose1, exc:regionList1, -, [prov:role='exc:regionsToAggregateBy'])
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:used&gt;
+      &lt;prov:activity prov:ref="exc:compose1"/&gt;
+      &lt;prov:entity prov:ref="exc:regionList1"/&gt;
+      &lt;prov:role&gt;exc:regionsToAggregateBy&lt;/prov:role&gt;
+    &lt;/prov:used&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    Similarly, the provenance includes descriptions that the same activity was
+    enacted in a particular way by Derek, so it indicates that he had the role of 
+    <code>exc:analyst</code>, and that the entity <code>exc:composition1</code> took the role of the composed
+    data in what the activity generated:
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:compose1 prov:qualifiedAssociation [
+                  a  prov:Association ;
+                  prov:agent    exc:derek ;
+                  prov:hadRole  exc:analyst
+  ] .
+  exc:composition1 prov:qualifiedGeneration [
+                      a prov:Generation ;
+                      prov:activity  exc:compose1 ;
+                      prov:hadRole   exc:composedData
+  ] .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  wasAssociatedWith(exc:compose1, exc:derek, -, [prov:role='exc:analyst'])
+  wasGeneratedBy(exc:composition1, exc:compose1, -, [prov:role='exc:composedData'])
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:wasAssociatedWith&gt;
+      &lt;prov:activity prov:ref="exc:compose1"/&gt;
+      &lt;prov:agent prov:ref="exc:derek"/&gt;
+      &lt;prov:role&gt;exc:analyst&lt;/prov:role&gt;
+    &lt;/prov:wasAssociatedWith&gt;
+    &lt;prov:wasGeneratedBy&gt;
+      &lt;prov:entity prov:ref="exc:composition1"/&gt;
+      &lt;prov:activity prov:ref="exc:compose1"/&gt;
+      &lt;prov:role&gt;exc:composedData&lt;/prov:role&gt;
+    &lt;/prov:wasGeneratedBy&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    Depicting the above visually, we have the following.
+   </p>
+   <img src="images/roles.png" alt="Provenance graph annotated with roles played by entities and agents">
+  </section>
+
+  <section id="derivation-and-revision-1">
+   <h3><span class="secno">3.6 </span>Derivation and Revision</h3>
+
+   <p>
+    After looking at the detail of the compilation activity, there appears
+    to be nothing wrong, so Betty concludes the error is in the government dataset. 
+    She looks at the dataset <code>exg:dataset1</code>, 
+    and sees that it is missing data from one of the zipcodes in the area.  She contacts
+    the government agency, and a new version of GovData is created, declared to be the
+    next revision of the data. The provenance of this new dataset,
+    <code>exg:dataset2</code>, states that it is a revision of the
+    old data set, <code>exg:dataset1</code>.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exg:dataset2 a prov:Entity ;
+               prov:wasRevisionOf exg:dataset1 .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  entity(exg:dataset2)
+  wasDerivedFrom(exg:dataset2, exg:dataset1, [prov:type='prov:Revision'])
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;entity prov:id="dataSet2"/&gt;
+    &lt;prov:wasDerivedFrom&gt;
+      &lt;prov:generatedEntity prov:ref="exg:dataset2"/&gt;
+      &lt;prov:usedEntity prov:ref="exg:dataset1"/&gt;
+      &lt;prov:type&gt;prov:Revision&lt;/prov:type&gt;
+    &lt;/prov:wasDerivedFrom&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    Derek notices that there is a new dataset available and creates a new chart based on the revised data, 
+    using another compilation activity. Betty checks the article again at a
+    later point, and wants to know if it is based on the old or new GovData.
+    She sees a new description stating that the new chart is derived from the new dataset
+    (the same relation could be expressed between the old chart and old dataset).
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:chart2 a prov:Entity ;
+             prov:wasDerivedFrom exg:dataset2 .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  wasDerivedFrom(exc:chart2, exg:dataset2)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:wasDerivedFrom&gt;
+      &lt;prov:generatedEntity prov:ref="exc:chart2"/&gt;
+      &lt;prov:usedEntity prov:ref="exg:dataset2"/&gt;
+    &lt;/prov:wasDerivedFrom&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>and that the new chart is a revision of the original one:
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:chart2 a prov:Entity ;
+            prov:wasRevisionOf exc:chart1 .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  entity(exc:chart2)
+  wasDerivedFrom(exc:chart2, exc:chart1, [prov:type='prov:Revision'])
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;entity prov:id="chart2"/&gt;
+    &lt;prov:wasDerivedFrom&gt;
+      &lt;prov:generatedEntity prov:ref="exc:chart2"/&gt;
+      &lt;prov:usedEntity prov:ref="exc:chart1"/&gt;
+      &lt;prov:type&gt;prov:Revision&lt;/prov:type&gt;
+    &lt;/prov:wasDerivedFrom&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    Derivation and revision are connections between entities, and so depicted
+    with arrows in our visualization.
+   </p>
+   <img src="images/derivation.png" alt="Derivation and revision links between entities">
+  </section>
+
+  <section id="plans-1">
+   <h3><span class="secno">3.7 </span>Plans</h3>
+
+   <p>
+    Betty then wishes to know whether the new data set correctly addresses
+    the error that existed before. The provenance of the new dataset,
+    <code>exg:dataset2</code>, describes not only who performed the corrections,
+    Edith, but also what instructions she followed in doing so (in PROV terms, the plan).
+    First, the correction activity (<code>exg:correct1</code>), the person who corrected
+    it, Edith (<code>exg:edith</code>), and the correction instructions (<code>exg:instructions</code>)
+    are described.
+   </p><div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exg:correct1     a prov:Activity .
+  exg:edith        a prov:Agent, prov:Person .
+  exg:instructions a prov:Plan .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  activity(exg:correct1)
+  agent(exg:edith, [prov:type='prov:Person'])
+  entity(exg:instructions)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:activity prov:id="exg:correct1"/&gt;
+    &lt;prov:agent prov:id="exg:edith"&gt;
+      &lt;prov:type&gt;prov:Person&lt;/prov:type&gt;
+    &lt;/prov:agent&gt;
+    &lt;prov:entity prov:id="exg:instructions"&gt;
+      &lt;prov:type&gt;prov:Plan&lt;/prov:type&gt;
+    &lt;/prov:entity&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <div class="turtle example">
+    <p>
+     The connection between them is expressed in PROV-O using a qualified association giving details of
+     how Edith was associated with the correction activity,
+     including that she followed the above correction instructions.
+    </p>
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exg:correct1 prov:qualifiedAssociation [
+                 a Association ;
+                 prov:agent   exg:edith ;
+                 prov:hadPlan exg:instructions
+  ] .
+  exg:dataset2 prov:wasGeneratedBy exg:correct1 .
+    </pre>
+   </div>
+   <div class="provn example">
+    <p>
+     In PROV-N, the plan is an optional parameter to wasAssociatedWith descriptions.
+    </p>
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  wasAssociatedWith(exg:correct1, exg:edith, exg:instructions)
+  wasGeneratedBy(exg:dataset2, exg:correct1, -)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <p>
+     In PROV-XML, the plan is an optional child of the wasAssociatedWith element.
+    </p>
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:wasAssociatedWith&gt;
+      &lt;prov:activity prov:ref="exg:correct1"/&gt;
+      &lt;prov:agent prov:ref="exg:edith"/&gt;
+      &lt;prov:plan prov:ref="exg:instructions"/&gt;
+    &lt;/prov:wasAssociatedWith&gt;
+    &lt;prov:wasGeneratedBy&gt;
+      &lt;prov:entity prov:ref="exg:dataset2"/&gt;
+      &lt;prov:activity prov:ref="exg:correct1"/&gt;
+    &lt;/prov:wasGeneratedBy&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    Plans are additional information about the connection from an activity to
+    an agent, and so, in our visualization, connect to the link between them.
+   </p>
+   <img src="images/plans.png" alt="Annotaion of example provenance graph with plan followed">
+  </section>
+
+  <section id="time-1">
+   <h3><span class="secno">3.8 </span>Time</h3>
+
+   <p>
+    The government agency that produced GovData is concerned to know how long
+    the incorrect chart was in circulation before the corrected chart was created.
+    That is, they wish to compare the times at which the original and the corrected
+    charts were generated. The snippet below shows that the second chart
+    was generated roughly a month after the first.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exc:chart1 prov:generatedAtTime "2012-03-02T10:30:00"^^xsd:dateTime .
+  exc:chart2 prov:generatedAtTime "2012-04-01T15:21:00"^^xsd:dateTime .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  wasGeneratedBy(exc:chart1, exc:compile1,  2012-03-02T10:30:00)
+  wasGeneratedBy(exc:chart2, exc:compile2, 2012-04-01T15:21:00)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:wasGeneratedBy&gt;
+      &lt;prov:entity prov:ref="exc:chart1"/&gt;
+      &lt;prov:time&gt;2012-03-02T10:30:00&lt;/prov:time&gt;
+    &lt;/prov:wasGeneratedBy&gt;
+    &lt;prov:wasGeneratedBy&gt;
+      &lt;prov:entity prov:ref="exc:chart2"/&gt;
+      &lt;prov:time&gt;2012-04-01T15:21:00&lt;/prov:time&gt;
+    &lt;/prov:wasGeneratedBy&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+
+   <p>
+    To ensure their procedures are efficient, the agency also wishes to know how long the
+    corrections took once the error was discovered. That is, they wish to know the
+    start and end times of the correction activity (<code>exg:correct1</code>).
+    These details are expressed as follows, showing that the corrections took a
+    little over a day.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exg:correct1 prov:startedAtTime "2012-03-31T09:21:00"^^xsd:dateTime ;
+               prov:endedAtTime   "2012-04-01T15:21:00"^^xsd:dateTime .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  activity(exg:correct1, 2012-03-31T09:21:00, 2012-04-01T15:21:00)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:activity prov:id="exg:correct1"&gt;
+      &lt;prov:startTime&gt;2012-03-31T09:21:00&lt;/prov:startTime&gt;
+      &lt;prov:endTime&gt;2012-04-01T15:21:00&lt;/prov:endTime&gt;
+    &lt;/prov:activity&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    Time is visualized as additional information regarding activities or the
+    links between activities and entities or agents.
+   </p>
+   <img src="images/time.png" alt="Annotation of provenance graph with example timestamps">
+  </section>
+
+  <section id="alternate-entities-and-specialization-1">
+   <h3><span class="secno">3.9 </span>Alternate Entities and Specialization</h3>
+
+   <p>
+    Before noticing anything wrong with the government data, Betty had already
+    posted a blog entry about the article. The blog entry had its own published
+    provenance. In particular, it contains some text copied from the article, and the
+    provenance states that this text (<code>exb:quoteInBlogEntry-20130326</code>) is quoted
+    from the article.  Note the namespace prefix (<code>exb</code>) used for the blog.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exb:quoteInBlogEntry-20130326 a prov:Entity ;
+                                prov:value "Smaller cities have more crime than larger ones" ;
+                                prov:wasQuotedFrom exn:article .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  entity(exb:quoteInBlogEntry-20130326, prov:value="Smaller cities have more crime than larger ones")
+  wasDerivedFrom(exb:quoteInBlogEntry-20130326, exn:article, [prov:type='prov:Quotation'])
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:entity prov:id="exb:BlogEntry-20130326"&gt;
+      &lt;prov:value&gt;Smaller cities have more crime than larger ones&lt;/prov:value&gt;
+    &lt;/prov:entity&gt;
+    &lt;prov:wasDerivedFrom&gt;
+      &lt;prov:generatedEntity prov:ref="exb:quoteInBlogEntry-20130326"/&gt;
+      &lt;prov:usedEntity prov:ref="exn:article"/&gt;
+      &lt;prov:type&gt;prov:Quotation&lt;/prov:type&gt;
+    &lt;/prov:wasDerivedFrom&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    The newspaper, from past experience, anticipated that there could be revisions
+    to the article, and so created identifiers for both the article in general
+    (<code>exn:article</code>) as a URI that got redirected to the first version of the article (<code>exn:articleV1</code>),
+    allowing both to be referred to as entities in provenance data. 
+    In the provenance records, the newspaper describes the connection between the two: that
+    the first version of the article is a specialization of the article in general.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exn:articleV1 a prov:Entity ;
+               prov:specializationOf exn:article .
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  entity(exn:articleV1)
+  specializationOf(exn:articleV1, exn:article)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:entity prov:id="exn:articleV1"/&gt;
+    &lt;prov:specializationOf&gt;
+      &lt;prov:specificEntity prov:ref="exn:articleV1"/&gt;
+      &lt;prov:generalEntity prov:ref="exn:article"/&gt;
+    &lt;/prov:specializationOf&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    Later, after the data set is corrected and the new chart generated, a new version
+    of the article is created, <code>exn:articleV2</code>, with its own URI where the article
+    is redirected to.  To ensure that those
+    consulting the provenance of <code>exn:articleV2</code> understand that it
+    is connected with the provenance of <code>exn:article</code> and <code>exn:articleV1</code>,
+    the newspaper describes how these entities are related.
+   </p>
+   <div class="turtle example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>Turtle Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'turtle example', 'none');
+    set_display_by_class('div', 'turtle example', 'none');
+    set_display_by_id('hide-turtle-examples', 'none');
+    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  exn:articleV2 prov:specializationOf exn:article .
+  exn:articleV2 prov:alternateOf      exn:articleV1 
+    </pre>
+   </div>
+   <div class="provn example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>PROV-N Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provn example', 'none');
+    set_display_by_class('div', 'provn example', 'none');
+    set_display_by_id('hide-provn-examples', 'none');
+    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  specializationOf(exn:articleV2, exn:article)
+  alternateOf(exn:articleV2, exn:articleV1)
+    </pre>
+   </div>
+   <div class="provxml example">
+    <div class="exampleheader">
+     <span class="exampleheader"><b>XML Example</b>
+      <a onclick="
+    set_display_by_class('pre', 'provxml example', 'none');
+    set_display_by_class('div', 'provxml example', 'none');
+    set_display_by_id('hide-provxml-examples', 'none');
+    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
+     </span></div>
+    <pre>  &lt;prov:document&gt;
+    ...
+    &lt;prov:specializationOf&gt;
+      &lt;prov:specificEntity prov:ref="exn:articleV2"/&gt;
+      &lt;prov:generalEntity prov:ref="exn:article"/&gt;
+    &lt;/prov:specializationOf&gt;
+    &lt;prov:alternateOf&gt;
+      &lt;prov:alternate1 prov:ref="exn:articleV1"/&gt;
+      &lt;prov:alternate2 prov:ref="exn:articleV2"/&gt;
+    &lt;/prov:alternateOf&gt;
+  &lt;/prov:document&gt;
+    </pre>
+   </div>
+   <p>
+    Note that above we could have also
+    stated that <code>exn:articleV2</code> was a revision of <code>exn:articleV1</code>,
+    as we did between <code>exc:chart2</code> and <code>exc:chart1</code>,
+    which would describe more concretely how the alternate entities are related.
+    Specialization and alternate relations connect entities, and so are visualized
+    as links between them.
+   </p>
+   <img src="images/specialization.png" alt="Specialization and alternate links between entities">
+  </section>
+
+  <section id="additional-aspects-of-prov">
+   <h3><span class="secno">3.10 </span>Additional aspects of PROV</h3>
+   <p>There are additional aspects of the PROV data model that we have not covered 
+    in this primer and that are important in many uses of provenance. These include
+    the following.
+   </p>
+   <ol>
+    <li><b>Provenance of provenance</b>:  
+     It is often useful to state the provenance of a provenance record.  
+     To enable this, PROV allows the grouping of provenance assertions as a <i>bundle</i>.
+     A bundle is a type of entity, and therefore its provenance can be asserted in turn.
+     For example, supposed that Betty wanted to express in the provenance of her blog 
+     entry that she personally checked her sources.  She would want to state the 
+     provenance of her blog entry, and then state that she stands by that provenance.  
+     To do this, she would create a bundle that contains provenance assertions for 
+     her blog entry, and then she would state that she was the creator of that bundle.  </li>
+    <li><b>Collections of entities</b>:
+     A <i>collection</i> in PROV is a type of entity that has other entities as members.
+     For example, Derek could decide to create several types of charts using dataset2.  
+     He would describe all the charts as a collection, and then state the provenance of 
+     the collection to be a single step that generates all the charts. </li>
+   </ol>
+     <p>
+      Please see the [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] specification for details on these
+    and other concepts.
+     </p>
+     </section>
+
+     <section id="summary">
+      <h3><span class="secno">3.11 </span>Summary</h3>
+      <p>
+       The full set of examples shown above are available in <a href="primer-turtle-examples.txt">PROV-O Turtle format</a>
+       or <a href="primer-provn-examples.txt">PROV-N format</a> or <a href="primer-prov-xml-examples.xml">PROV-XML format</a>.
+       We visualize the whole example below.
+      </p>
+      <img src="images/everything.png" alt="Provenance graph for whole example">
+      <p>These examples highlight the following important capabilities of PROV:
+      </p>
+      <ol>
+       <li><b>Representing diverse entities involved in provenance</b>.  
+        The examples illustrate that provenance records can contain different 
+        kinds of information:
+        <ul>
+         <li>The newspaper took an object-centered view on their provenance statements, 
+          stating what objects were derived from others but not stating what processes 
+          were used or what entities were involved.</li>
+         <li>Betty the blogger took a very agent-centered view on provenance.  
+          She chose to associate her blog post with herself, the government agency 
+          that published the data, and the newspaper that published the article.</li>
+         <li>Derek took a process-centered perspective and combined it with object-centered 
+          and entity-centered provenance information. The processes followed to derive the 
+          charts from the government datasets were clearly.  All intermediate and final 
+          documents were stated.  His involvement in the various activities was clearly 
+          recorded, and the resulting documents were attributed to him.</li>
+        </ul></li>
+       <li><b>Stating partial or incomplete provenance</b>.  The newspaper omitted 
+        information about their specific editorial processes in publishing articles.  
+        The chart generator said nothing about the software used, therefore omitting 
+        information about other agents involved in the processes.</li>
+       <li><b>Integrate provenance-related information represented in other vocabularies</b>.  
+        The FOAF vocabulary was used for specifying details about Derek and his company.  
+        The Dublin Core vocabulary was also used. </li>
+       <li><b>Combining distributed provenance records provided by different parties</b>.  
+        The provenance records described in this example came from a government source, 
+        a newspaper, a company, and a blogger.  Using URIs and namespaces, a provenance 
+        record can draw from multiple sources on the Web.</li>
+       <li><b>Describing the commonalities in the derivation of two entities</b>.  
+        The two versions of the charts were both derived through a similar compile activity.</li>
+       <li><b>Relating versions of objects over time</b>.  
+        The second dataset was described as a revision of the first one.</li>
+       <li><b>Stating the provenance of provenance assertions</b>.  
+        Betty could create a provenance record for her blog post, and 
+        then assert the provenance of that provenance record.</li>
+       <li><b>Enabling alternative accounts for the provenance of an entity</b>.  
+        The blog post could have a provenance account from Betty as its author and another 
+        one from the newspaper that the blog quoted from.</li>
+       <li><b>Supporting queries over provenance of different granularity</b>.   
+        The activity of composing the data from different regions was described 
+        in greater detail than the other steps to produce the chart.  
+        The provenance of the chart has much finer-grained detail than 
+        the provenance of the government dataset.</li>
+       <li><b>Supporting reasoning and inference over provenance records</b>.   
+        The provenance assertions explicitly stated above can be used to infer 
+        additional assertions that are true according to the PROV model.  
+        For example, because Derek created the chart acting on behalf of Chart 
+        Generators, a PROV inference may be that the chart can be attributed to Chart Generators.</li>
+      </ol>
+      <p>The examples also illustrate how PROV enables many uses of provenance, 
+       such as checking for possible errors, tracking down parties responsible for 
+       fixing them, repeating processes to re-generate datasets, relating versions of 
+       documents over time, and inspecting sources and attribution.
+      </p>
+     </section>
+     </section>
+
+     <section class="appendix" id="acknowledgements">
+      <!--OddPage--><h2><span class="secno">A. </span>Acknowledgements</h2>
+      <p> 
+       This  document has been produced by the Provenance Working Group, and its contents reflect extensive discussion within the Working Group as a whole. The editors extend special thanks to  Sandro Hawke (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="Massachusetts Institute of Technology">MIT</abbr>) and Ivan Herman (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>), <abbr title="World Wide Web Consortium">W3C</abbr> contacts for the Provenance Working Group.
+      </p> 
+      <p>
+       The editors acknowledge valuable contributions from the following:
+       Tom Baker,
+       David Booth,
+       Bob DuCharme,
+       Robert Freimuth,
+       Satrajit Ghosh,
+       Ralph Hodgson,
+       Renato Iannella,
+       Jacek Kopecky,
+       James Leigh,
+       Chuck Morris,
+       Jacco van Ossenbruggen,
+       Alan Ruttenberg,
+       Reza Samavi, and
+       Antoine Zimmermann.
+      </p>
+      <p>
+       Members of the Provenance 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 (iMinds - Ghent University),
+       David Corsar (University of Aberdeen, Computing Science),
+       Stephen Cresswell (The National Archives),
+       Tom De Nies (iMinds - Ghent University),
+       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 (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="Massachusetts Institute of Technology">MIT</abbr>),
+       Jörn Hees (German Research Center for Artificial Intelligence (DFKI) Gmbh),
+       Ivan Herman, (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>),
+       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>
+
+     <section class="appendix" id="changes-since-fourth-public-working-draft"> 
+      <!--OddPage--><h2><span class="secno">B. </span>Changes Since Fourth Public Working Draft</h2> 
+      <ul>
+       <li>Corrected XML example for activities</li>
+       <li>Clarified usage of adoptedOnBehalfOf relation</li>
+       <li>Clarified wasQuotedFrom example</li>
+       <li>Adapted PROV-XML examples to clarify they are not RDF/XML</li>
+       <li>Clarified varying sources of example provenance data with different namespace prefixes,
+       and in division of complete example provenance graph</li>
+       <li>Used instance-specific identifiers for entities, activities and agents</li>
+       <li>Added section summarising some additional aspects of PROV not covered in depth</li>
+       <li>Added summary section</li>
+       <li>Added proper acknowledgements</li>
+       <li>Clarified the introduction regarding what is in each section.</li>
+       <li>Typos fixed and minor clarifications throughout</li>
+      </ul>
+     </section>
+
+     
+<section id="references" class="appendix"><!--OddPage--><h2><span class="secno">C. </span>References</h2><section id="informative-references"><h3><span class="secno">C.1 </span>Informative references</h3><dl class="bibliography"><dt id="bib-PROV-AQ">[PROV-AQ]</dt><dd>Graham Klyne; Paul Groth; eds. <a href="http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/"><cite>Provenance Access and Query</cite></a>. 30 Avril 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/">http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/</a>
+</dd><dt id="bib-PROV-CONSTRAINTS">[PROV-CONSTRAINTS]</dt><dd>James Cheney; Paolo Missier; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/REC-prov-constraints-20130430/"><cite>Constraints of the PROV Data Model</cite></a>. 30 Avril 2013, W3C Recommendation. URL: <a href="http://www.w3.org/TR/2013/REC-prov-constraints-20130430/">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/</a>
+</dd><dt id="bib-PROV-DC">[PROV-DC]</dt><dd>Daniel Garijo; Kai Eckert; eds. <a href="http://www.w3.org/TR/2013/NOTE-prov-dc-20130430/"><cite>Dublin Core to PROV Mapping</cite></a>. 30 Avril 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-dc-20130430/">http://www.w3.org/TR/2013/NOTE-prov-dc-20130430/</a>
+</dd><dt id="bib-PROV-DICTIONARY">[PROV-DICTIONARY]</dt><dd>Tom De Nies; Sam Coppens; eds. <a href="http://www.w3.org/TR/2013/NOTE-prov-dictionary-20130430/"><cite>PROV Dictionary</cite></a>. 30 Avril 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-dictionary-20130430/">http://www.w3.org/TR/2013/NOTE-prov-dictionary-20130430/</a>
+</dd><dt id="bib-PROV-DM">[PROV-DM]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/REC-prov-dm-20130430/"><cite>PROV-DM: The PROV Data Model</cite></a>. 30 Avril 2013, W3C Recommendation. URL: <a href="http://www.w3.org/TR/2013/REC-prov-dm-20130430/">http://www.w3.org/TR/2013/REC-prov-dm-20130430/</a>
+</dd><dt id="bib-PROV-LINKS">[PROV-LINKS]</dt><dd>Luc Moreau; Timothy Lebo; eds. <a href="http://www.w3.org/TR/2013/NOTE-prov-links-20130430/"><cite>Linking Across Provenance Bundles</cite></a>. 30 Avril 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-links-20130430/">http://www.w3.org/TR/2013/NOTE-prov-links-20130430/</a>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/REC-prov-n-20130430/"><cite>PROV-N: The Provenance Notation</cite></a>. 30 Avril 2013, W3C Recommendation. URL: <a href="http://www.w3.org/TR/2013/REC-prov-n-20130430/">http://www.w3.org/TR/2013/REC-prov-n-20130430/</a>
+</dd><dt id="bib-PROV-O">[PROV-O]</dt><dd>Timothy Lebo; Satya Sahoo; Deborah McGuinness; eds. <a href="http://www.w3.org/TR/2013/REC-prov-o-20130430/"><cite>PROV-O: The PROV Ontology</cite></a>. 30 Avril 2013, W3C Recommendation. URL: <a href="http://www.w3.org/TR/2013/REC-prov-o-20130430/">http://www.w3.org/TR/2013/REC-prov-o-20130430/</a>
+</dd><dt id="bib-PROV-OVERVIEW">[PROV-OVERVIEW]</dt><dd>Paul Groth; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/NOTE-prov-overview-20130430/"><cite>PROV-OVERVIEW: An Overview of the PROV Family of Documents</cite></a>. 30 Avril 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-overview-20130430/">http://www.w3.org/TR/2013/NOTE-prov-overview-20130430/</a>
+</dd><dt id="bib-PROV-SEM">[PROV-SEM]</dt><dd>James Cheney; ed. <a href="http://www.w3.org/TR/2013/NOTE-prov-sem-20130430"><cite>Semantics of the PROV Data Model</cite></a>. 30 Avril 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-sem-20130430">http://www.w3.org/TR/2013/NOTE-prov-sem-20130430</a>.
+</dd><dt id="bib-PROV-XML">[PROV-XML]</dt><dd>Hook Hua; Curt Tilmes; Stephan Zednik; eds. <a href="http://www.w3.org/TR/2013/NOTE-prov-xml-20130430/"><cite>PROV-XML: The PROV XML Schema</cite></a>. 30 Avril 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-xml-20130430/">http://www.w3.org/TR/2013/NOTE-prov-xml-20130430/</a>
+</dd><dt id="bib-PROVENANCE-XG">[PROVENANCE-XG]</dt><dd>Yolanda Gil, James Cheney, Paul Groth, Olaf Hartig, Simon Miles, Luc Moreau, Paulo Pinheiro da Silva <a href="http://www.w3.org/2005/Incubator/prov/XGR-prov/"><cite>Provenance XG Final Report</cite></a>. 8 December 2010. URL: <a href="http://www.w3.org/2005/Incubator/prov/XGR-prov/">http://www.w3.org/2005/Incubator/prov/XGR-prov/</a>
+</dd><dt id="bib-TURTLE">[TURTLE]</dt><dd>Eric Prud'hommeaux, Gavin Carothers <a href="http://www.w3.org/TR/2011/WD-turtle-20110809/"><cite>Turtle: Terse RDF Triple Language</cite></a>. 9 August 2011. W3C Working Draft. URL: <a href="http://www.w3.org/TR/2011/WD-turtle-20110809/">http://www.w3.org/TR/2011/WD-turtle-20110809/</a>
+</dd></dl></section></section></body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/primer/NOTE-prov-primer-20130430/extra.css	Fri Mar 29 17:27:10 2013 +0000
@@ -0,0 +1,75 @@
+
+/* --- EDITORIAL NOTES --- */
+.pending {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #BFEFFF;
+}
+
+.pending::before {
+    content:    "Pending Review";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+
+.resolved {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #9BCD9B;
+}
+
+.resolved::before {
+    content:    "Resolved";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+
+.inference {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 0px solid #f00;
+    background: #fff;
+}
+
+.inference::before {
+    content:    "Inference";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.constraint {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+.constraint::before {
+    content:    "Constraint";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #00f;
+    background: #fff;
+    padding:    3px 1em;
+}
Binary file primer/NOTE-prov-primer-20130430/images/activities.png has changed
Binary file primer/NOTE-prov-primer-20130430/images/agents.png has changed
Binary file primer/NOTE-prov-primer-20130430/images/derivation.png has changed
Binary file primer/NOTE-prov-primer-20130430/images/entities.png has changed
Binary file primer/NOTE-prov-primer-20130430/images/everything.png has changed
Binary file primer/NOTE-prov-primer-20130430/images/key-concepts.png has changed
Binary file primer/NOTE-prov-primer-20130430/images/plans.png has changed
Binary file primer/NOTE-prov-primer-20130430/images/roles.png has changed
Binary file primer/NOTE-prov-primer-20130430/images/specialization.png has changed
Binary file primer/NOTE-prov-primer-20130430/images/time.png has changed
Binary file primer/NOTE-prov-primer-20130430/images/use-generate.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/primer/NOTE-prov-primer-20130430/primer-prov-xml-examples.xml	Fri Mar 29 17:27:10 2013 +0000
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:ex="http://example.org/"
+	xmlns:dct="http://purl.org/dc/terms/"
+	xmlns:foaf="http://xmlns.com/foaf/0.1/">
+
+  <!-- Entities -->
+
+  <prov:entity prov:id="exn:article">
+	<dct:title>Crime rises in cities</dct:title>
+  </prov:entity>
+
+  <prov:entity prov:id="exg:dataset1"/>
+
+  <prov:entity prov:id="exc:regionList"/>
+
+  <prov:entity prov:id="exc:composition1"/>
+
+  <prov:entity prov:id="exc:chart1"/>
+
+  <!-- Activities -->
+
+  <prov:activity prov:id="exc:compile1"/>
+
+  <prov:activity prov:id="exc:compose1"/>
+
+  <prov:activity prov:id="exc:illustrate1"/>
+
+  <!-- Usage and Generation -->
+
+  <prov:used>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:entity prov:ref="ex:dataset1"/>
+  </prov:used>
+
+  <prov:used>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:entity prov:ref="exc:regionList"/>
+  </prov:used>
+
+  <prov:wasGeneratedBy>
+    <prov:entity prov:ref="exc:composition1"/>
+    <prov:activity prov:ref="exc:compose1"/>
+  </prov:wasGeneratedBy>
+
+  <prov:used>
+    <prov:activity prov:ref="exc:illustrate1"/>
+    <prov:entity prov:ref="exc:composition1"/>
+  </prov:used>
+
+  <prov:wasGeneratedBy>
+    <prov:entity prov:ref="exc:chart1"/>
+    <prov:activity prov:ref="exc:illustrate1"/>
+  </prov:wasGeneratedBy>
+
+  <!-- Agents and Responsibility -->
+
+  <prov:agent prov:id="exc:derek">
+    <prov:type>prov:Person</prov:type>
+    <foaf:givenName>Derek</foaf:givenName>
+    <foaf:mbox>mailto:[email protected]</foaf:mbox>
+  </prov:agent>
+
+  <prov:agent prov:id="exc:chartgen">
+    <prov:type>prov:Organization</prov:type>
+    <foaf:name>Chart Generators Inc</foaf:name>
+  </prov:agent>
+
+  <prov:wasAssociatedWith>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:agent prov:ref="exc:derek"/>
+  </prov:wasAssociatedWith>
+
+  <prov:wasAssociatedWith>
+    <prov:activity prov:ref="exc:illustrate1"/>
+    <prov:agent prov:ref="exc:derek"/>
+  </prov:wasAssociatedWith>
+
+  <prov:wasAttributedTo>
+    <prov:entity prov:ref="exc:chart1"/>
+    <prov:agent prov:ref="exc:derek"/>
+  </prov:wasAttributedTo>
+
+  <prov:actedOnBehalfOf>
+    <prov:delegate prov:ref="exc:derek"/>
+    <prov:responsible prov:ref="exc:chartgen"/>
+  </prov:actedOnBehalfOf>
+
+  <!-- Roles -->
+
+  <prov:used>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:entity prov:ref="exg:dataset1"/>
+    <prov:role>exc:dataToCompose</prov:role>
+  </prov:used>
+
+  <prov:used>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:entity prov:ref="exc:regionList"/>
+    <prov:role>exc:regionsToAggregateBy</prov:role>
+  </prov:used>
+
+  <prov:wasAssociatedWith>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:agent prov:ref="exc:derek"/>
+    <prov:role>exc:analyst</prov:role>
+  </prov:wasAssociatedWith>
+
+  <prov:wasGeneratedBy>
+    <prov:entity prov:ref="exc:composition1"/>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:role>exc:composedData</prov:role>
+  </prov:wasGeneratedBy>
+
+  <!-- Revision and Derivation -->
+
+  <entity prov:id="dataSet2"/>
+  <entity prov:id="chart2"/>
+
+  <prov:wasDerivedFrom>
+    <prov:generatedEntity prov:ref="exg:dataSet2"/>
+    <prov:usedEntity prov:ref="exg:dataset1"/>
+    <prov:type>prov:Revision</prov:type>
+  </prov:wasDerivedFrom>
+
+  <prov:wasDerivedFrom>
+    <prov:generatedEntity prov:ref="exc:chart2"/>
+    <prov:usedEntity prov:ref="exg:dataSet2"/>
+  </prov:wasDerivedFrom>
+
+  <prov:wasDerivedFrom>
+    <prov:generatedEntity prov:ref="exc:chart2"/>
+    <prov:usedEntity prov:ref="exc:chart1"/>
+    <prov:type>prov:Revision</prov:type>
+  </prov:wasDerivedFrom>
+
+  <!-- Plans -->
+
+  <prov:activity prov:id="exg:correct1"/>
+
+  <prov:entity prov:id="exg:instructions">
+    <prov:type>prov:Plan</prov:type>
+  </prov:entity>
+
+  <prov:agent prov:id="exg:edith">
+    <prov:type>prov:Person</prov:type>
+  </prov:agent>
+
+  <prov:wasAssociatedWith>
+    <prov:activity prov:ref="exg:correct1"/>
+    <prov:agent prov:ref="exg:edith"/>
+    <prov:plan prov:ref="exg:instructions"/>
+  </prov:wasAssociatedWith>
+
+  <prov:wasGeneratedBy>
+    <prov:entity prov:ref="exg:dataSet2"/>
+    <prov:activity prov:ref="exg:correct1"/>
+  </prov:wasGeneratedBy>
+
+  <!-- Time -->
+
+  <prov:wasGeneratedBy>
+    <prov:entity prov:ref="exc:chart1"/>
+    <prov:time>2012-03-02T10:30:00</prov:time>
+  </prov:wasGeneratedBy>
+
+  <prov:wasGeneratedBy>
+    <prov:entity prov:ref="exc:chart2"/>
+    <prov:time>2012-04-01T15:21:00</prov:time>
+  </prov:wasGeneratedBy>
+
+  <prov:wasStartedBy>
+    <prov:activity prov:ref="exg:correct1"/>
+    <prov:time>2012-03-31T09:21:00</prov:time>
+  </prov:wasStartedBy>
+
+  <prov:wasEndedBy>
+    <prov:activity prov:ref="exg:correct1"/>
+    <prov:time>2012-04-01T15:21:00</prov:time>
+  </prov:wasEndedBy>
+	
+  <!-- alternatively, you can put the activity start and end time in the activity declaration -->
+
+  <prov:activity prov:id="exg:correct1">
+    <prov:startTime>2012-03-31T09:21:00</prov:startTime>
+    <prov:endTime>2012-04-01T15:21:00</prov:endTime>
+  </prov:activity>
+
+  <!-- Alternate Entities and Specialization -->
+
+  <prov:entity prov:id="ex:quoteInBlogEntry-20130326"/>
+
+  <prov:wasDerivedFrom>
+    <prov:generatedEntity prov:ref="ex:quoteInBlogEntry-20130326"/>
+    <prov:usedEntity prov:ref="exn:article"/>
+    <prov:type>prov:Quotation</prov:type>
+  </prov:wasDerivedFrom>
+
+  <prov:entity prov:id="exn:articleV1"/>
+
+  <prov:specializationOf>
+    <prov:specificEntity prov:ref="exn:articleV1"/>
+    <prov:generalEntity prov:ref="exn:article"/>
+  </prov:specializationOf>
+
+  <prov:entity prov:id="exn:articleV2"/>
+
+  <prov:specializationOf>
+    <prov:specificEntity prov:ref="exn:articleV2"/>
+    <prov:generalEntity prov:ref="exn:article"/>
+  </prov:specializationOf>
+
+  <prov:alternateOf>
+    <prov:alternate1 prov:ref="exn:articleV1"/>
+    <prov:alternate2 prov:ref="exn:articleV2"/>
+  </prov:alternateOf>
+
+</prov:document>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/primer/NOTE-prov-primer-20130430/primer-provn-examples.txt	Fri Mar 29 17:27:10 2013 +0000
@@ -0,0 +1,84 @@
+prefix prov <http://www.w3.org/ns/prov#>
+prefix ex <http://www.example.org#>
+prefix dcterms <http://purl.org/dc/terms/>
+prefix foaf <http://xmlns.com/foaf/0.1/>
+
+// The examples below are taken from, and follow the same order
+// as in, the W3C PROV Primer, http://www.w3.org/TR/prov-primer/
+
+// Entities
+
+entity(exn:article, [dcterms:title="Crime rises in cities"])
+entity(exg:dataset1)
+entity(exc:regionList)
+entity(exc:composition1)
+entity(exc:chart1)
+    
+// Activities
+
+activity(exc:compile1)
+activity(exc:compose1)
+activity(exc:illustrate1)
+    
+// Usage and Generation
+
+used(exc:compose1, exg:dataset1, -)
+used(exc:compose1, exc:regionList, -)
+wasGeneratedBy(exc:composition1, exc:compose1, -)
+used(exc:illustrate1, exc:composition1, -)
+wasGeneratedBy(exc:chart1, exc:illustrate1, -)
+    
+// Agents and Responsibility
+
+wasAssociatedWith(exc:compose1, exc:derek, -)
+wasAssociatedWith(exc:illustrate1, exc:derek, -)
+agent(exc:derek,
+      [prov:type='prov:Person', foaf:givenName="Derek", 
+       foaf:mbox="<mailto:[email protected]>"])
+
+agent(exc:chartgen,
+      [prov:type='prov:Organization',
+       foaf:name="Chart Generators Inc"])
+actedOnBehalfOf(exc:derek, exc:chartgen)
+
+wasAttributedTo(exc:chart1, exc:derek)
+    
+// Roles
+
+used(exc:compose1, exg:dataset1, -, [prov:role='exc:dataToCompose'])
+used(exc:compose1, exc:regionList, -, [prov:role='exc:regionsToAggregateBy'])
+wasAssociatedWith(exc:compose1, exc:derek, -, [prov:role='exc:analyst'])
+wasGeneratedBy(exc:composition1, exc:compose1, -, [prov:role='exc:composedData'])
+
+// Derivation and Revision
+
+entity(exg:dataSet2)
+wasDerivedFrom(exg:dataSet2, exg:dataset1, [prov:type='prov:Revision'])
+wasDerivedFrom(exc:chart2, exg:dataSet2)
+entity(exc:chart2)
+wasDerivedFrom(exc:chart2, exc:chart1, [prov:type='prov:Revision'])
+    
+// Plans
+
+activity(exg:correct1)
+agent(exg:edith, [prov:type='prov:Person'])
+entity(exg:instructions)
+wasAssociatedWith(exg:correct1, exg:edith, exg:instructions)
+wasGeneratedBy(exg:dataSet2, exg:correct1, -)
+    
+// Time
+
+wasGeneratedBy(exc:chart1, exc:compile1,  2012-03-02T10:30:00)
+wasGeneratedBy(exc:chart2, exc:compile2, 2012-04-01T15:21:00)
+activity(exg:correct1, 2012-03-31T09:21:00, 2012-04-01T15:21:00)
+    
+// Alternate Entities and Specialization
+
+entity(ex:quoteInBlogEntry-20130326)
+wasDerivedFrom(ex:quoteInBlogEntry-20130326, exn:article, [prov:type='prov:Quotation'])
+    
+entity(exn:articleV1)
+specializationOf(exn:articleV1, exn:article)    
+specializationOf(exn:articleV2, exn:article)
+alternateOf(exn:articleV2, exn:articleV1)
+    
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/primer/NOTE-prov-primer-20130430/primer-turtle-examples.txt	Fri Mar 29 17:27:10 2013 +0000
@@ -0,0 +1,116 @@
[email protected] rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
[email protected] prov: <http://www.w3.org/ns/prov#> .
[email protected] exn: <http://www.example.org#> .
[email protected] exg: <http://www.example.org#> .
[email protected] exc: <http://www.example.org#> .
[email protected] exb: <http://www.example.org#> .
[email protected] dcterms: <http://purl.org/dc/terms/> .
[email protected] foaf: <http://xmlns.com/foaf/0.1/> .
+
+# The examples below are taken from, and follow the same order
+# as in the W3C PROV Primer, http://www.w3.org/TR/prov-primer/
+
+# Entities
+
+exn:article      a prov:Entity ;
+                 dcterms:title "Crime rises in cities" .
+exg:dataset1     a prov:Entity .
+exc:regionList   a prov:Entity .
+exc:composition1 a prov:Entity .
+exc:chart1       a prov:Entity .
+
+# Activities
+
+exc:compile1    a prov:Activity .
+exc:compose1    a prov:Activity .
+exc:illustrate1 a prov:Activity .
+
+# Usage and Generation
+
+exc:compose1     prov:used           exg:dataset1 ;
+                 prov:used           exc:regionList .
+exc:composition1 prov:wasGeneratedBy exc:compose1 .
+exc:illustrate1  prov:used           exc:composition1 .
+exc:chart1       prov:wasGeneratedBy exc:illustrate1 .
+
+# Agents and Responsibility
+
+exc:compose1    prov:wasAssociatedWith exc:derek .
+exc:illustrate1 prov:wasAssociatedWith exc:derek .
+exc:derek a prov:Agent ;
+          a prov:Person ;
+          foaf:givenName "Derek"^^xsd:string ;
+          foaf:mbox      <mailto:[email protected]> .
+exc:derek prov:actedOnBehalfOf exc:chartgen .
+exc:chartgen a prov:Agent ;
+             a prov:Organization ;
+             foaf:name "Chart Generators Inc" .
+exc:chart1 prov:wasAttributedTo exc:derek .
+
+# Roles
+    
+exc:dataToCompose        a prov:Role .
+exc:regionsToAggregateBy a prov:Role .
+exc:composedData         a prov:Role .
+exc:analyst              a prov:Role .
+exc:compose1 prov:qualifiedUsage [
+               a prov:Usage ;
+               prov:entity  exg:dataset1 ;
+               prov:hadRole exc:dataToCompose 
+] .    
+exc:compose1 prov:qualifiedUsage [
+               a prov:Usage ;
+               prov:entity  exc:regionList ;
+               prov:hadRole exc:regionsToAggregateBy
+] .
+exc:compose1 prov:qualifiedAssociation [
+               a prov:Association ;
+               prov:agent    exc:derek ;
+               prov:hadRole  exc:analyst
+] .
+exc:composition1 prov:qualifiedGeneration [
+                   a prov:Generation ;
+                   prov:activity  exc:compose1 ;
+                   prov:hadRole   exc:composedData
+] .
+
+# Revision and Derivation
+
+exg:dataSet2 a prov:Entity ;
+             prov:wasRevisionOf exg:dataset1 .
+exc:chart2   a prov:Entity ;
+             prov:wasDerivedFrom exg:dataSet2 .
+exc:chart2   a prov:Entity ;
+             prov:wasRevisionOf exc:chart1 .
+    
+# Plans
+
+exg:correct1    a prov:Activity .
+exg:edith       a prov:Agent, prov:Person .
+exg:instructions a prov:Plan .
+    
+exg:correct1 prov:qualifiedAssociation [
+               a Association ;
+               prov:agent   exg:edith ;
+               prov:hadPlan exg:instructions
+] .
+exg:dataSet2 prov:wasGeneratedBy exg:correct1 .
+    
+# Time
+
+exc:chart1 prov:generatedAtTime "2012-03-02T10:30:00"^^xsd:dateTime .
+exc:chart2 prov:generatedAtTime "2012-04-01T15:21:00"^^xsd:dateTime .
+    
+exg:correct1 prov:startedAtTime "2012-03-31T09:21:00"^^xsd:dateTime ;
+             prov:endedAtTime   "2012-04-01T15:21:00"^^xsd:dateTime .
+    
+# Alternate Entities and Specialization
+
+ex:quoteInBlogEntry-20130326 a prov:Entity ;
+                             prov:wasQuotedFrom exn:article .
+
+exn:articleV1 a prov:Entity ;
+              prov:specializationOf exn:article .
+    
+exn:articleV2 prov:specializationOf exn:article .
+exn:articleV2 prov:alternateOf      exn:articleV1 .
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/primer/NOTE-prov-primer-20130430/toggles.js	Fri Mar 29 17:27:10 2013 +0000
@@ -0,0 +1,52 @@
+/*
+	Written by Jonathan Snook, http://www.snook.ca/jonathan
+	Add-ons by Robert Nyman, http://www.robertnyman.com
+	Author says "The credit comment is all it takes, no license. Go crazy with it!:-)"
+	From http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
+*/
+
+function getElementsByClassName(oElm, strTagName, oClassNames){
+	var arrElements = (! (! (strTagName == "*") || ! (oElm.all)))? oElm.all : oElm.getElementsByTagName(strTagName);
+	var arrReturnElements = new Array();
+	var arrRegExpClassNames = new Array();
+	if(typeof oClassNames == "object"){
+		for(var i=0; !(i>=oClassNames.length); i++){ /*>*/
+			arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames[i].replace(/\-/g, "\-") + "(\s|$)"));
+		}
+	}
+	else{
+		arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames.replace(/\-/g, "\-") + "(\s|$)"));
+	}
+	var oElement;
+	var bMatchesAll;
+	for(var j=0; !(j>=arrElements.length); j++){ /*>*/
+		oElement = arrElements[j];
+		bMatchesAll = true;
+		for(var k=0; !(k>=arrRegExpClassNames.length); k++){ /*>*/
+			if(!arrRegExpClassNames[k].test(oElement.className)){
+				bMatchesAll = false;
+				break;
+			}
+		}
+		if(bMatchesAll){
+			arrReturnElements.push(oElement);
+		}
+	}
+	return (arrReturnElements)
+}
+
+function set_display_by_class(el, cls, newValue) {
+   var e = getElementsByClassName(document, el, cls);
+   if (e != null) {
+      for (var i=0; !(i>=e.length); i++) {
+        e[i].style.display = newValue;
+      }
+   }
+}
+
+function set_display_by_id(id, newValue) {
+   var e = document.getElementById(id);
+   if (e != null) {
+     e.style.display = newValue;
+   }
+}
\ No newline at end of file
--- a/primer/Primer-potential.html	Fri Mar 29 16:19:03 2013 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2207 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head> 
-  <title>PROV Model Primer</title>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-  <link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-primer"/>
-  <!--
-    === 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,
-  -->
-  <!-- PM -->
-  <style type="text/css">
-   .note { font-size:small; margin-left:50px }
-  </style>
-
-  <script src="toggles.js" type="text/javascript"></script> 
-  <script src="https://www.w3.org/Tools/respec/respec-w3c-common" class="remove" async></script>
-
-  <script src="../model/provbib.js" class="remove"></script>
-  <script class="remove">
-   var addExtraReferences = function() {
-    for (var k in extraReferences)
-     berjon.biblio[k] = extraReferences[k];
-   };
-   var extraReferences = {
-    "TURTLE":
-            "Eric Prud'hommeaux, Gavin Carothers " +
-            "<a href=\"http://www.w3.org/TR/2011/WD-turtle-20110809/\"><cite>Turtle: Terse RDF Triple Language</cite></a>. " +
-            "9 August 2011. W3C Working Draft. " +
-            "URL: <a href=\"http://www.w3.org/TR/2011/WD-turtle-20110809/\">http://www.w3.org/TR/2011/WD-turtle-20110809/</a>",
-    "PROVENANCE-XG":
-            "Yolanda Gil, James Cheney, Paul Groth, Olaf Hartig, Simon Miles, Luc Moreau, Paulo Pinheiro da Silva " +
-            "<a href=\"http://www.w3.org/2005/Incubator/prov/XGR-prov/\"><cite>Provenance XG Final Report</cite></a>. " +
-            "8 December 2010. " +
-            "URL: <a href=\"http://www.w3.org/2005/Incubator/prov/XGR-prov/\">http://www.w3.org/2005/Incubator/prov/XGR-prov/</a>"
-   };
-
-   var respecConfig = {
-    // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
-    //specStatus:           "NOTE",
-    specStatus: "ED",
-    // the specification's short name, as in http://www.w3.org/TR/short-name/
-    shortName: "prov-primer",
-    // if your specification has a subtitle that goes below the main
-    // formal title, define it here
-    subtitle: "",
-    // if you wish the publication date to be other than today, set this
-    publishDate: "2013-03-12",
-    // if the specification's copyright date is a range of years, specify
-    // the start date here:
-    // copyrightStart: "2005"
-
-    // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
-    // and its maturity status
-    previousPublishDate: "2012-12-11",
-    previousMaturity: "WD-NOTE",
-    // if there a publicly available Editor's Draft, this is the link
-    edDraftURI: "http://dvcs.w3.org/hg/prov/raw-file/default/primer/Primer.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"],
-    // editors, add as many as you like
-    // only "name" is required
-    editors: [
-     {name: "Yolanda Gil", url: "http://www.isi.edu/~gil/",
-      company: "Information Sciences Institute, University of Southern California, US"},
-     {name: "Simon Miles", url: "http://www.inf.kcl.ac.uk/staff/simonm",
-      company: "King's College London, UK"},
-    ],
-    // 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: "<a href=\"http://semanticweb.org/wiki/Khalid_Belhajjame\">Khalid Belhajjame</a>",
-      company: "University of Manchester"},
-     {name: "Helena Deus",
-      company: "Digital Enterprise Research Institute (DERI), NUI Galway"},
-     {name: "<a href=\"http://www.oeg-upm.net/index.php/en/phdstudents/28-dgarijo\">Daniel Garijo</a>",
-      company: "Ontology Engineering Group, Universidad Politécnica de Madrid, Spain"},
-     {name: "Graham Klyne",
-      company: "University of Oxford"},
-     {name: "<a href=\"http://www.cs.ncl.ac.uk/people/Paolo.Missier\">Paolo Missier</a>",
-      company: "Newcastle University"},
-     {name: "<a href=\"http://soiland-reyes.com/stian/\">Stian Soiland-Reyes</a>",
-      company: "University of Manchester"},
-     {name: "<a href=\"http://tw.rpi.edu/web/person/StephanZednik\">Stephan Zednik</a>",
-      company: "Rensselaer Polytechnic Institute"},
-    ],
-    // 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: [addProvReferences, addExtraReferences]
-   };
-  </script>
- </head>
- <body>
-  <section id="abstract">
-   <p>
-    This document provides an intuitive introduction and guide to the
-    PROV specification for provenance on the Web. PROV is a core data model for
-    provenance for building representations of the entities, people and
-    processes involved in producing a piece of data or thing in the world.
-    This primer explains the fundamental PROV concepts and provides examples 
-    of its use.  The primer is intended as a starting point for those wishing
-    to create or use PROV data.
-   </p>
-   <p>
-    The <a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/">PROV Document Overview</a> describes the overall state of PROV, and should be read before other PROV documents.
-   </p>
-
-   <!-- p>
-    This is a document for internal discussion, which will ultimately
-    evolve in the first Public Working Draft of the Primer.</p -->
-  </section> 
-
-  <section id="sotd">
-   <h4>PROV Family of Documents</h4>
-   This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
-   interchange of provenance information in heterogeneous environments such as the Web.  These documents are listed below. Please consult the [[PROV-OVERVIEW]] for a guide to reading these documents. 
-   <ul>
-    <li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [[PROV-OVERVIEW]];</li>
-    <li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model (this document);</li>
-    <li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> (Proposed Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [[PROV-O]];</li>
-    <li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> (Proposed Recommendation), the PROV data model for provenance [[PROV-DM]];</li>
-    <li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> (Proposed Recommendation), a notation for provenance aimed at human consumption [[PROV-N]];</li>
-    <li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> (Proposed Recommendation), a set of constraints applying to the PROV data model [[PROV-CONSTRAINTS]];</li>
-    <li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note),  an XML schema for the PROV data model [[PROV-XML]];</li>
-    <li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [[PROV-AQ]]; </li>
-    <li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [[PROV-DICTIONARY]];</li>
-    <li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [[PROV-DC]];</li>
-    <li> <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/">PROV-SEM</a> (To be published as Note), a declarative specification in terms of first-order logic of the PROV data model [[PROV-SEM]];</li>
-    <li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles [[PROV-LINKS]].</li>
-   </ul>
-  </section>
-
-  <section> 
-   <h2>Introduction</h2>
-   <p>
-    This primer document provides an accessible introduction to the PROV 
-    specification for provenance on the Web.  
-    The <i>provenance</i> of digital objects represents their origins.  PROV is a 
-    proposed specification to express provenance records, 
-    which contain <i>descriptions</i> of the entities 
-    and activities involved in producing and delivering or otherwise influencing a 
-    given object.
-    For the remainder of this document, we use the term 'provenance' to refer also
-    to records of provenance, except where the distinction is important for clarity.
-    By knowing the provenance of an object, we can perceive how to
-    use it.  Provenance can be used for many purposes, such as 
-    understanding how data was collected so it can be meaningfully used, determining 
-    ownership and rights over an object, making judgments about information to 
-    determine whether to trust it, verifying that the process and steps used to obtain a 
-    result complies with given requirements, and reproducing how something was generated.
-   </p>
-
-   <p>
-    As a specification for provenance, PROV accommodates all those different uses 
-    of provenance.  Different people may have different perspectives on provenance, 
-    and as a result different types of information might be captured in provenance records.
-   <ul>
-    <li>
-     One perspective might focus on <i>agent-centered provenance</i>, that is, what entities 
-     were involved in generating or manipulating the information in question.  For example, 
-     in the provenance of a picture in a news article we might capture the photographer who 
-     took it, the person that edited it, and the newspaper that published it.
-    </li>
-    <li>
-     A second perspective 
-     might focus on <i>object-centered provenance</i>, by tracing the origins of portions of a 
-     document to other documents. An example is having a web page that was assembled from content
-     from a news article, quotes of interviews with experts, and a chart that plots data from a 
-     government agency.
-    </li>
-    <li>A third perspective one might take is on <i>process-centered provenance</i>, 
-     capturing the actions and steps taken to generate the information in question.  For example, a 
-     chart may have been generated by invoking a service to retrieve data from a database, then 
-     extracting certain statistics from the data using some statistics package, and finally 
-     processing these results with a graphing tool.
-    </li>
-   </ul>
-  </p>
-
-  <p>
-   Provenance records are metadata.  There are other kinds of metadata that is 
-   not provenance.  For example, the size of an image is metadata of 
-   that image but it is not provenance.
-   For general background on provenance, a 
-   comprehensive overview of requirements, use cases, prior research, and proposed 
-   vocabularies for provenance are available from the 
-   Final Report of the W3C Provenance Incubator Group [[PROVENANCE-XG]].
-   That document contains three general scenarios 
-   that may help identify the provenance aspects of planned applications and 
-   help plan the design of a provenance system.
-  </p>
-
-  <p>
-   This primer document aims to ease the adoption of the PROV specifications by providing:
-  </p>
-  <ul>
-   <li>An intuitive explanation of how PROV models provenance. A detailed description of
-    all the concepts and relations in the PROV Data Model is provided in [[PROV-DM]].</li>
-   <li>A simple self-contained example that illustrates how to produce and use PROV assertions, highlighting how 
-    to combine PROV with other popular vocabularies such as FOAF and Dublin Core.  A description
-    of the formal PROV ontology (PROV-O) can be found in [[PROV-O]].</li>
-   <li>Example snippets using a notation of PROV designed for human
-    consumption (PROV-N).  Details of this notation can be found at [[PROV-N]].</li>
-  </ul>
-
-  <p>There are additional reference documents for PROV that are not covered in this 
-   primer, including the PROV Access and Query aspects of the specification [[PROV-AQ]], 
-   the constraints on the PROV data model [[PROV-CONSTRAINTS]], 
-   a formal semantics of the PROV data model [[PROV-SEM]], and the PROV XML notation 
-   [[PROV-XML]]. </p>
-
- </section>
-
- <section>
-  <h2>Intuitive overview of PROV</h2>
-
-  <p>
-   This section provides an intuitive explanation of the main concepts in PROV. 
-   As with the rest of this document, it should be treated as a starting point for
-   understanding the model. The PROV data model document [[PROV-DM]]
-   provides precise definitions and constraints [[PROV-CONSTRAINTS]] to be used.
-  </p>
-  <p>
-   The following diagram provides a high level overview of the structure of PROV records,
-   limited to some key PROV concepts discussed in this document.
-   Note that because PROV is meant to describe how things were created or delivered, 
-   PROV relations are named so they can be used in assertions about the past.  
-  </p>
-
-  <div style="text-align: center;">
-   <img src="images/key-concepts.png" alt="PROV key concepts overview"/>
-  </div>
-
-  <section>
-   <h3>Entities</h3>
-
-   <p>
-    In PROV, physical, digital, conceptual, or other kinds of thing are called
-    <i>entities</i>.
-    Examples of such entities are a web page, a chart, and a spellchecker.
-    Provenance records can describe the provenance of entities, and
-    an entity’s provenance may refer to many other entities.  For example, a document D is
-    an entity whose provenance refers to other entities such as a chart inserted into D,
-    and the dataset that was used to create that chart.
-    Entities may be described as having different attributes and
-    be described from different perspectives.  For example,
-    document D as stored in my file system, the second version of document D, 
-    and D as an evolving document,
-    are three distinct entities for which we may describe provenance.
-   </p>
-  </section>
-
-  <section>
-   <h3>Activities</h3>
-
-   <p>
-    <i>Activities</i> are how entities come into 
-    existence and how their attributes change to become new entities, 
-    often making use of previously existing entities to achieve this. 
-    They are
-    dynamic aspects of the world, such as actions, processes, etc.
-    For example, if the second version of document D was generated 
-    by a translation from the first version of the document in another language,
-    then this translation is an activity.
-   </p>
-  </section>
-
-  <section>
-   <h3>Usage and Generation</h3>
-   <p>
-    Activities <i>generate</i> new entities.
-    For example, writing a document brings the document into existence, while
-    revising the document brings a new version into existence.
-    Activities also make <i>use</i> of entities. For example, revising a document
-    to fix spelling mistakes uses the original version of the document as well
-    as a list of corrections.
-    Generation does not always occur at the end of an activity, and an activity may generate entities
-    part-way through.
-    Likewise, usage does not always occur at the beginning of an activity.
-   </p>
-  </section>
-
-  <section>
-   <h3>Agents and Responsibility</h3>
-   <p>
-    An <i>agent</i> takes a role in an activity such 
-    that the agent can be assigned some degree of <i>responsibility</i> for the activity taking 
-    place.
-    An agent can be a person, a piece of software, an inanimate object, an organization, or
-    other entities that may be ascribed responsibility.
-    When an agent has some responsibility for an activity, PROV says the agent was
-    <i>associated</i> with the activity, where several agents may be associated with
-    an activity and vice-versa.
-    Consider a chart displaying some statistics 
-    regarding crime rates over time in a linear regression.  To represent the 
-    provenance of that chart, we could state that the person who created the 
-    chart was an agent involved in its creation, and that the software used to 
-    create the chart was also an agent involved in that activity.
-    An agent may be <i>acting on behalf</i> of others, e.g. an employee on behalf of their
-    organization, and we can express such chains of responsibility in the provenance.
-   </p>
-   <p>
-    We can also describe that an entity is <i>attributed</i> to an agent to express
-    the agent's responsibility for that entity, possibly along with other agents.
-    This description can be understood as a shorthand
-    for saying that the agent was responsible for the activity which generated
-    the entity.
-   </p>
-   <p>
-    One may want to describe the provenance of an agent.  For example, an organization 
-    responsible for the creation of a report may evolve over time as the report is written as
-    some members leave and others join.  To make provenance assertions about an agent in PROV,
-    the agent must be declared explicitly both as an agent and as an entity.
-   </p>
-
-  </section>
-
-  <section>
-   <h3>Roles</h3>
-   <p>
-    A <i>role</i> is a description of the function or the part that an entity 
-    played in an activity.  Roles specify
-    the relationship between an entity and an activity, i.e. how
-    the activity used or generated the entity.  Roles also specify how agents are
-    involved in an activity, qualifying their participation in the activity or
-    specifying for what aspect of it each agent was responsible.
-    For example, an agent may play the role of "editor" in an activity that uses
-    one entity in the role of "document to be edited" and another in the role of
-    "addition to be made to the document", to generate a further entity in the role of "edited document".
-    Roles are application specific, so PROV does not define any particular roles.
-   </p>
-  </section>
-
-  <section>
-   <h3>Derivation and Revision</h3>
-   <p>
-    When one entity's existence, content, characteristics and so on are
-    at least partly due to another entity, then we say that the former was
-    <i>derived</i> from the latter. For example, one document may contain
-    material copied from another, 
-    and a chart was derived from the data that it illustrates.
-   </p>
-   <p>
-    PROV allows some common, specialized kinds of derivation to be described.
-    For example, a given entity, such as a document, may go through multiple <i>revisions</i> 
-    over time. Between revisions,
-    one or more attributes of the entity may change. 
-    In PROV, the result of each revision is a new entity.
-    PROV allows one to relate those entities by making a description that 
-    one was a revision of another.
-    Another kind of derivation is to say that one entity, a quotation, <i>was quoted from</i>
-    another entity, commonly a document.
-   </p>
-  </section>
-
-  <section>
-   <h3>Plans</h3>
-   <p>
-    Activities may follow pre-defined procedures, such as recipes, tutorials, instructions, or workflows.
-    PROV refers to these, in general, as <i>plans</i>, and allows the description that a plan was followed, by agents,
-    in executing an activity.
-   </p>
-  </section>
-
-  <section>
-   <h3>Time</h3>
-   <p>
-    Time is often a critical aspect of provenance.
-    PROV allows the timing of significant events to be described, including
-    when an entity was generated or used, or when an activity started
-    and finished. For example, the model can be used to describe facts such as when a new
-    version of a document was created (generation time), or when a document was
-    edited (start and end of the editing activity).
-   </p>
-  </section>
-
-  <section>
-   <h3>Alternate Entities and Specialization</h3>
-   <p>
-    There is often more than one way to describe something in a record of
-    provenance. Each perspective will be referred to by a separately identified
-    entity, and PROV provides a mechanism for linking the different descriptions of
-    the same thing together through the mechanism of <i>specialization</i>. One
-    entity is a specialization of another entity if it shares the same fixed attributes,
-    with the possible addition of further fixed attributes. This concept is best
-    illustrated through a few use cases, as below.
-   </p>
-   <p>
-    Entities can be mutable things. For example, a webpage is a single
-    entity, W, despite being edited over time. Each version of the webpage is
-    also an entity, W1, W2... To connect an individual version to the webpage
-    in general, we say that the former is a specialization of the latter: W1 is a
-    specialization of W, W2 is a specialization of W, and so on.
-   </p>
-   <p>
-    Two individuals may create provenance referring to the same thing from different
-    perspectives. For example, the author of an article may attribute that article
-    to themselves using PROV while, independently, a reader might quote a fact from that
-    article elsewhere and document this in PROV. If the author later changes the fact,
-    then from the reader's perspective there are now two versions of the article, and
-    they had quoted from the version before the change. From the author's perspective,
-    there is a single article, attributed to themselves. If either of them, or a
-    third party, were to connect the two PROV records, they would say that the
-    article as referred to by the reader is a specialization of the same article
-    as referred to by the author.
-   </p>
-   <p>
-    The above illustrates where we may want to connect entities by
-    saying that they refer to the same thing, but at different levels of specialization.
-    PROV also allows us to more generally draw a connection between two descriptions
-    of the same thing, even if not at different levels of specialization, describing the
-    entities as <i>alternates</i> of each other. For example,
-    two versions of the webpage above, W1 and W2, are alternates of each other because
-    they describe the same webpage.
-   </p>
-   <p>
-    As another example, if a file is copied from one directory to another to create a backup,
-    we may say that the copies are alternate versions of the same, location-independent, file.
-    Specifically, we may say that the file in the first directory, entity F1, is an alternate of the 
-    file in the second directory, entity F2. Note that it is
-    the context (location) rather than content of the file that differs between the entities
-    in this case.
-   </p>
-  </section>   
-  <section>
-   <h3>Provenance of Provenance</h3>
-   <p>
-    It is often useful to state the provenance of a provenance record.  To enable
-    this, PROV allows the grouping of provenance assertions as a <i>bundle</i>.  A bundle 
-    is a type of entity, and therefore its provenance can be asserted in turn.
-   </p>
-  </section>
-  <section>
-   <h3>Collections of Entities</h3>
-   <p>
-    When several entities share the same provenance, it is useful to describe them 
-    as a <i>collection</i> and state the provenance for the collection.  A collection in 
-    PROV is a type of entity that has other entities as members.
-   </p>
-  </section>
-
- </section>
-
- <section>
-  <h2>Examples of Key Concepts in PROV</h2>
-
-  <p>
-   In the following sections, we show how PROV can be used to model 
-   provenance in a specific example scenario. Samples of PROV data are given.
-   These samples use the namespace prefixes <b>prov</b>, denoting 
-   terms from the PROV ontology, and <b>ex</b>, denoting terms specific to the example.
-   We illustrate in these examples how PROV can be used in combination with other
-   languages, such as FOAF and Dublin Core (with namespace prefix <b>foaf</b> and 
-   <b>dcterms</b> respectively).
-  </p>
-  <p>
-   The samples can be displayed in one or more of the following formats.
-  </p>
-  <ul>
-   <li>[[PROV-O]] RDF triples, expressed using the [[TURTLE]] notation.</li>
-   <li>[[PROV-N]] expressions.</li>
-   <li>[[PROV-XML]] fragments.</li>
-  </ul>
-  <p>
-   Select the formats to display using the buttons below. Note that if all formats
-   are hidden, the worked examples may not make sense!
-  </p>
-  <form action="#"><p> 
-    <input id="hide-turtle-examples" type="button" value="Hide Turtle Examples" 
-           onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');" />
-    <input id="show-turtle-examples" type="button" value="Show Turtle Examples"
-           style="display:none"
-           onclick="
-    set_display_by_class('pre', 'turtle example', '');
-    set_display_by_class('div', 'turtle example', '');
-    set_display_by_id('hide-turtle-examples', '');
-    set_display_by_id('show-turtle-examples', 'none');" />
-    <input id="hide-provn-examples" type="button" value="Hide PROV-N Examples"
-           onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');" />
-    <input id="show-provn-examples" type="button" value="Show PROV-N Examples" 
-           style="display:none"
-           onclick="
-    set_display_by_class('pre', 'provn example', '');
-    set_display_by_class('div', 'provn example', '');
-    set_display_by_id('hide-provn-examples', '');
-    set_display_by_id('show-provn-examples', 'none');" />
-    <input id="hide-provxml-examples" type="button" value="Hide XML Examples"
-           onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');" />
-    <input id="show-provxml-examples" type="button" value="Show XML Examples" 
-           style="display:none"
-           onclick="
-    set_display_by_class('pre', 'provxml example', '');
-    set_display_by_class('div', 'provxml example', '');
-    set_display_by_id('hide-provxml-examples', '');
-    set_display_by_id('show-provxml-examples', 'none');" />
-   </p> 
-  </form>
-
-
-  <section>
-   <h3>Entities</h3>
-
-   <p>
-    An online newspaper publishes an article with a chart about crime statistics making using of data (GovData) provided through a government portal. 
-    The article includes a chart based on the data, with data values composed (aggregated) by
-    geographical regions.
-   </p>
-   <p>
-    A blogger, Betty, looking at the article, spots what she thinks to be an error in the chart.
-    Betty retrieves a record of the provenance of the article, describing how it was created.
-   </p>
-   <p>Betty finds the following descriptions of entities in the provenance.</p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:article     a prov:Entity ;
-                 dcterms:title "Crime rises in cities" .
-  ex:dataset1    a prov:Entity .
-  ex:regionList  a prov:Entity .
-  ex:composition a prov:Entity .
-  ex:chart1      a prov:Entity .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  entity(ex:article, [dcterms:title="Crime rises in cities"])
-  entity(ex:dataSet1)
-  entity(ex:regionList)
-  entity(ex:composition)
-  entity(ex:chart1)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:entity prov:id="ex:article"&gt;
-      &lt;dct:title&gt;Crime rises in cities&lt;/dct:title&gt;
-    &lt;/prov:entity&gt;
-    &lt;prov:entity prov:id="ex:dataSet1"/&gt;
-    &lt;prov:entity prov:id="ex:regionList"/&gt;
-    &lt;prov:entity prov:id="ex:composition"/&gt;
-    &lt;prov:entity prov:id="ex:chart1"/&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    These statements, in order, refer to the article (<code>ex:article</code>),
-    an original data set (<code>ex:dataSet1</code>),
-    a list of regions (<code>ex:regionList</code>), 
-    data aggregated by region (<code>ex:composition</code>), 
-    and a chart (<code>ex:chart1</code>), and state that each is an entity.
-    Any entity may have attributes, such as the title
-    of the article, expressed using <code>dcterms:title</code> above.
-   </p>
-   <p>
-    PROV data is commonly visualized for human consumption using particular conventions,
-    which we will introduce over the following sections. To start with, entities
-    are denoted using ovals, as shown below.
-   </p>
-   <img src="images/entities.png" alt="Visualization of the example entities"/>
-  </section>
-
-  <section>
-   <h3>Activities</h3>
-
-   <p>
-    Further, the provenance describes that there was
-    an activity (<code>ex:compile</code>) denoting the compilation of the
-    chart from the data set.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:compile a prov:Activity .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  activity(ex:compile)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:activity prov:id="ex:compile"/&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    The provenance also includes reference to the more specific steps involved in this compilation,
-    which are first composing the data by region (<code>ex:compose</code>) and then generating the
-    chart graphic (<code>ex:illustrate</code>).
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:compose    a prov:Activity .
-  ex:illustrate a prov:Activity .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  activity(ex:compose)
-  activity(ex:illustrate)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:activity prov:id="ex:compose"/&gt;
-    &lt;prov:activity prov:id="ex:illustrate"/&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    In visualizations of the PROV data, activities are depicted as rectangles, as below.
-   </p>
-   <img src="images/activities.png" alt="Visualization of the example activities"/>
-  </section>
-
-  <section>
-   <h3>Usage and Generation</h3>
-
-   <p>
-    Concluding the basic description of what occurred, the provenance 
-    describes the key relations among the above
-    entities and activities, i.e. the usage of an entity by an activity,
-    or the generation of an entity by an activity.
-   </p>
-   <p>
-    For example, the descriptions below state that the composition activity
-    (<code>ex:compose</code>) used the original data set, that it used the list of
-    regions, and that the composed data was generated by this activity.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:compose      prov:used           ex:dataSet1 ;
-                  prov:used           ex:regionList .
-  ex:composition  prov:wasGeneratedBy ex:compose .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  used(ex:compose, ex:dataSet1, -)
-  used(ex:compose, ex:regionList, -)
-  wasGeneratedBy(ex:composition, ex:compose, -)
-    </pre>
-    <p>Note that the - argument in the examples above denote unspecified optional
-     information. See the [[PROV-N]] specification for the details of what arguments
-     may be expressed in each PROV-N statement.
-    </p>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:used&gt;
-      &lt;prov:activity prov:ref="ex:compose"/&gt;
-      &lt;prov:entity prov:ref="ex:dataset1"/&gt;
-    &lt;/prov:used&gt;
-    &lt;prov:used&gt;
-      &lt;prov:activity prov:ref="ex:compose"/&gt;
-      &lt;prov:entity prov:ref="ex:regionList"/&gt;
-    &lt;/prov:used&gt;
-    &lt;prov:wasGeneratedBy&gt;
-      &lt;prov:entity prov:ref="ex:composition"/&gt;
-      &lt;prov:activity prov:ref="ex:compose"/&gt;
-    &lt;/prov:wasGeneratedBy&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    Similarly, the chart graphic creation activity (<code>ex:illustrate</code>)
-    used the composed data, and the chart was generated by this activity.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:illustrate prov:used           ex:composition .
-  ex:chart1     prov:wasGeneratedBy ex:illustrate .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  used(ex:illustrate, ex:composition, -)
-  wasGeneratedBy(ex:chart1, ex:illustrate, -)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:used&gt;
-      &lt;prov:activity prov:ref="ex:illustrate"/&gt;
-      &lt;prov:entity prov:ref="ex:composition"/&gt;
-    &lt;/prov:used&gt;
-    &lt;prov:wasGeneratedBy&gt;
-      &lt;prov:entity prov:ref="ex:chart1"/&gt;
-      &lt;prov:activity prov:ref="ex:illustrate"/&gt;
-    &lt;/prov:wasGeneratedBy&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    In visualizing the PROV data, usage and generation are connections between
-    entities and activities. The arrows point from the future to the past.
-   </p>
-   <img src="images/use-generate.png" alt="Connection of the entities and activities by use and generation links"/>
-  </section>
-
-  <section>
-   <h3>Agents and Responsibility</h3>
-
-   <p>
-    Digging deeper, Betty wants to know who compiled the chart.
-    Betty sees that Derek was involved in both the composition and
-    chart creation activities:
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:compose    prov:wasAssociatedWith ex:derek .
-  ex:illustrate prov:wasAssociatedWith ex:derek .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  wasAssociatedWith(ex:compose, ex:derek, -)
-  wasAssociatedWith(ex:illustrate, ex:derek, -)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:wasAssociatedWith&gt;
-      &lt;prov:activity prov:ref="ex:compose"/&gt;
-      &lt;prov:agent prov:ref="ex:derek"/&gt;
-    &lt;/prov:wasAssociatedWith&gt;
-    &lt;prov:wasAssociatedWith&gt;
-      &lt;prov:activity prov:ref="ex:illustrate"/&gt;
-      &lt;prov:agent prov:ref="ex:derek"/&gt;
-    &lt;/prov:wasAssociatedWith&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    The record for Derek provides the
-    following description that
-    Derek is an agent, specifically a person, followed by non-PROV information
-    giving attributes of Derek.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:derek a prov:Agent ;
-           a prov:Person ;
-           foaf:givenName "Derek"^^xsd:string ;
-           foaf:mbox      &lt;mailto:[email protected]&gt; .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  agent(ex:derek,
-        [prov:type='prov:Person', foaf:givenName="Derek", 
-         foaf:mbox="&lt;mailto:[email protected]&gt;"])
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:agent prov:id="ex:derek"&gt;
-      &lt;prov:type&gt;prov:Person&lt;/prov:type&gt;
-      &lt;foaf:givenName&gt;Derek&lt;/foaf:givenName&gt;
-      &lt;foaf:mbox&gt;mailto:[email protected]&lt;/foaf:mbox&gt;
-    &lt;/prov:agent&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    Derek works as part of an organization, Chart Generators Inc, and so the provenance
-    declares that he acts on their behalf. Note that the organization is itself
-    an agent.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:derek prov:actedOnBehalfOf ex:chartgen .
-  ex:chartgen a prov:Agent ;
-              a prov:Organization ;
-              foaf:name "Chart Generators Inc" .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  agent(ex:chartgen,
-        [prov:type='prov:Organization',
-         foaf:name="Chart Generators Inc"])
-  actedOnBehalfOf(ex:derek, ex:chartgen)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:agent prov:id="ex:chartgen"&gt;
-      &lt;prov:type&gt;prov:Organization&lt;/prov:type&gt;
-      &lt;foaf:name&gt;Chart Generators Inc&lt;/foaf:name&gt;
-    &lt;/prov:agent&gt;
-    &lt;prov:actedOnBehalfOf&gt;
-      &lt;prov:delegate prov:ref="ex:derek"/&gt;
-      &lt;prov:responsible prov:ref="ex:chartgen"/&gt;
-    &lt;/prov:actedOnBehalfOf&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    It would also be possible to express the more specific statement that Derek 
-    worked on the organization's behalf for a particular activity, rather than 
-    in general, and so may have acted on behalf of other organizations for other 
-    activities. See the PROV specifications for details on how to express 
-    activity-specific delegation.
-   </p>
-   <p>
-    Finally, there is an explicit statement in the provenance that the chart was
-    attributed to Derek.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:chart1 prov:wasAttributedTo ex:derek .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  wasAttributedTo(ex:chart1, ex:derek)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:wasAttributedTo&gt;
-      &lt;prov:entity prov:ref="ex:chart1"/&gt;
-      &lt;prov:agent prov:ref="ex:derek"/&gt;
-    &lt;/prov:wasAttributedTo&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-
-   <p>
-    We can extend our graphical depiction to show the agents, association and attribution links.
-   </p>
-   <img src="images/agents.png" alt="Agents added to provenance graph and linked to entities and activities"/>
-  </section>
-
-  <section>
-   <h3>Roles</h3>
-
-   <p>
-    For Betty to understand where the error lies, she needs to have more detailed 
-    information on how entities have been used in and generated 
-    by activities.  Betty has determined that <code>ex:compose</code> used 
-    entities <code>ex:regionList</code> and <code>ex:dataSet1</code>, but she does not 
-    know what function these entities played in the processing.  Betty 
-    also knows that <code>ex:derek</code> was associated with the activities, but she does 
-    not know if Derek was the analyst responsible for determining how the data 
-    should be composed.
-   </p>
-   <p>
-    The above information is described as roles in the provenance. The composition
-    activity involved entities in four roles: the data to be composed (<code>ex:dataToCompose</code>),
-    the regions to aggregate by (<code>ex:regionsToAggregateBy</code>), the
-    resulting composed data (<code>ex:composedData</code>), and the
-    analyst doing the composition (<code>ex:analyst</code>).
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:dataToCompose        a prov:Role .
-  ex:regionsToAggregateBy a prov:Role .
-  ex:composedData         a prov:Role .
-  ex:analyst              a prov:Role .
-    </pre>
-    <p>
-     Examples in the sections above show descriptions of the simple facts that the
-     composition activity used, generated and was enacted by entities/agents.
-     For example, the usage of the data set by the compose activity is expressed
-     as follows.
-    </p>
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:compose prov:used ex:dataSet1 .
-    </pre>
-    <p>     
-     The
-     provenance can contain more details of exactly how these entities and agents
-     were involved in the activity. 
-     To express this, PROV-O refers to <i>qualified usage</i>, <i>qualified generation</i>, etc.,
-     which are descriptions consisting of several statements about how usage, generation, etc. took place.
-     For example, we may describe the plan followed by an agent in performing an activity, or
-     the time at which an activity generated an entity, both illustrated later.
-     Another example of qualified involvement is the role an entity played in an activity.
-     The descriptions below state
-     that the composition activity (<code>ex:compose</code>) included the usage
-     of the government data set (<code>ex:dataSet1</code>) in the role of the data
-     to be composed (<code>ex:dataToCompose</code>).
-    </p>
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:compose prov:qualifiedUsage [
-                a prov:Usage ;
-                prov:entity  ex:dataSet1 ;
-                prov:hadRole ex:dataToCompose 
-     ] .
-    </pre>
-   </div>
-   <div class="provn example">
-    <p>
-     In PROV-N, the role is expressed as one of the list of attributes in the used
-     expression, with the attribute name <code>prov:role</code>.
-    </p>
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  used(ex:compose, ex:dataSet1, -, [prov:role='ex:dataToCompose'])
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:used&gt;
-      &lt;prov:activity prov:ref="ex:compose"/&gt;
-      &lt;prov:entity prov:ref="ex:dataSet1"/&gt;
-      &lt;prov:role&gt;ex:dataToCompose&lt;/prov:role&gt;
-    &lt;/prov:used&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    This can then be distinguished from the same activity's usage of the list of
-    regions because the roles played are different.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:compose prov:qualifiedUsage [
-                a prov:Usage ;
-                prov:entity  ex:regionList ;
-                prov:hadRole ex:regionsToAggregateBy
-     ] .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  used(ex:compose, ex:regionList, -, [prov:role='ex:regionsToAggregateBy'])
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:used&gt;
-      &lt;prov:activity prov:ref="ex:compose"/&gt;
-      &lt;prov:entity prov:ref="ex:regionList"/&gt;
-      &lt;prov:role&gt;ex:regionsToAggregateBy&lt;/prov:role&gt;
-    &lt;/prov:used&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    Similarly, the provenance includes descriptions that the same activity was
-    enacted in a particular way by Derek, so it indicates that he had the role of 
-    <code>ex:analyst</code>, and that the entity <code>ex:composition</code> took the role of the composed
-    data in what the activity generated:
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:compose prov:qualifiedAssociation [
-                a  prov:Association ;
-                prov:agent    ex:derek ;
-                prov:hadRole  ex:analyst
-  ] .
-  ex:composition prov:qualifiedGeneration [
-                     a prov:Generation ;
-                     prov:activity  ex:compose ;
-                     prov:hadRole   ex:composedData
-  ] .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  wasAssociatedWith(ex:compose, ex:derek, -, [prov:role='ex:analyst'])
-  wasGeneratedBy(ex:composition, ex:compose, -, [prov:role='ex:composedData'])
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:wasAssociatedWith&gt;
-      &lt;prov:activity prov:ref="ex:compose"/&gt;
-      &lt;prov:agent prov:ref="ex:derek"/&gt;
-      &lt;prov:role&gt;ex:analyst&lt;/prov:role&gt;
-    &lt;/prov:wasAssociatedWith&gt;
-    &lt;prov:wasGeneratedBy&gt;
-      &lt;prov:entity prov:ref="ex:composition"/&gt;
-      &lt;prov:activity prov:ref="ex:compose"/&gt;
-      &lt;prov:role&gt;ex:composedData&lt;/prov:role&gt;
-    &lt;/prov:wasGeneratedBy&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    Depicting the above visually, we have the following.
-   </p>
-   <img src="images/roles.png" alt="Provenance graph annotated with roles played by entities and agents"/>
-  </section>
-
-  <section>
-   <h3>Derivation and Revision</h3>
-
-   <p>
-    After looking at the detail of the compilation activity, there appears
-    to be nothing wrong, so Betty concludes the error is in the government dataset. 
-    She looks at the dataset <code>ex:dataSet1</code>, 
-    and sees that it is missing data from one of the zipcodes in the area.  She contacts
-    the government agency, and a new version of GovData is created, declared to be the
-    next revision of the data. The provenance of this new dataset,
-    <code>ex:dataSet2</code>, states that it is a revision of the
-    old data set, <code>ex:dataSet1</code>.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:dataSet2 a prov:Entity ;
-              prov:wasRevisionOf ex:dataSet1 .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  entity(ex:dataSet2)
-  wasDerivedFrom(ex:dataSet2, ex:dataSet1, [prov:type='prov:Revision'])
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;entity prov:id="dataSet2"/&gt;
-    &lt;prov:wasDerivedFrom&gt;
-      &lt;prov:generatedEntity prov:ref="ex:dataSet2"/&gt;
-      &lt;prov:usedEntity prov:ref="ex:dataSet1"/&gt;
-      &lt;prov:type&gt;prov:Revision&lt;/prov:type&gt;
-    &lt;/prov:wasDerivedFrom&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    Derek notices that there is a new dataset available and creates a new chart based on the revised data, 
-    using another compilation activity. Betty checks the article again at a
-    later point, and wants to know if it is based on the old or new GovData.
-    She sees a new description stating that the new chart is derived from the new dataset
-    (the same relation could be expressed between the old chart and old dataset).
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:chart2 a prov:Entity ;
-            prov:wasDerivedFrom ex:dataSet2 .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  wasDerivedFrom(ex:chart2, ex:dataSet2)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:wasDerivedFrom&gt;
-      &lt;prov:generatedEntity prov:ref="ex:chart2"/&gt;
-      &lt;prov:usedEntity prov:ref="ex:dataSet2"/&gt;
-    &lt;/prov:wasDerivedFrom&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>and that the new chart is a revision of the original one:
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:chart2 a prov:Entity ;
-            prov:wasRevisionOf ex:chart1 .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  entity(ex:chart2)
-  wasDerivedFrom(ex:chart2, ex:chart1, [prov:type='prov:Revision'])
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;entity prov:id="chart2"/&gt;
-    &lt;prov:wasDerivedFrom&gt;
-      &lt;prov:generatedEntity prov:ref="ex:chart2"/&gt;
-      &lt;prov:usedEntity prov:ref="ex:chart1"/&gt;
-      &lt;prov:type&gt;prov:Revision&lt;/prov:type&gt;
-    &lt;/prov:wasDerivedFrom&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    Derivation and revision are connections between entities, and so depicted
-    with arrows in our visualization.
-   </p>
-   <img src="images/derivation.png" alt="Derivation and revision links between entities"/>
-  </section>
-
-  <section>
-   <h3>Plans</h3>
-
-   <p>
-    Betty then wishes to know whether the new data set correctly addresses
-    the error that existed before. The provenance of the new dataset,
-    <code>ex:dataSet2</code>, describes not only who performed the corrections,
-    Edith, but also what instructions she followed in doing so (in PROV terms, the plan).
-    First, the correction activity (<code>ex:correct</code>), the person who corrected
-    it, Edith (<code>ex:edith</code>), and the correction instructions (<code>ex:instructions</code>)
-    are described.
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:correct      a prov:Activity .
-  ex:edith        a prov:Agent, prov:Person .
-  ex:instructions a prov:Plan .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  activity(ex:correct)
-  agent(ex:edith, [prov:type='prov:Person'])
-  entity(ex:instructions)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:activity prov:id="ex:correct"/&gt;
-    &lt;prov:agent prov:id="ex:edith"&gt;
-      &lt;prov:type&gt;prov:Person&lt;/prov:type&gt;
-    &lt;/prov:agent&gt;
-    &lt;prov:entity prov:id="ex:instructions"&gt;
-      &lt;prov:type&gt;prov:Plan&lt;/prov:type&gt;
-    &lt;/prov:entity&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <div class="turtle example">
-    <p>
-     The connection between them is expressed in PROV-O using a qualified association giving details of
-     how Edith was associated with the correction activity,
-     including that she followed the above correction instructions.
-    </p>
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:correct prov:qualifiedAssociation [
-                 a Association ;
-                 prov:agent   ex:edith ;
-                 prov:hadPlan ex:instructions
-  ] .
-  ex:dataSet2 prov:wasGeneratedBy ex:correct .
-    </pre>
-   </div>
-   <div class="provn example">
-    <p>
-     In PROV-N, the plan is an optional parameter to wasAssociatedWith descriptions.
-    </p>
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  wasAssociatedWith(ex:correct, ex:edith, ex:instructions)
-  wasGeneratedBy(ex:dataSet2, ex:correct, -)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <p>
-     In PROV-XML, the plan is an optional child of the wasAssociatedWith element.
-    </p>
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:wasAssociatedWith&gt;
-      &lt;prov:activity prov:ref="ex:correct"/&gt;
-      &lt;prov:agent prov:ref="ex:edith"/&gt;
-      &lt;prov:plan prov:ref="ex:instructions"/&gt;
-    &lt;/prov:wasAssociatedWith&gt;
-    &lt;prov:wasGeneratedBy&gt;
-      &lt;prov:entity prov:ref="ex:dataSet2"/&gt;
-      &lt;prov:activity prov:ref="ex:correct"/&gt;
-    &lt;/prov:wasGeneratedBy&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    Plans are additional information about the connection from an activity to
-    an agent, and so, in our visualization, connect to the link between them.
-   </p>
-   <img src="images/plans.png" alt="Annotaion of example provenance graph with plan followed"/>
-  </section>
-
-  <section>
-   <h3>Time</h3>
-
-   <p>
-    The government agency that produced GovData is concerned to know how long
-    the incorrect chart was in circulation before the corrected chart was created.
-    That is, they wish to compare the times at which the original and the corrected
-    charts were generated. The snippet below shows that the second chart
-    was generated roughly a month after the first.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:chart1 prov:generatedAtTime "2012-03-02T10:30:00"^^xsd:dateTime .
-  ex:chart2 prov:generatedAtTime "2012-04-01T15:21:00"^^xsd:dateTime .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  wasGeneratedBy(ex:chart1, ex:compile,  2012-03-02T10:30:00)
-  wasGeneratedBy(ex:chart2, ex:compile2, 2012-04-01T15:21:00)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:wasGeneratedBy&gt;
-      &lt;prov:entity prov:ref="ex:chart1"/&gt;
-      &lt;prov:time&gt;2012-03-02T10:30:00&lt;/prov:time&gt;
-    &lt;/prov:wasGeneratedBy&gt;
-    &lt;prov:wasGeneratedBy&gt;
-      &lt;prov:entity prov:ref="ex:chart2"/&gt;
-      &lt;prov:time&gt;2012-04-01T15:21:00&lt;/prov:time&gt;
-    &lt;/prov:wasGeneratedBy&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-
-   <p>
-    To ensure their procedures are efficient, the agency also wish to know how long the
-    corrections took once the error was discovered. That is, they wish to know the
-    start and end times of the correction activity (<code>ex:correct</code>).
-    These details are expressed as follows, showing that the corrections took a
-    little over a day.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:correct prov:startedAtTime "2012-03-31T09:21:00"^^xsd:dateTime ;
-             prov:endedAtTime   "2012-04-01T15:21:00"^^xsd:dateTime .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  activity(ex:correct, 2012-03-31T09:21:00, 2012-04-01T15:21:00)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:activity prov:id="ex:correct"&gt;
-      &lt;prov:startTime&gt;2012-03-31T09:21:00&lt;/prov:startTime&gt;
-      &lt;prov:endTime&gt;2012-04-01T15:21:00&lt;/prov:endTime&gt;
-    &lt;/prov:activity&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    Time is visualized as additional information regarding activities or the
-    links between activities and entities or agents.
-   </p>
-   <img src="images/time.png" alt="Annotation of provenance graph with example timestamps"/>
-  </section>
-
-  <section>
-   <h3>Alternate Entities and Specialization</h3>
-
-   <p>
-    Before noticing anything wrong with the government data, Betty had already
-    posted a blog entry about the article. The blog entry had its own published
-    provenance. In particular, it contains some text copied from the article, and the
-    provenance states that this text (<code>ex:quoteInBlogEntry</code>) is quoted
-    from the article.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:quoteInBlogEntry a prov:Entity ;
-               prov:value "Smaller cities have more crime than larger ones" ;
-               prov:wasQuotedFrom ex:article .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  entity(ex:quoteInBlogEntry, prov:value="Smaller cities have more crime than larger ones")
-  wasDerivedFrom(ex:quoteInBlogEntry, ex:article, [prov:type='prov:Quotation'])
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:entity prov:id="ex:quoteInBlogEntry"&gt;
-      &lt;prov:value&gt;Smaller cities have more crime than larger ones&lt;/prov:value&gt;
-    &lt;/prov:entity&gt;
-    &lt;prov:wasDerivedFrom&gt;
-      &lt;prov:generatedEntity prov:ref="ex:quoteInBlogEntry"/&gt;
-      &lt;prov:usedEntity prov:ref="ex:article"/&gt;
-      &lt;prov:type&gt;prov:Quotation&lt;/prov:type&gt;
-    &lt;/prov:wasDerivedFrom&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    The newspaper, from past experience, anticipated that there could be revisions
-    to the article, and so created identifiers for both the article in general
-    (<code>ex:article</code>) as a URI that got redirected to the first version of the article (<code>ex:articleV1</code>),
-    allowing both to be referred to as entities in provenance data. 
-    In the provenance records, the newspaper describes the connection between the two: that
-    the first version of the article is a specialization of the article in general.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:articleV1 a prov:Entity ;
-               prov:specializationOf ex:article .
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  entity(ex:articleV1)
-  specializationOf(ex:articleV1, ex:article)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:entity prov:id="ex:articleV1"/&gt;
-    &lt;prov:specializationOf&gt;
-      &lt;prov:specificEntity prov:ref="ex:articleV1"/&gt;
-      &lt;prov:generalEntity prov:ref="ex:article"/&gt;
-    &lt;/prov:specializationOf&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    Later, after the data set is corrected and the new chart generated, a new version
-    of the article is created, <code>ex:articleV2</code>, with its own URI where the article
-    is redirected to.  To ensure that those
-    consulting the provenance of <code>ex:articleV2</code> understand that it
-    is connected with the provenance of <code>ex:article</code> and <code>ex:articleV1</code>,
-    the newspaper describes how these entities are related.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  ex:articleV2 prov:specializationOf ex:article .
-  ex:articleV2 prov:alternateOf      ex:articleV1 
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  specializationOf(ex:articleV2, ex:article)
-  alternateOf(ex:articleV2, ex:articleV1)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-  &lt;prov:document&gt;
-    ...
-    &lt;prov:specializationOf&gt;
-      &lt;prov:specificEntity prov:ref="ex:articleV2"/&gt;
-      &lt;prov:generalEntity prov:ref="ex:article"/&gt;
-    &lt;/prov:specializationOf&gt;
-    &lt;prov:alternateOf&gt;
-      &lt;prov:alternate1 prov:ref="ex:articleV1"/&gt;
-      &lt;prov:alternate2 prov:ref="ex:articleV2"/&gt;
-    &lt;/prov:alternateOf&gt;
-  &lt;/prov:document&gt;
-    </pre>
-   </div>
-   <p>
-    Note that above we could have also
-    stated that <code>ex:articleV2</code> was a revision of <code>ex:articleV1</code>,
-    as we did between <code>ex:chart2</code> and <code>ex:chart1</code>,
-    which would describe more concretely how the alternate entities are related.
-    Specialization and alternate relations connect entities, and so are visualized
-    as links between them.
-   </p>
-   <img src="images/specialization.png" alt="Specialization and alternate links between entities"/>
-  </section>
-
-  <section>
-   <h3>Provenance of Provenance</h3>
-   <p>
-    Betty wants to express in the provenance of her blog entry that she personally checked her sources.  She wants to state the provenance of her blog entry, and then state that she stands by that provenance.  To do this, she creates a bundle that contains provenance assertions for her blog entry.
-   </p>
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-bundle cw:about-post-20130326
- entity (cw:post-20130326)
- wasAttributedTo(cw:blog-20130326, cw:Betty)
- wasDerivedFrom(cw:post-20130326, news:TheSundayTimes)
- wasDerivedFrom(cw:post-20130326, gov:WoodhamptonCityServices)
- rdf:type news:TheSundayTimes cw:newspaper // CHANGE TO ENTITY DECLARATION
- rdf:type gov:WoodhamptonCityServices cw:governmentAgency // CHANGE TO ENTITY DECLARATION
-endBundle
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-    </pre>
-   </div>
-
-   <p>
-    Now she wants to state that she was the creator of those provenance assertions.  PROV offers the relation wasAttributedTo, but she wants to be more specific and state she created it.  To do this, she decides to use the term Creator from the Dublin Core vocabulary, which is mapped to prov:wasAttributedTo [CITE HERE THE MAPPINGS DOCUMENT].  She then asserts she was the creator of the bundle:
-   </p>
-
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-entity (cw:about-post-20130326 [prov:type=’prov:Bundle’ ])
-dcterms:creator(cw:about-blog-20130326, cw:Betty)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-    </pre>
-   </div>
-
-   <p>
-    The newspaper has an alternative view on the provenance of her blog post as being derived from their article, and they state so in their site:
-   </p>
-
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-bundle news:about-post-20130326
- entity (cw:post-20130326)
- wasQuotedFrom(cw:blog-20130326, news:articleV2)
-endBundle
-
-entity (news:about-post-20130326 [prov:type=’prov:Bundle’ ])
-wasAttributedTo(news:about-blog-20130326, news:TheSundayTimes)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-    </pre>
-   </div>
-  </section>
-
-  <section>
-   <h3>Collections of Entities</h3>
-   <p>
-    Since his work is getting attention, Derek decides create several types of charts using dataset2.  He states the provenance of all the charts as follows:
-   </p>
-
-   <div class="turtle example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>Turtle Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'turtle example', 'none');
-    set_display_by_class('div', 'turtle example', 'none');
-    set_display_by_id('hide-turtle-examples', 'none');
-    set_display_by_id('show-turtle-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-    </pre>
-   </div>
-   <div class="provn example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>PROV-N Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provn example', 'none');
-    set_display_by_class('div', 'provn example', 'none');
-    set_display_by_id('hide-provn-examples', 'none');
-    set_display_by_id('show-provn-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-	entity(chartsDataset2, [prov:type=’prov:Collection’ ])
-	hadMember(pieChart2)
-	hadMember(barChart2)
-	hadMember(scatterplot2)
-	wasGeneratedBy(chartsDataset2, ex:illustrate)
-	wasAssociatedWith(chartsDataset2, ex:derek)
-    </pre>
-   </div>
-   <div class="provxml example">
-    <div class="exampleheader">
-     <span class="exampleheader"><b>XML Example</b>
-      <a onclick="
-    set_display_by_class('pre', 'provxml example', 'none');
-    set_display_by_class('div', 'provxml example', 'none');
-    set_display_by_id('hide-provxml-examples', 'none');
-    set_display_by_id('show-provxml-examples', '');"><u><i>(hide all)</i></u></a>
-     </span></div>
-    <pre>
-    </pre>
-   </div>
-
-  </section>
-
-  <section>
-   <h3>Complete PROV data</h3>
-   <p>
-    The full set of examples shown above are available in <a href="primer-turtle-examples.txt">PROV-O Turtle format</a>
-    or <a href="primer-provn-examples.txt">PROV-N format</a> or <a href="primer-prov-xml-examples.xml">PROV-XML format</a>.
-    We visualize the whole example below.
-   </p>
-   <img src="images/everything.png" alt="Provenance graph for whole example"/>
-   <p>
-    These examples highlight the following important capabilities of PROV:
-   </p>
-   <ol>
-    <li>Representing diverse entities involved in provenance.  The examples illustrate that provenance records can contain different kinds of information:
-     <ul>
-      <li>The newspaper took an object-centered view on their provenance statements, stating what objects were derived from others but not stating what processes were used or what entities were involved.</li>
-      <li>Betty the blogger took a very entity-centered view on provenance.  She choose to associate her blog post with herself, the government agency that published the data, and the newspaper that published the article.</li>
-      <li>Derek took a process-centered perspective and combined it with object-centered and entity-centered provenance information. The processes followed to derive the charts from the government datasets were clearly.  All intermediate and final documents were stated.  His involvement in the various activities was clearly recorded, and the resulting documents were attributed to him.</li></li>
-    </ul>
-    <li>Stating partial or incomplete provenance.  The newspaper omitted information about their specific editorial processes in publishing articles.  The chart generator said nothing about the software used, therefore omitting information about other agents involved in the processes.</li>
-    <li>Integrate provenance-related information represented in other vocabularies.  The FOAF vocabulary was used for specifying details about Derek and his company.  The Dublin Core vocabulary was used to specify that Betty was the creator of a provenance record.</li>
-    <li>Combining distributed provenance records provided by different parties.  The provenance records described in this example came from a government source, a newspaper, a company, and a blogger.  Using URIs and namespaces, a provenance record can draw from multiple sources on the Web.</li>
-    <li>Describing the commonalities in the derivation of two entities.  The two versions of the charts were both derived through a similar compile activity.</li>
-    <li>Relating versions of objects over time.  The second dataset was described as a revision of the first one.</li>
-    <li>Stating the provenance of provenance assertions.  Betty could create a provenance record for her blog post, and then assert the provenance of that provenance record.</li>
-    <li>Enabling alternative accounts for the provenance of an entity.  The blog post had a provenance account from Betty as its author and another one from the newspaper that the blog quoted from.</li>
-    <li>Querying over provenance of different granularity.   The activity of composing the data from different regions was described in greater detail than the other steps to produce the chart.  The provenance of the chart has much finer-grained detail than the provenance of the government dataset.</li>
-    <li>Supporting reasoning and inference over provenance records.   The provenance assertions explicitly stated above can be used to infer additional assertions that are true according to the PROV model.  For example, because Derek created the chart acting on behalf of Chart Generators, a PROV inference is that the chart can be attributed to Chart Generators.</li>
-   </ol>
-   <p>The examples also illustrate how PROV enables many uses of provenance, such as checking for possible errors, tracking down parties responsible for fixing them, repeating processes to re-generate datasets, relating versions of documents over time, and inspecting sources and attribution.</p>
-  </section>
- </section>
-
- <section class="appendix">
-  <h2>Acknowledgements</h2>
-  <p>
-   The Provenance Working Group members.
-  </p>
- </section>
-
- <section class="appendix"> 
-  <h2>Changes Since Fourth Public Working Draft</h2> 
-  <ul>
-   <li>Corrected XML example for activities</li>
-   <li>Clarified usage of adoptedOnBehalfOf relation</li>
-   <li>Clarified wasQuotedFrom example</li>
-   <li>Adapted PROV-XML examples to clarify they are not RDF/XML</li>
-  </ul>
- </section>
-
-</body></html>
--- a/primer/Primer.html	Fri Mar 29 16:19:03 2013 +0000
+++ b/primer/Primer.html	Fri Mar 29 17:27:10 2013 +0000
@@ -15,7 +15,7 @@
   </style>
 
   <script src="toggles.js" type="text/javascript"></script> 
-  <script src="https://www.w3.org/Tools/respec/respec-w3c-common" class="remove" async></script>
+  <script src="http://www.w3.org/Tools/respec/respec-w3c-common" class="remove" async></script>
 
   <script src="../model/provbib.js" class="remove"></script>
   <script class="remove">
--- a/primer/primer-prov-xml-examples.xml	Fri Mar 29 16:19:03 2013 +0000
+++ b/primer/primer-prov-xml-examples.xml	Fri Mar 29 17:27:10 2013 +0000
@@ -8,110 +8,110 @@
 
   <!-- Entities -->
 
-  <prov:entity prov:id="ex:article">
+  <prov:entity prov:id="exn:article">
 	<dct:title>Crime rises in cities</dct:title>
   </prov:entity>
 
-  <prov:entity prov:id="ex:dataSet1"/>
+  <prov:entity prov:id="exg:dataset1"/>
 
-  <prov:entity prov:id="ex:regionList"/>
+  <prov:entity prov:id="exc:regionList"/>
 
-  <prov:entity prov:id="ex:composition"/>
+  <prov:entity prov:id="exc:composition1"/>
 
-  <prov:entity prov:id="ex:chart1"/>
+  <prov:entity prov:id="exc:chart1"/>
 
   <!-- Activities -->
 
-  <prov:activity prov:id="ex:compile"/>
+  <prov:activity prov:id="exc:compile1"/>
 
-  <prov:activity prov:id="ex:compose"/>
+  <prov:activity prov:id="exc:compose1"/>
 
-  <prov:activity prov:id="ex:illustrate"/>
+  <prov:activity prov:id="exc:illustrate1"/>
 
   <!-- Usage and Generation -->
 
   <prov:used>
-    <prov:activity prov:ref="ex:compose"/>
+    <prov:activity prov:ref="exc:compose1"/>
     <prov:entity prov:ref="ex:dataset1"/>
   </prov:used>
 
   <prov:used>
-    <prov:activity prov:ref="ex:compose"/>
-    <prov:entity prov:ref="ex:regionList"/>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:entity prov:ref="exc:regionList"/>
   </prov:used>
 
   <prov:wasGeneratedBy>
-    <prov:entity prov:ref="ex:composition"/>
-    <prov:activity prov:ref="ex:compose"/>
+    <prov:entity prov:ref="exc:composition1"/>
+    <prov:activity prov:ref="exc:compose1"/>
   </prov:wasGeneratedBy>
 
   <prov:used>
-    <prov:activity prov:ref="ex:illustrate"/>
-    <prov:entity prov:ref="ex:composition"/>
+    <prov:activity prov:ref="exc:illustrate1"/>
+    <prov:entity prov:ref="exc:composition1"/>
   </prov:used>
 
   <prov:wasGeneratedBy>
-    <prov:entity prov:ref="ex:chart1"/>
-    <prov:activity prov:ref="ex:illustrate"/>
+    <prov:entity prov:ref="exc:chart1"/>
+    <prov:activity prov:ref="exc:illustrate1"/>
   </prov:wasGeneratedBy>
 
   <!-- Agents and Responsibility -->
 
-  <prov:agent prov:id="ex:derek">
+  <prov:agent prov:id="exc:derek">
     <prov:type>prov:Person</prov:type>
     <foaf:givenName>Derek</foaf:givenName>
     <foaf:mbox>mailto:[email protected]</foaf:mbox>
   </prov:agent>
 
-  <prov:agent prov:id="ex:chartgen">
+  <prov:agent prov:id="exc:chartgen">
     <prov:type>prov:Organization</prov:type>
     <foaf:name>Chart Generators Inc</foaf:name>
   </prov:agent>
 
   <prov:wasAssociatedWith>
-    <prov:activity prov:ref="ex:compose"/>
-    <prov:agent prov:ref="ex:derek"/>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:agent prov:ref="exc:derek"/>
   </prov:wasAssociatedWith>
 
   <prov:wasAssociatedWith>
-    <prov:activity prov:ref="ex:illustrate"/>
-    <prov:agent prov:ref="ex:derek"/>
+    <prov:activity prov:ref="exc:illustrate1"/>
+    <prov:agent prov:ref="exc:derek"/>
   </prov:wasAssociatedWith>
 
   <prov:wasAttributedTo>
-    <prov:entity prov:ref="ex:chart1"/>
-    <prov:agent prov:ref="ex:derek"/>
+    <prov:entity prov:ref="exc:chart1"/>
+    <prov:agent prov:ref="exc:derek"/>
   </prov:wasAttributedTo>
 
   <prov:actedOnBehalfOf>
-    <prov:delegate prov:ref="ex:derek"/>
-    <prov:responsible prov:ref="ex:chartgen"/>
+    <prov:delegate prov:ref="exc:derek"/>
+    <prov:responsible prov:ref="exc:chartgen"/>
   </prov:actedOnBehalfOf>
 
   <!-- Roles -->
 
   <prov:used>
-    <prov:activity prov:ref="ex:compose"/>
-    <prov:entity prov:ref="ex:dataSet1"/>
-    <prov:role>ex:dataToCompose</prov:role>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:entity prov:ref="exg:dataset1"/>
+    <prov:role>exc:dataToCompose</prov:role>
   </prov:used>
 
   <prov:used>
-    <prov:activity prov:ref="ex:compose"/>
-    <prov:entity prov:ref="ex:regionList"/>
-    <prov:role>ex:regionsToAggregateBy</prov:role>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:entity prov:ref="exc:regionList"/>
+    <prov:role>exc:regionsToAggregateBy</prov:role>
   </prov:used>
 
   <prov:wasAssociatedWith>
-    <prov:activity prov:ref="ex:compose"/>
-    <prov:agent prov:ref="ex:derek"/>
-    <prov:role>ex:analyst</prov:role>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:agent prov:ref="exc:derek"/>
+    <prov:role>exc:analyst</prov:role>
   </prov:wasAssociatedWith>
 
   <prov:wasGeneratedBy>
-    <prov:entity prov:ref="ex:composition"/>
-    <prov:activity prov:ref="ex:compose"/>
-    <prov:role>ex:composedData</prov:role>
+    <prov:entity prov:ref="exc:composition1"/>
+    <prov:activity prov:ref="exc:compose1"/>
+    <prov:role>exc:composedData</prov:role>
   </prov:wasGeneratedBy>
 
   <!-- Revision and Derivation -->
@@ -120,101 +120,101 @@
   <entity prov:id="chart2"/>
 
   <prov:wasDerivedFrom>
-    <prov:generatedEntity prov:ref="ex:dataSet2"/>
-    <prov:usedEntity prov:ref="ex:dataSet1"/>
+    <prov:generatedEntity prov:ref="exg:dataSet2"/>
+    <prov:usedEntity prov:ref="exg:dataset1"/>
     <prov:type>prov:Revision</prov:type>
   </prov:wasDerivedFrom>
 
   <prov:wasDerivedFrom>
-    <prov:generatedEntity prov:ref="ex:chart2"/>
-    <prov:usedEntity prov:ref="ex:dataSet2"/>
+    <prov:generatedEntity prov:ref="exc:chart2"/>
+    <prov:usedEntity prov:ref="exg:dataSet2"/>
   </prov:wasDerivedFrom>
 
   <prov:wasDerivedFrom>
-    <prov:generatedEntity prov:ref="ex:chart2"/>
-    <prov:usedEntity prov:ref="ex:chart1"/>
+    <prov:generatedEntity prov:ref="exc:chart2"/>
+    <prov:usedEntity prov:ref="exc:chart1"/>
     <prov:type>prov:Revision</prov:type>
   </prov:wasDerivedFrom>
 
   <!-- Plans -->
 
-  <prov:activity prov:id="ex:correct"/>
+  <prov:activity prov:id="exg:correct1"/>
 
-  <prov:entity prov:id="ex:instructions">
+  <prov:entity prov:id="exg:instructions">
     <prov:type>prov:Plan</prov:type>
   </prov:entity>
 
-  <prov:agent prov:id="ex:edith">
+  <prov:agent prov:id="exg:edith">
     <prov:type>prov:Person</prov:type>
   </prov:agent>
 
   <prov:wasAssociatedWith>
-    <prov:activity prov:ref="ex:correct"/>
-    <prov:agent prov:ref="ex:edith"/>
-    <prov:plan prov:ref="ex:instructions"/>
+    <prov:activity prov:ref="exg:correct1"/>
+    <prov:agent prov:ref="exg:edith"/>
+    <prov:plan prov:ref="exg:instructions"/>
   </prov:wasAssociatedWith>
 
   <prov:wasGeneratedBy>
-    <prov:entity prov:ref="ex:dataSet2"/>
-    <prov:activity prov:ref="ex:correct"/>
+    <prov:entity prov:ref="exg:dataSet2"/>
+    <prov:activity prov:ref="exg:correct1"/>
   </prov:wasGeneratedBy>
 
   <!-- Time -->
 
   <prov:wasGeneratedBy>
-    <prov:entity prov:ref="ex:chart1"/>
+    <prov:entity prov:ref="exc:chart1"/>
     <prov:time>2012-03-02T10:30:00</prov:time>
   </prov:wasGeneratedBy>
 
   <prov:wasGeneratedBy>
-    <prov:entity prov:ref="ex:chart2"/>
+    <prov:entity prov:ref="exc:chart2"/>
     <prov:time>2012-04-01T15:21:00</prov:time>
   </prov:wasGeneratedBy>
 
   <prov:wasStartedBy>
-    <prov:activity prov:ref="ex:correct"/>
+    <prov:activity prov:ref="exg:correct1"/>
     <prov:time>2012-03-31T09:21:00</prov:time>
   </prov:wasStartedBy>
 
   <prov:wasEndedBy>
-    <prov:activity prov:ref="ex:correct"/>
+    <prov:activity prov:ref="exg:correct1"/>
     <prov:time>2012-04-01T15:21:00</prov:time>
   </prov:wasEndedBy>
 	
   <!-- alternatively, you can put the activity start and end time in the activity declaration -->
 
-  <prov:activity prov:id="ex:correct">
+  <prov:activity prov:id="exg:correct1">
     <prov:startTime>2012-03-31T09:21:00</prov:startTime>
     <prov:endTime>2012-04-01T15:21:00</prov:endTime>
   </prov:activity>
 
   <!-- Alternate Entities and Specialization -->
 
-  <prov:entity prov:id="ex:quoteInBlogEntry"/>
+  <prov:entity prov:id="ex:quoteInBlogEntry-20130326"/>
 
   <prov:wasDerivedFrom>
-    <prov:generatedEntity prov:ref="ex:quoteInBlogEntry"/>
-    <prov:usedEntity prov:ref="ex:article"/>
+    <prov:generatedEntity prov:ref="ex:quoteInBlogEntry-20130326"/>
+    <prov:usedEntity prov:ref="exn:article"/>
     <prov:type>prov:Quotation</prov:type>
   </prov:wasDerivedFrom>
 
-  <prov:entity prov:id="ex:articleV1"/>
+  <prov:entity prov:id="exn:articleV1"/>
 
   <prov:specializationOf>
-    <prov:specificEntity prov:ref="ex:articleV1"/>
-    <prov:generalEntity prov:ref="ex:article"/>
+    <prov:specificEntity prov:ref="exn:articleV1"/>
+    <prov:generalEntity prov:ref="exn:article"/>
   </prov:specializationOf>
 
-  <prov:entity prov:id="ex:articleV2"/>
+  <prov:entity prov:id="exn:articleV2"/>
 
   <prov:specializationOf>
-    <prov:specificEntity prov:ref="ex:articleV2"/>
-    <prov:generalEntity prov:ref="ex:article"/>
+    <prov:specificEntity prov:ref="exn:articleV2"/>
+    <prov:generalEntity prov:ref="exn:article"/>
   </prov:specializationOf>
 
   <prov:alternateOf>
-    <prov:alternate1 prov:ref="ex:articleV1"/>
-    <prov:alternate2 prov:ref="ex:articleV2"/>
+    <prov:alternate1 prov:ref="exn:articleV1"/>
+    <prov:alternate2 prov:ref="exn:articleV2"/>
   </prov:alternateOf>
 
 </prov:document>
\ No newline at end of file
--- a/primer/primer-provn-examples.txt	Fri Mar 29 16:19:03 2013 +0000
+++ b/primer/primer-provn-examples.txt	Fri Mar 29 17:27:10 2013 +0000
@@ -8,77 +8,77 @@
 
 // Entities
 
-entity(ex:article, [dcterms:title="Crime rises in cities"])
-entity(ex:dataSet1)
-entity(ex:regionList)
-entity(ex:composition)
-entity(ex:chart1)
+entity(exn:article, [dcterms:title="Crime rises in cities"])
+entity(exg:dataset1)
+entity(exc:regionList)
+entity(exc:composition1)
+entity(exc:chart1)
     
 // Activities
 
-activity(ex:compile)
-activity(ex:compose)
-activity(ex:illustrate)
+activity(exc:compile1)
+activity(exc:compose1)
+activity(exc:illustrate1)
     
 // Usage and Generation
 
-used(ex:compose, ex:dataSet1, -)
-used(ex:compose, ex:regionList, -)
-wasGeneratedBy(ex:composition, ex:compose, -)
-used(ex:illustrate, ex:composition, -)
-wasGeneratedBy(ex:chart1, ex:illustrate, -)
+used(exc:compose1, exg:dataset1, -)
+used(exc:compose1, exc:regionList, -)
+wasGeneratedBy(exc:composition1, exc:compose1, -)
+used(exc:illustrate1, exc:composition1, -)
+wasGeneratedBy(exc:chart1, exc:illustrate1, -)
     
 // Agents and Responsibility
 
-wasAssociatedWith(ex:compose, ex:derek, -)
-wasAssociatedWith(ex:illustrate, ex:derek, -)
-agent(ex:derek,
+wasAssociatedWith(exc:compose1, exc:derek, -)
+wasAssociatedWith(exc:illustrate1, exc:derek, -)
+agent(exc:derek,
       [prov:type='prov:Person', foaf:givenName="Derek", 
        foaf:mbox="<mailto:[email protected]>"])
 
-agent(ex:chartgen,
+agent(exc:chartgen,
       [prov:type='prov:Organization',
        foaf:name="Chart Generators Inc"])
-actedOnBehalfOf(ex:derek, ex:chartgen)
+actedOnBehalfOf(exc:derek, exc:chartgen)
 
-wasAttributedTo(ex:chart1, ex:derek)
+wasAttributedTo(exc:chart1, exc:derek)
     
 // Roles
 
-used(ex:compose, ex:dataSet1, -, [prov:role='ex:dataToCompose'])
-used(ex:compose, ex:regionList, -, [prov:role='ex:regionsToAggregateBy'])
-wasAssociatedWith(ex:compose, ex:derek, -, [prov:role='ex:analyst'])
-wasGeneratedBy(ex:composition, ex:compose, -, [prov:role='ex:composedData'])
+used(exc:compose1, exg:dataset1, -, [prov:role='exc:dataToCompose'])
+used(exc:compose1, exc:regionList, -, [prov:role='exc:regionsToAggregateBy'])
+wasAssociatedWith(exc:compose1, exc:derek, -, [prov:role='exc:analyst'])
+wasGeneratedBy(exc:composition1, exc:compose1, -, [prov:role='exc:composedData'])
 
 // Derivation and Revision
 
-entity(ex:dataSet2)
-wasDerivedFrom(ex:dataSet2, ex:dataSet1, [prov:type='prov:Revision'])
-wasDerivedFrom(ex:chart2, ex:dataSet2)
-entity(ex:chart2)
-wasDerivedFrom(ex:chart2, ex:chart1, [prov:type='prov:Revision'])
+entity(exg:dataSet2)
+wasDerivedFrom(exg:dataSet2, exg:dataset1, [prov:type='prov:Revision'])
+wasDerivedFrom(exc:chart2, exg:dataSet2)
+entity(exc:chart2)
+wasDerivedFrom(exc:chart2, exc:chart1, [prov:type='prov:Revision'])
     
 // Plans
 
-activity(ex:correct)
-agent(ex:edith, [prov:type='prov:Person'])
-entity(ex:instructions)
-wasAssociatedWith(ex:correct, ex:edith, ex:instructions)
-wasGeneratedBy(ex:dataSet2, ex:correct, -)
+activity(exg:correct1)
+agent(exg:edith, [prov:type='prov:Person'])
+entity(exg:instructions)
+wasAssociatedWith(exg:correct1, exg:edith, exg:instructions)
+wasGeneratedBy(exg:dataSet2, exg:correct1, -)
     
 // Time
 
-wasGeneratedBy(ex:chart1, ex:compile,  2012-03-02T10:30:00)
-wasGeneratedBy(ex:chart2, ex:compile2, 2012-04-01T15:21:00)
-activity(ex:correct, 2012-03-31T09:21:00, 2012-04-01T15:21:00)
+wasGeneratedBy(exc:chart1, exc:compile1,  2012-03-02T10:30:00)
+wasGeneratedBy(exc:chart2, exc:compile2, 2012-04-01T15:21:00)
+activity(exg:correct1, 2012-03-31T09:21:00, 2012-04-01T15:21:00)
     
 // Alternate Entities and Specialization
 
-entity(ex:quoteInBlogEntry)
-wasDerivedFrom(ex:quoteInBlogEntry, ex:article, [prov:type='prov:Quotation'])
+entity(ex:quoteInBlogEntry-20130326)
+wasDerivedFrom(ex:quoteInBlogEntry-20130326, exn:article, [prov:type='prov:Quotation'])
     
-entity(ex:articleV1)
-specializationOf(ex:articleV1, ex:article)    
-specializationOf(ex:articleV2, ex:article)
-alternateOf(ex:articleV2, ex:articleV1)
+entity(exn:articleV1)
+specializationOf(exn:articleV1, exn:article)    
+specializationOf(exn:articleV2, exn:article)
+alternateOf(exn:articleV2, exn:articleV1)
     
\ No newline at end of file
--- a/primer/primer-turtle-examples.txt	Fri Mar 29 16:19:03 2013 +0000
+++ b/primer/primer-turtle-examples.txt	Fri Mar 29 17:27:10 2013 +0000
@@ -1,6 +1,9 @@
 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
 @prefix prov: <http://www.w3.org/ns/prov#> .
[email protected] ex: <http://www.example.org#> .
[email protected] exn: <http://www.example.org#> .
[email protected] exg: <http://www.example.org#> .
[email protected] exc: <http://www.example.org#> .
[email protected] exb: <http://www.example.org#> .
 @prefix dcterms: <http://purl.org/dc/terms/> .
 @prefix foaf: <http://xmlns.com/foaf/0.1/> .
 
@@ -9,105 +12,105 @@
 
 # Entities
 
-ex:article     a prov:Entity ;
-               dcterms:title "Crime rises in cities" .
-ex:dataset1    a prov:Entity .
-ex:regionList  a prov:Entity .
-ex:composition a prov:Entity .
-ex:chart1      a prov:Entity .
+exn:article      a prov:Entity ;
+                 dcterms:title "Crime rises in cities" .
+exg:dataset1     a prov:Entity .
+exc:regionList   a prov:Entity .
+exc:composition1 a prov:Entity .
+exc:chart1       a prov:Entity .
 
 # Activities
 
-ex:compile    a prov:Activity .
-ex:compose    a prov:Activity .
-ex:illustrate a prov:Activity .
+exc:compile1    a prov:Activity .
+exc:compose1    a prov:Activity .
+exc:illustrate1 a prov:Activity .
 
 # Usage and Generation
 
-ex:compose      prov:used           ex:dataSet1 ;
-                prov:used           ex:regionList .
-ex:composition  prov:wasGeneratedBy ex:compose .
-ex:illustrate   prov:used           ex:composition .
-ex:chart1       prov:wasGeneratedBy ex:illustrate .
+exc:compose1     prov:used           exg:dataset1 ;
+                 prov:used           exc:regionList .
+exc:composition1 prov:wasGeneratedBy exc:compose1 .
+exc:illustrate1  prov:used           exc:composition1 .
+exc:chart1       prov:wasGeneratedBy exc:illustrate1 .
 
 # Agents and Responsibility
 
-ex:compose    prov:wasAssociatedWith ex:derek .
-ex:illustrate prov:wasAssociatedWith ex:derek .
-ex:derek a prov:Agent ;
-         a prov:Person ;
-         foaf:givenName "Derek"^^xsd:string ;
-         foaf:mbox      <mailto:[email protected]> .
-ex:derek prov:actedOnBehalfOf ex:chartgen .
-ex:chartgen a prov:Agent ;
-            a prov:Organization ;
-            foaf:name "Chart Generators Inc" .
-ex:chart1 prov:wasAttributedTo ex:derek .
+exc:compose1    prov:wasAssociatedWith exc:derek .
+exc:illustrate1 prov:wasAssociatedWith exc:derek .
+exc:derek a prov:Agent ;
+          a prov:Person ;
+          foaf:givenName "Derek"^^xsd:string ;
+          foaf:mbox      <mailto:[email protected]> .
+exc:derek prov:actedOnBehalfOf exc:chartgen .
+exc:chartgen a prov:Agent ;
+             a prov:Organization ;
+             foaf:name "Chart Generators Inc" .
+exc:chart1 prov:wasAttributedTo exc:derek .
 
 # Roles
     
-ex:dataToCompose        a prov:Role .
-ex:regionsToAggregateBy a prov:Role .
-ex:composedData         a prov:Role .
-ex:analyst              a prov:Role .
-ex:compose prov:qualifiedUsage [
-           a prov:Usage ;
-           prov:entity  ex:dataSet1 ;
-           prov:hadRole ex:dataToCompose 
+exc:dataToCompose        a prov:Role .
+exc:regionsToAggregateBy a prov:Role .
+exc:composedData         a prov:Role .
+exc:analyst              a prov:Role .
+exc:compose1 prov:qualifiedUsage [
+               a prov:Usage ;
+               prov:entity  exg:dataset1 ;
+               prov:hadRole exc:dataToCompose 
 ] .    
-ex:compose prov:qualifiedUsage [
-           a prov:Usage ;
-           prov:entity  ex:regionList ;
-           prov:hadRole ex:regionsToAggregateBy
+exc:compose1 prov:qualifiedUsage [
+               a prov:Usage ;
+               prov:entity  exc:regionList ;
+               prov:hadRole exc:regionsToAggregateBy
 ] .
-ex:compose prov:qualifiedAssociation [
-           a prov:Association ;
-           prov:agent    ex:derek ;
-           prov:hadRole  ex:analyst
+exc:compose1 prov:qualifiedAssociation [
+               a prov:Association ;
+               prov:agent    exc:derek ;
+               prov:hadRole  exc:analyst
 ] .
-ex:composition prov:qualifiedGeneration [
-               a prov:Generation ;
-               prov:activity  ex:compose ;
-               prov:hadRole   ex:composedData
+exc:composition1 prov:qualifiedGeneration [
+                   a prov:Generation ;
+                   prov:activity  exc:compose1 ;
+                   prov:hadRole   exc:composedData
 ] .
 
 # Revision and Derivation
 
-ex:dataSet2 a prov:Entity ;
-            prov:wasRevisionOf ex:dataSet1 .
-ex:chart2 a prov:Entity ;
-          prov:wasDerivedFrom ex:dataSet2 .
-ex:chart2 a prov:Entity ;
-          prov:wasRevisionOf ex:chart1 .
+exg:dataSet2 a prov:Entity ;
+             prov:wasRevisionOf exg:dataset1 .
+exc:chart2   a prov:Entity ;
+             prov:wasDerivedFrom exg:dataSet2 .
+exc:chart2   a prov:Entity ;
+             prov:wasRevisionOf exc:chart1 .
     
 # Plans
 
-ex:correct      a prov:Activity .
-ex:edith        a prov:Agent, prov:Person .
-ex:instructions a prov:Plan .
+exg:correct1    a prov:Activity .
+exg:edith       a prov:Agent, prov:Person .
+exg:instructions a prov:Plan .
     
-ex:correct prov:qualifiedAssociation [
-           a Association ;
-           prov:agent   ex:edith ;
-           prov:hadPlan ex:instructions
+exg:correct1 prov:qualifiedAssociation [
+               a Association ;
+               prov:agent   exg:edith ;
+               prov:hadPlan exg:instructions
 ] .
-ex:dataSet2 prov:wasGeneratedBy ex:correct .
+exg:dataSet2 prov:wasGeneratedBy exg:correct1 .
     
 # Time
 
-ex:chart1 prov:generatedAtTime "2012-03-02T10:30:00"^^xsd:dateTime .
-ex:chart2 prov:generatedAtTime "2012-04-01T15:21:00"^^xsd:dateTime .
+exc:chart1 prov:generatedAtTime "2012-03-02T10:30:00"^^xsd:dateTime .
+exc:chart2 prov:generatedAtTime "2012-04-01T15:21:00"^^xsd:dateTime .
     
-ex:correct prov:startedAtTime "2012-03-31T09:21:00"^^xsd:dateTime ;
-           prov:endedAtTime   "2012-04-01T15:21:00"^^xsd:dateTime .
+exg:correct1 prov:startedAtTime "2012-03-31T09:21:00"^^xsd:dateTime ;
+             prov:endedAtTime   "2012-04-01T15:21:00"^^xsd:dateTime .
     
 # Alternate Entities and Specialization
 
-ex:quoteInBlogEntry a prov:Entity ;
-             prov:wasQuotedFrom ex:article .
+ex:quoteInBlogEntry-20130326 a prov:Entity ;
+                             prov:wasQuotedFrom exn:article .
 
-ex:articleV1 a prov:Entity ;
-             prov:specializationOf ex:article .
+exn:articleV1 a prov:Entity ;
+              prov:specializationOf exn:article .
     
-ex:articleV2 prov:specializationOf ex:article .
-ex:articleV2 prov:alternateOf      ex:articleV1 .
\ No newline at end of file
+exn:articleV2 prov:specializationOf exn:article .
+exn:articleV2 prov:alternateOf      exn:articleV1 .
\ No newline at end of file