prep for fpwd
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Wed, 05 Oct 2011 22:02:45 +0100
changeset 533 3001cae80c89
parent 532 fd133594841b
child 534 fe07dc4c6f5f
prep for fpwd
model/PROV-DM.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/model/PROV-DM.html	Wed Oct 05 22:02:45 2011 +0100
@@ -0,0 +1,2715 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html lang="en" dir="ltr">
+<head> 
+    <title>The PROV data model and abstract syntax notation</title> 
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
+    <!-- 
+      === NOTA BENE ===
+      For the three scripts below, if your spec resides on dev.w3 you can check them
+      out in the same tree and use relative links so that they'll work offline,
+     -->
+<!-- PM -->
+    <style type="text/css">
+      .note { font-size:small; margin-left:50px }
+     </style>
+
+     
+
+     
+  <style type="text/css">
+/*****************************************************************
+ * ReSpec CSS
+ * Robin Berjon (robin at berjon dot com)
+ * v0.05 - 2009-07-31
+ *****************************************************************/
+
+
+/* --- INLINES --- */
+em.rfc2119 { 
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+code {
+    color:  #ff4500;
+}
+
+
+/* --- WEB IDL --- */
+pre.idl {
+    border-top: 1px solid #90b8de;
+    border-bottom: 1px solid #90b8de;
+    padding:    1em;
+    line-height:    120%;
+}
+
+pre.idl::before {
+    content:    "WebIDL";
+    display:    block;
+    width:      150px;
+    background: #90b8de;
+    color:  #fff;
+    font-family:    initial;
+    padding:    3px;
+    font-weight:    bold;
+    margin: -1em 0 1em -1em;
+}
+
+.idlType {
+    color:  #ff4500;
+    font-weight:    bold;
+    text-decoration:    none;
+}
+
+/*.idlModule*/
+/*.idlModuleID*/
+/*.idlInterface*/
+.idlInterfaceID, .idlDictionaryID {
+    font-weight:    bold;
+    color:  #005a9c;
+}
+
+.idlSuperclass {
+    font-style: italic;
+    color:  #005a9c;
+}
+
+/*.idlAttribute*/
+.idlAttrType, .idlFieldType, .idlMemberType {
+    color:  #005a9c;
+}
+.idlAttrName, .idlFieldName, .idlMemberName {
+    color:  #ff4500;
+}
+.idlAttrName a, .idlFieldName a, .idlMemberName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlMethod*/
+.idlMethType {
+    color:  #005a9c;
+}
+.idlMethName {
+    color:  #ff4500;
+}
+.idlMethName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlParam*/
+.idlParamType {
+    color:  #005a9c;
+}
+.idlParamName {
+    font-style: italic;
+}
+
+.extAttr {
+    color:  #666;
+}
+
+/*.idlConst*/
+.idlConstType {
+    color:  #005a9c;
+}
+.idlConstName {
+    color:  #ff4500;
+}
+.idlConstName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlException*/
+.idlExceptionID {
+    font-weight:    bold;
+    color:  #c00;
+}
+
+.idlTypedefID, .idlTypedefType {
+    color:  #005a9c;
+}
+
+.idlRaises, .idlRaises a.idlType, .idlRaises a.idlType code, .excName a, .excName a code {
+    color:  #c00;
+    font-weight:    normal;
+}
+
+.excName a {
+    font-family:    monospace;
+}
+
+.idlRaises a.idlType, .excName a.idlType {
+    border-bottom:  1px dotted #c00;
+}
+
+.excGetSetTrue, .excGetSetFalse, .prmNullTrue, .prmNullFalse, .prmOptTrue, .prmOptFalse {
+    width:  45px;
+    text-align: center;
+}
+.excGetSetTrue, .prmNullTrue, .prmOptTrue { color:  #0c0; }
+.excGetSetFalse, .prmNullFalse, .prmOptFalse { color:  #c00; }
+
+.idlImplements a {
+    font-weight:    bold;
+}
+
+dl.attributes, dl.methods, dl.constants, dl.fields, dl.dictionary-members {
+    margin-left:    2em;
+}
+
+.attributes dt, .methods dt, .constants dt, .fields dt, .dictionary-members dt {
+    font-weight:    normal;
+}
+
+.attributes dt code, .methods dt code, .constants dt code, .fields dt code, .dictionary-members dt code {
+    font-weight:    bold;
+    color:  #000;
+    font-family:    monospace;
+}
+
+.attributes dt code, .fields dt code, .dictionary-members dt code {
+    background:  #ffffd2;
+}
+
+.attributes dt .idlAttrType code, .fields dt .idlFieldType code, .dictionary-members dt .idlMemberType code {
+    color:  #005a9c;
+    background:  transparent;
+    font-family:    inherit;
+    font-weight:    normal;
+    font-style: italic;
+}
+
+.methods dt code {
+    background:  #d9e6f8;
+}
+
+.constants dt code {
+    background:  #ddffd2;
+}
+
+.attributes dd, .methods dd, .constants dd, .fields dd, .dictionary-members dd {
+    margin-bottom:  1em;
+}
+
+table.parameters, table.exceptions {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    margin: 0.5em 0;
+    width:  100%;
+}
+table.parameters { border-bottom:  1px solid #90b8de; }
+table.exceptions { border-bottom:  1px solid #deb890; }
+
+.parameters th, .exceptions th {
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+    font-family:    initial;
+    font-weight:    normal;
+    text-shadow:    #666 1px 1px 0;
+}
+.parameters th { background: #90b8de; }
+.exceptions th { background: #deb890; }
+
+.parameters td, .exceptions td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+    vertical-align: top;
+}
+
+.parameters tr:first-child td, .exceptions tr:first-child td {
+    border-top: none;
+}
+
+.parameters td.prmName, .exceptions td.excName, .exceptions td.excCodeName {
+    width:  100px;
+}
+
+.parameters td.prmType {
+    width:  120px;
+}
+
+table.exceptions table {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    width:  100%;
+}
+
+/* --- TOC --- */
+.toc a {
+    text-decoration:    none;
+}
+
+a .secno {
+    color:  #000;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+
+/* --- EXAMPLES --- */
+pre.example {
+    border-top: 1px solid #ff4500;
+    border-bottom: 1px solid #ff4500;
+    padding:    1em;
+    margin-top: 1em;
+}
+
+pre.example::before {
+    content:    "Example";
+    display:    block;
+    width:      150px;
+    background: #ff4500;
+    color:  #fff;
+    font-family:    initial;
+    padding:    3px;
+    font-weight:    bold;
+    margin: -1em 0 1em -1em;
+}
+
+/* --- EDITORIAL NOTES --- */
+.issue {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #ffc;
+}
+
+.issue::before {
+    content:    "Issue";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.note {
+    margin: 1em 0em 0em;
+    padding:    1em;
+    border: 2px solid #cff6d9;
+    background: #e2fff0;
+}
+
+.note::before {
+    content:    "Note";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #cff6d9;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+/* --- Best Practices --- */
+div.practice {
+    border: solid #bebebe 1px;
+    margin: 2em 1em 1em 2em;
+}
+
+span.practicelab {
+    margin: 1.5em 0.5em 1em 1em;
+    font-weight: bold;
+    font-style: italic;
+}
+
+span.practicelab   { background: #dfffff; }
+
+span.practicelab {
+    position: relative;
+    padding: 0 0.5em;
+    top: -1.5em;
+}
+
+p.practicedesc {
+    margin: 1.5em 0.5em 1em 1em;
+}
+
+@media screen {
+    p.practicedesc {
+        position: relative;
+        top: -2em;
+        padding: 0;
+        margin: 1.5em 0.5em -1em 1em;
+    }
+}
+
+/* --- SYNTAX HIGHLIGHTING --- */
+pre.sh_sourceCode {
+  background-color: white;
+  color: black;
+  font-style: normal;
+  font-weight: normal;
+}
+
+pre.sh_sourceCode .sh_keyword { color: #005a9c; font-weight: bold; }           /* language keywords */
+pre.sh_sourceCode .sh_type { color: #666; }                            /* basic types */
+pre.sh_sourceCode .sh_usertype { color: teal; }                             /* user defined types */
+pre.sh_sourceCode .sh_string { color: red; font-family: monospace; }        /* strings and chars */
+pre.sh_sourceCode .sh_regexp { color: orange; font-family: monospace; }     /* regular expressions */
+pre.sh_sourceCode .sh_specialchar { color: 	#ffc0cb; font-family: monospace; }  /* e.g., \n, \t, \\ */
+pre.sh_sourceCode .sh_comment { color: #A52A2A; font-style: italic; }         /* comments */
+pre.sh_sourceCode .sh_number { color: purple; }                             /* literal numbers */
+pre.sh_sourceCode .sh_preproc { color: #00008B; font-weight: bold; }       /* e.g., #include, import */
+pre.sh_sourceCode .sh_symbol { color: blue; }                            /* e.g., *, + */
+pre.sh_sourceCode .sh_function { color: black; font-weight: bold; }         /* function calls and declarations */
+pre.sh_sourceCode .sh_cbracket { color: red; }                              /* block brackets (e.g., {, }) */
+pre.sh_sourceCode .sh_todo { font-weight: bold; background-color: #00FFFF; }   /* TODO and FIXME */
+
+/* Predefined variables and functions (for instance glsl) */
+pre.sh_sourceCode .sh_predef_var { color: #00008B; }
+pre.sh_sourceCode .sh_predef_func { color: #00008B; font-weight: bold; }
+
+/* for OOP */
+pre.sh_sourceCode .sh_classname { color: teal; }
+
+/* line numbers (not yet implemented) */
+pre.sh_sourceCode .sh_linenum { display: none; }
+
+/* Internet related */
+pre.sh_sourceCode .sh_url { color: blue; text-decoration: underline; font-family: monospace; }
+
+/* for ChangeLog and Log files */
+pre.sh_sourceCode .sh_date { color: blue; font-weight: bold; }
+pre.sh_sourceCode .sh_time, pre.sh_sourceCode .sh_file { color: #00008B; font-weight: bold; }
+pre.sh_sourceCode .sh_ip, pre.sh_sourceCode .sh_name { color: #006400; }
+
+/* for Prolog, Perl... */
+pre.sh_sourceCode .sh_variable { color: #006400; }
+
+/* for LaTeX */
+pre.sh_sourceCode .sh_italics { color: #006400; font-style: italic; }
+pre.sh_sourceCode .sh_bold { color: #006400; font-weight: bold; }
+pre.sh_sourceCode .sh_underline { color: #006400; text-decoration: underline; }
+pre.sh_sourceCode .sh_fixed { color: green; font-family: monospace; }
+pre.sh_sourceCode .sh_argument { color: #006400; }
+pre.sh_sourceCode .sh_optionalargument { color: purple; }
+pre.sh_sourceCode .sh_math { color: orange; }
+pre.sh_sourceCode .sh_bibtex { color: blue; }
+
+/* for diffs */
+pre.sh_sourceCode .sh_oldfile { color: orange; }
+pre.sh_sourceCode .sh_newfile { color: #006400; }
+pre.sh_sourceCode .sh_difflines { color: blue; }
+
+/* for css */
+pre.sh_sourceCode .sh_selector { color: purple; }
+pre.sh_sourceCode .sh_property { color: blue; }
+pre.sh_sourceCode .sh_value { color: #006400; font-style: italic; }
+
+/* other */
+pre.sh_sourceCode .sh_section { color: black; font-weight: bold; }
+pre.sh_sourceCode .sh_paren { color: red; }
+pre.sh_sourceCode .sh_attribute { color: #006400; }
+
+</style><link href="./extra.css" rel="stylesheet" type="text/css" charset="utf-8"><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css" charset="utf-8"></head> 
+  <body style="display: inherit; "><div class="head"><p><a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a></p><h1 class="title" id="title">The PROV data model and abstract syntax notation</h1><h2 id="subtitle">Initial draft for internal discussion</h2><h2 id="w3c-working-draft-05-october-2011">W3C Working Draft 05 October 2011</h2><dl><dt>This version:</dt><dd><a href="http://www.w3.org/TR/2011/WD-PROV-DM-20111005/">http://www.w3.org/TR/2011/WD-PROV-DM-20111005/</a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/PROV-DM/">http://www.w3.org/TR/PROV-DM/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/ProvenanceModel.html">http://dvcs.w3.org/hg/prov/raw-file/default/model/ProvenanceModel.html</a></dd><dt>Editors:</dt><dd><a href="http://www.ecs.soton.ac.uk/~lavm">Luc Moreau</a>, University of Southampton, UK</dd>
+<dd><a href="http://www.cs.ncl.ac.uk/people/Paolo.Missier">Paolo Missier</a>, Newcastle University, UK</dd>
+<dt>Author:</dt><dd><span>TBD</span></dd>
+</dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2011 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p><hr></div> 
+    <div id="abstract" class="introductory section"><h2>Abstract</h2>
+<p>
+This document defines PROV-DM, a data model for provenance, and 
+PROV-ASN, an abstract syntax, which allows
+serializations of PROV-DM instances to be created in a technology independent manner,
+which facilitates its mapping to concrete syntax, and which is used as the basis for a
+formal semantics.
+</p>
+
+    </div><div id="sotd" class="introductory section"><h2>Status of This Document</h2><p><em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at http://www.w3.org/TR/.</em></p><p>This document was published by the <a href="http://www.w3.org/2011/prov/wiki/Main_Page">Provenance Working Group</a> as a First Public Working Draft. This document is intended to become a W3C Recommendation. If you wish to make comments regarding this document, please send them to <a href="mailto:public-prov-wg@w3.org">public-prov-wg@w3.org</a> (<a href="mailto:public-prov-wg-request@w3.org?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-prov-wg/">archives</a>). All feedback is welcome.</p><p>Publication as a Working Draft does not imply endorsement by the W3C 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 W3C Patent Policy</a>. W3C maintains a <a href="" 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 W3C Patent Policy</a>.</p></div><div id="toc" class="section"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction<br>
+</a></li><li class="tocline"><a href="#preliminaries" class="tocxref"><span class="secno">2. </span>Preliminaries</a><ul class="toc"><li class="tocline"><a href="#a-conceptualization-of-the-world" class="tocxref"><span class="secno">2.1 </span>A Conceptualization of the World</a></li><li class="tocline"><a href="#prov-asn--the-provenance-abstract-syntax-notation" class="tocxref"><span class="secno">2.2 </span>PROV-ASN: The Provenance Abstract Syntax Notation</a></li><li class="tocline"><a href="#representation--assertion--and-inference" class="tocxref"><span class="secno">2.3 </span>Representation, Assertion, and Inference</a></li></ul></li><li class="tocline"><a href="#prov-dm-overview" class="tocxref"><span class="secno">3. </span>PROV-DM Overview </a></li><li class="tocline"><a href="#example" class="tocxref"><span class="secno">4. </span>Example</a><ul class="toc"><li class="tocline"><a href="#a-file-scenario" class="tocxref"><span class="secno">4.1 </span>A File Scenario</a></li><li class="tocline"><a href="#example-prov-asn-encoding" class="tocxref"><span class="secno">4.2 </span>Encoding using PROV-ASN</a></li><li class="tocline"><a href="#graphical-illustration" class="tocxref"><span class="secno">4.3 </span>Graphical Illustration</a></li></ul></li><li class="tocline"><a href="#data-model-concepts" class="tocxref"><span class="secno">5. </span>PROV-DM: The Provenance Data Model</a><ul class="toc"><li class="tocline"><a href="#PROV-DM-expression" class="tocxref"><span class="secno">5.1 </span>Expression</a></li><li class="tocline"><a href="#expression-element" class="tocxref"><span class="secno">5.2 </span>Element</a><ul class="toc"><li class="tocline"><a href="#expression-Entity" class="tocxref"><span class="secno">5.2.1 </span>Entity</a></li><li class="tocline"><a href="#expression-ProcessExecution" class="tocxref"><span class="secno">5.2.2 </span>Process Execution</a></li><li class="tocline"><a href="#expression-Agent" class="tocxref"><span class="secno">5.2.3 </span>Agent</a></li><li class="tocline"><a href="#expression-annotation" class="tocxref"><span class="secno">5.2.4 </span>Annotation</a></li></ul></li><li class="tocline"><a href="#expression-relation" class="tocxref"><span class="secno">5.3 </span>Relation</a><ul class="toc"><li class="tocline"><a href="#expression-Generation" class="tocxref"><span class="secno">5.3.1 </span>Generation</a></li><li class="tocline"><a href="#expression-Use" class="tocxref"><span class="secno">5.3.2 </span>Use</a></li><li class="tocline"><a href="#expression-Derivation" class="tocxref"><span class="secno">5.3.3 </span>Derivation</a><ul class="toc"><li class="tocline"><a href="#pe-linked-derivationExpression" class="tocxref"><span class="secno">5.3.3.1 </span>Process Execution Linked Derivation Assertion</a></li><li class="tocline"><a href="#process-execution-independent-derivation-expression" class="tocxref"><span class="secno">5.3.3.2 </span>Process Execution Independent Derivation Expression</a></li><li class="tocline"><a href="#transitive-derivation-expression" class="tocxref"><span class="secno">5.3.3.3 </span>Transitive Derivation Expression</a></li></ul></li><li class="tocline"><a href="#expression-Control" class="tocxref"><span class="secno">5.3.4 </span>Control</a></li><li class="tocline"><a href="#expression-complement-of" class="tocxref"><span class="secno">5.3.5 </span>Complementarity</a></li><li class="tocline"><a href="#expression-OrderingOfProcessExecutions" class="tocxref"><span class="secno">5.3.6 </span>Ordering of Process Executions</a></li><li class="tocline"><a href="#expression-Revision" class="tocxref"><span class="secno">5.3.7 </span>Revision</a></li><li class="tocline"><a href="#expression-Participation" class="tocxref"><span class="secno">5.3.8 </span>Participation</a></li><li class="tocline"><a href="#expression-annotationAssociation" class="tocxref"><span class="secno">5.3.9 </span>Annotation Association</a></li></ul></li><li class="tocline"><a href="#bundle" class="tocxref"><span class="secno">5.4 </span>Bundle</a><ul class="toc"><li class="tocline"><a href="#expression-Account" class="tocxref"><span class="secno">5.4.1 </span>Account</a></li><li class="tocline"><a href="#ProvenanceContainer" class="tocxref"><span class="secno">5.4.2 </span>Provenance Container</a></li></ul></li><li class="tocline"><a href="#expression-other" class="tocxref"><span class="secno">5.5 </span>Other Expressions</a><ul class="toc"><li class="tocline"><a href="#expression-qualifier" class="tocxref"><span class="secno">5.5.1 </span>Qualifier</a></li><li class="tocline"><a href="#expression-attribute" class="tocxref"><span class="secno">5.5.2 </span>Attribute</a></li><li class="tocline"><a href="#expression-name" class="tocxref"><span class="secno">5.5.3 </span>Name</a></li><li class="tocline"><a href="#expression-identifier" class="tocxref"><span class="secno">5.5.4 </span>Identifier</a></li><li class="tocline"><a href="#expression-literal" class="tocxref"><span class="secno">5.5.5 </span>Literal</a></li><li class="tocline"><a href="#expression-Time" class="tocxref"><span class="secno">5.5.6 </span>Time</a><ul class="toc"><li class="tocline"><a href="#temporal-events" class="tocxref"><span class="secno">5.5.6.1 </span>Temporal Events</a></li><li class="tocline"><a href="#event-ordering" class="tocxref"><span class="secno">5.5.6.2 </span>Event Ordering</a></li></ul></li><li class="tocline"><a href="#expression-Asserter" class="tocxref"><span class="secno">5.5.7 </span>Asserter</a></li><li class="tocline"><a href="#expression-NamespaceDeclaration" class="tocxref"><span class="secno">5.5.8 </span>Namespace Declaration</a></li><li class="tocline"><a href="#expression-RecipeLink" class="tocxref"><span class="secno">5.5.9 </span>Recipe Link</a></li><li class="tocline"><a href="#expression-Location" class="tocxref"><span class="secno">5.5.10 </span>Location</a></li></ul></li><li class="tocline"><a href="#extensibility-section" class="tocxref"><span class="secno">5.6 </span>PROV-DM Extensibility Points</a></li><li class="tocline"><a href="#standard-extensions" class="tocxref"><span class="secno">5.7 </span>Standard extensions</a><ul class="toc"><li class="tocline"><a href="#expression-Collection" class="tocxref"><span class="secno">5.7.1 </span>Collections</a></li><li class="tocline"><a href="#common-relations" class="tocxref"><span class="secno">5.7.2 </span>Common relations</a><ul class="toc"><li class="tocline"><a href="#quotation" class="tocxref"><span class="secno">5.7.2.1 </span>Quotation</a></li><li class="tocline"><a href="#attribution" class="tocxref"><span class="secno">5.7.2.2 </span>Attribution</a></li><li class="tocline"><a href="#summary" class="tocxref"><span class="secno">5.7.2.3 </span>Summary</a></li><li class="tocline"><a href="#original-source" class="tocxref"><span class="secno">5.7.2.4 </span>Original Source</a></li></ul></li></ul></li><li class="tocline"><a href="#illustration-conventions" class="tocxref"><span class="secno">5.8 </span>Illustration Conventions</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="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">B.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.2 </span>Informative references</a></li></ul></li></ul></div> 
+    
+    <div id="introduction" class="section"> 
+      <!--OddPage--><h2><span class="secno">1. </span>Introduction<br>
+</h2> 
+
+<div class="note">Introduction needs to be written. It should indicate the aims and scope of this document, and position this document in the family of documents produced by the PROV WG.
+</div>
+
+<p>The key words "<em class="rfc2119" title="must">must</em>", "<em class="rfc2119" title="must not">must not</em>", "<em class="rfc2119" title="required">required</em>", "<em class="rfc2119" title="shall">shall</em>", "<em class="rfc2119" title="shall
+      not">shall
+      not</em>", "<em class="rfc2119" title="should">should</em>", "<em class="rfc2119" title="should not">should not</em>", "<em class="rfc2119" title="recommended">recommended</em>",  "<em class="rfc2119" title="may">may</em>", and
+      "<em class="rfc2119" title="optional">optional</em>" in this document are to be interpreted as described in
+      [<cite><a class="bibref" rel="biblioentry" href="#bib-RFC2119">RFC2119</a></cite>].</p>
+
+    </div> 
+
+
+<div id="preliminaries" class="section">
+<!--OddPage--><h2><span class="secno">2. </span>Preliminaries</h2>
+
+    <div id="a-conceptualization-of-the-world" class="section"> 
+<h3><span class="secno">2.1 </span>A Conceptualization of the World</h3>
+
+
+<p>This specification is based on a conceptualization of the world
+that is described in this section. In the world (whether real or not),
+there are things, which can be physical, digital, conceptual, or
+otherwise, and activities involving things.  Words such thing or
+activity should be understood with their informal meaning.</p>
+
+<p>When we talk about things in the world in natural language and even when we assign identifiers, we are often imprecise in ways that make it difficult to clearly and unambiguously report provenance: a resource with a URL may be understood as referring to a report available at that URL, the version of the report available there today, the report independent of where it is hosted over time, etc.</p>
+
+
+<!--
+<div class='paolo'>This is the single most important issue IMO: we hit readers with this "characterised thing" which is unexpected. We need to be absolutely clear about it...
+  <br/>ok, so it seems that characterized thing is introduced to deal with (1) imprecision, (2) disagreement amongst different "observers" of the same data-related events. I don't think this is about "disambiguation". It's about accommmodating different perspectives on the what is the same abstract "thing".  This interpretation fits with the example:  "different users may take different perspective..."</div>
+-->
+
+<p>Hence, to accommodate different perspectives on things and their situation in the world as perceived by us, we introduce the concept of <dfn id="concept-characterized-thing">characterized thing</dfn>, which refers to a thing and its situation in the world, as characterized by someone. A characterized thing <em>fixes some aspects</em> of a thing and its situation in the world, so that it becomes possible to express its provenance, and what causes these specific aspects to be as such. An alternative characterized thing may fix other aspects, and its provenance may be entirely different.</p>
+
+<div class="xmpl">
+Different users may take different perspectives about a resource with
+a URL. These perspectives in this conceptualization of the world are
+referred to as characterized things. Three such characterized things may be
+expressed:
+<ul>
+<li>a report available at  URL: fixes the nature of the thing, i.e. a document, and its location; </li>
+<li>the version of the report available there today: fixes its version number, contents, and its date;</li>
+<li>the report independent of where it is hosted over time: fixes the nature of the thing as a concepual artifact.</li></ul>
+The provenance of these three characterized things will differ, and may be along the follow lines: 
+<ul>
+<li>the provenance of a report available at  URL may include: the act of publishing it and making it available at a given location, possibly under some license and access control;</li>
+<li>the provenance of the version of the report available there today may include: the authorship of the specific content, and reference to imported content;</li>
+<li>the provenance of the report independent of where it is hosted over time may include: the motivation for writing the report, the overall methodology for producing it, and the broad team involved in it.</li>
+</ul>
+</div>
+
+<!--
+<div class='paolo'>can we follow through from the example. thare three perspectives, possibly by just one observer or multiple ones. but <strong>why is it so important for reporting provenance</strong> that this distinction is made?  I feel we need to connect this approach to provenance recording strongly and right away</div>
+-->
+
+<p>We do not assume that any characterization is more important than any other, and in fact, it is possible to describe the processing that occurred for the report to be commissioned, for individual versions to be created, for those versions to be published at the given URL, etc., each via a different characterized thing that characterizes the report appropriately.</p>
+
+<p>In the world, <dfn id="concept-activity">activities</dfn> involve
+things in multiple ways: they consume them, they process them, they
+transform them, they modify them, they change them, they relocate
+them, they use them, they generate them, they are controlled by them,
+etc.</p>
+
+
+<p>In our conceptualization of the world, punctual events, or <dfn id="concept-event">events</dfn> for short, happen in the world, which mark changes in the world, in its activities, and in its things.  This specification assumes that a partial order exists between events. How practically such order is realized is beyond the scope of this specification. Possible implementations of that ordering include a single global notion of time and Lamport's style clocks.</p>
+
+<p> In this specification, the qualifier 'identifiable' is implicit whenever a reference is made to an activity or characterized thing.</p>
+    </div> 
+
+    <div id="prov-asn--the-provenance-abstract-syntax-notation" class="section"> 
+<h3><span class="secno">2.2 </span>PROV-ASN: The Provenance Abstract Syntax Notation</h3>
+
+<p>This specification defines PROV-DM, a data model for provenance, and relies on a language, PROV-ASN, the Provenance Abstract Syntax Notation, to express
+<em>instances</em> of that data model. </p>
+
+<p>PROV-ASN is an abstract syntax, whose goals are:
+</p><ul>
+<li>to allow serializations of PROV-DM instances in a technology independent manner, which makes it more readable for human consumption;
+</li><li>to facilitate the mapping of PROV-DM to concrete syntax;
+</li><li>to provide the basis for a formal semantics.
+</li></ul>
+
+<p>This specification provides a grammar for PROV-ASN. Each expression of the PROV-DM data model is explained 
+in terms of the production of this grammar.</p>
+
+
+
+<p>The formal semantics of PROV-DM is defined at
+[<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-SEMANTICS">PROV-SEMANTICS</a></cite>] and its encoding in the OWL2 Web Ontology Language at [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-OWL2">PROV-OWL2</a></cite>].
+</p>
+
+<div class="note">TODO: We need to define the BNF notation. We propose to use the same notation as in [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL2-SYNTAX">OWL2-SYNTAX</a></cite>]
+(see section <a href="http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#BNF_Notation">BNF Notation</a>).
+</div>
+
+
+
+<div class="pending">Formalism used is not explained, not applied to concepts <a href="http://www.w3.org/2011/prov/track/issues/87">ISSUE-87</a>.</div>
+
+
+    </div> 
+
+    <div id="representation--assertion--and-inference" class="section"> 
+<h3><span class="secno">2.3 </span>Representation, Assertion, and Inference</h3>
+
+<p>
+PROV-DM is a provenance data model designed to express <em>representations</em> of the world. 
+</p>
+
+<div class="xmpl">
+A file at some point during its lifecycle, which includes multiple edits by multiple people, can be represented by its location in the file system, a creator, and content.  
+</div>
+
+
+<p>
+These representations are relative to an asserter, and in that sense constitute assertions stating properties of the world, as represented by an asserter. Different asserters will normally contribute different representations, and no attempt is made to define a notion of consistency of such different sets of assertions. The data model provides the means to associate attribution to assertions.  
+</p>
+
+<div class="note">Suggestion: add "should not attempt to define or ensure the 
+consistency of the assertions made by the same asserter."</div>
+
+<div class="xmpl">
+An alternative representation of the above file is a set of blocks in a hard disk.
+</div>
+
+
+<p>The data model is designed to capture events that happened in the past, as opposed to events
+that may or will happen. 
+However, this distinction is not formally enforced.
+Therefore, all PROV-DM assertions <em class="rfc2119" title="should">should</em> be interpreted as a record of what has happened, as opposed to what may or will happen.</p>
+
+
+
+<p> 
+This specification does not prescribe the means by which an asserter arrives at assertions; for example, assertions can be composed on the basis of observations, reasoning, or any other means. 
+</p>
+
+
+<p>
+Sometimes, inferences about the world can be made from representations
+conformant to the PROV-DM data model. When this is the case, this
+specification defines such inferences. Hence, representations of the
+world can result either from direct assertions by asserters or from
+application of inferences defined by this specification.
+</p>
+
+
+
+</div>
+</div>
+
+    <div id="prov-dm-overview" class="section"> 
+<!--OddPage--><h2><span class="secno">3. </span>PROV-DM Overview </h2>
+
+
+
+<!--
+<div class='note'>
+<p>It is proposed to write a short overview of the model, so that the reader can get a feel for what the model does. </p>
+<p>A notion of graph</p>
+<p>Typed nodes, entities, process execution, agents, which are respectively representions of characterized things, activities, and characterized things capable of activies. Show their graphical represenation.</p>
+<p>Typed edges: use, generation, derivation, peOrder, participation, complementarity. Show their graphical representations.</p>
+<p>The ability to delimit subgraph, as representations of the world asserted by asserters, by a notion of account.
+<p>
+</div>
+-->
+
+<p>
+The following diagram provides a high level overview of the PROV-DM. Examples of a set of provenance assertions that conform to this schema are provided in the next section (note: cardinality constraints on the associations are 0..* unless otherwise stated)</p>
+
+  <img src="overview.png" style="align=center;" alt="PROV-DM overview">
+
+<p>The model includes the following fundamental types:</p>
+<ul>
+  <li>An instance of an <strong>Entity</strong> is a representation of a <em>characterized thing</em>, as defined informally above. The specific nature of an entity is specified by means of a set of <strong>characterizing attributes</strong>. The
+      <strong>wasComplementOf</strong> relationship is used to denote that two entities <em>complement</em> each other, in the sense that they each represent a partial, but mutually compatible characterization of the same thing.</li>
+  
+  <li>An instance of a <strong>Process Execution</strong> represents an activity that has an effect on entities, namely it either <em>generates</em> or <em>uses</em> one or more entities. Use and generation are modelled by means of the <strong>used</strong> and the <strong>wasGeneratedBy</strong> relationships. Additionally, one can use the <strong>hadParticipant</strong> relation to indicate participation of an Entity in a Process Execution.  Activities may include not only computations, but also any other type of activity that can be described in terms of their effect on entities.
+Note that multiple Process Executions may <em>use</em> the same entity, and each may use multiple entities. Finally, entities can be derived from other entities, and this is specified using the <strong>wasDerivedFrom</strong> relation.</li>
+  
+  <li>An instance of <strong>Agent</strong> represent a particular entity that can be associated to activities, meaning it is capable of controlling Process Executions.
+  Agents have a rather generic connotation: their  association with an activity, represented by the <strong>controlledBy</strong> relationship, can take up various meanings (attribution, responsibility, supervision, management, etc.), which are not individually specified in the model.</li>
+  </ul>
+
+
+The model includes two additional types: <strong>qualifiers</strong> and <strong>annotations</strong>. These are both structured as sets of attribute-value pairs.
+ <ul><li> Qualifiers can be associated to relations, namely <strong>use</strong> and <strong>wasGeneratedBy</strong>, in order to further characterise their nature. <strong>Role</strong> is a standard qualifier.</li>
+<li>  Annotations are used to provide additional, "free-form" information regarding <strong>any</strong> identifiable construct of the model, with no prescribed meaning. The difference between attributes and annotations is further clarified <a href="#expression-annotation">here</a>. </li>
+</ul>
+    
+Attributes, qualifiers,  and annotation are the main <strong>extensibility points</strong> in the model: individual interest groups  are expected to extend PROV-DM by introducing new sets of attributes, qualifiers, and annotations as needed to address applications-specific provenance modelling requirements. 
+    
+
+<div class="pending">Conceptual model needs a high level overview <a href="http://www.w3.org/2011/prov/track/issues/86">ISSUE-86</a>.</div>
+    </div> 
+
+
+    <div class="informative section" id="example"> 
+<!--OddPage--><h2><span class="secno">4. </span>Example</h2><p><em>This section is non-normative.</em></p>
+
+To illustrate PROV-DM, this section presents an example encoded according to PROV-ASN.  For more detailed explanations of how PROV-DM should be used, and for more examples, we refer the reader to the Provenance Primer [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-PRIMER">PROV-PRIMER</a></cite>].
+
+
+
+
+
+<div class="pending">Comments on section 3.2. This is <a href="http://www.w3.org/2011/prov/track/issues/71">ISSUE-71</a></div>
+
+    <div id="a-file-scenario" class="section"> 
+<h3><span class="secno">4.1 </span>A File Scenario</h3>
+
+
+<p>This scenario is concerned with the evolution of a crime statistics
+file (referred to as e0) stored on a shared file system and which
+journalists Alice, Bob, Charles, David, and Edith can share and
+edit. We consider various events in the evolution of file e0;
+events listed below follow each other, unless otherwise specified.</p>
+
+
+
+<p>
+Event evt1: Alice creates (pe0) an empty file in /share/crime.txt.  We denote this e1.
+</p>
+
+<p>
+Event evt2: Bob appends (pe1) the following line to /share/crime.txt:</p>
+<pre>There was a lot of crime in London last month.
+</pre>
+<p>We denote this e2.</p>
+
+<p>Event evt3: Charles emails (pe2) the contents of /share/crime.txt, as an
+attachment, which we refer to as e4. (We specifically refer to a copy of the file that is uploaded on the mail server.)
+</p>
+
+<p>
+Event evt4: David edits (pe3) file /share/crime.txt as follows.</p>
+<pre>There was a lot of crime in London and New-York last month.
+</pre>
+<p>
+We denote this e3.
+</p>
+
+<p>Event evt5: Edith emails (pe4) the contents of /share/crime.txt as an attachment, referred to as e5.
+</p>
+
+<p>Event evt6: between events evt4 and evt5, someone (unspecified) runs a spell checker (pe5) on the file /share/crime.txt.
+ The file after spell checking is referred to as e6.
+</p>
+
+</div> 
+
+    <div id="example-prov-asn-encoding" class="section"> 
+<h3><span class="secno">4.2 </span>Encoding using PROV-ASN</h3>
+
+In this section, the example is encoded according to the provenance data model (specified in section <a href="#data-model-concepts">PROV-DM: The Provenance Data Model</a>) and expressed in PROV-ASN. 
+<p>
+Entity Expressions (described in <a href="#expression-Entity">Section Entity</a>). The file in its various forms and its copies are modelled as entity expressions, corresponding to multiple characterizations, as per scenario. The entity expressions are identified by  <span class="name">e0</span>, ..., <span class="name">e6</span>.</p>
+<pre>entity(e0, [ type="File", location="/shared/crime.txt", creator="Alice" ])
+entity(e1, [ type="File", location="/shared/crime.txt", creator="Alice", content="" ])
+entity(e2, [ type="File", location="/shared/crime.txt", creator="Alice", content="There was a lot of crime in London last month."])
+entity(e3, [ type="File", location="/shared/crime.txt", creator="Alice", content="There was a lot of crime in London and New York last month."])
+entity(e4, [ ])
+entity(e5, [ ])
+entity(e6, [ type="File", location="/shared/crime.txt", creator="Alice", content="There was a lot of crime in London and New York last month.", spellchecked="yes"])
+</pre>
+
+
+
+<p>These entity expression list attributes that have been given values during intervals delimited by events; such intervals are referred to as <em>characterization intervals</em>. The following table lists all entity identifiers and their corresponding characterization intervals. When the end of the characterization interval is not delimited by an event described in this scenario, it is marked by "...".</p>
+<blockquote>
+<table>
+<tbody><tr><td>Entity</td><td>Characterization Interval</td></tr>
+<tr><td>e0</td><td>evt1 - ...</td></tr>
+<tr><td>e1</td><td>evt1 - evt2</td></tr>
+<tr><td>e2</td><td>evt2 - evt4</td></tr>
+<tr><td>e3</td><td>evt4 - ...</td></tr>
+<tr><td>e4</td><td>evt3 - ...</td></tr>
+<tr><td>e5</td><td>evt5 - ...</td></tr>
+<tr><td>e6</td><td>evt6 - ... </td></tr>
+</tbody></table>
+</blockquote>
+
+
+
+<p>
+Process Execution Expressions (described in <a href="#expression-ProcessExecution">Section Process Execution</a>) represent activities in the scenario.</p>
+<pre>processExecution(pe0,create-file,t,,[])
+processExecution(pe1,add-crime-in-london,t+1,,[])
+processExecution(pe2,email,t+2,,[])
+processExecution(pe3,edit-London-New-York,t+3,,[])
+processExecution(pe4,email,t+4,,[])
+processExecution(pe5,spellcheck,,,[])
+</pre>
+
+
+<p>
+Generation Expressions (described in <a href="#expression-Generation">Section Generation</a>) represent the event at which a file is created in a specific form. To describe the modalities according to which the various characterized things are generated by a given activity, a qualifier  (expression described in <a href="#expression-qualifier">Section Qualifier</a>) is introduced.  The interpretation of qualifiers is application specific. Illustrations of such qualifiers for the scenario are: no qualifier is provided for <span class="name">e0</span>;
+<span class="name">e2</span> was generated by the editor's  save function;  <span class="name">e4</span> can be found on the smtp port, in the attachment section of the mail message; <span class="name">e6</span> was produced on the standard output of <span class="name">pe5</span>.</p>
+<pre>wasGeneratedBy(e0, pe0, qualifier())
+wasGeneratedBy(e1, pe0, qualifier(fct="create"))
+wasGeneratedBy(e2, pe1, qualifier(fct="save"))     
+wasGeneratedBy(e3, pe3, qualifier(fct="save"))     
+wasGeneratedBy(e4, pe2, qualifier(port="smtp", section="attachment"))  
+wasGeneratedBy(e5, pe4, qualifier(port="smtp", section="attachment"))    
+wasGeneratedBy(e6, pe5, qualifier(file="stdout"))
+</pre>
+
+
+
+<p>
+Expressions of type <strong>UsedExpressions</strong> (described in <a href="#expression-Use">Section Use</a>) represent the event by which a file is read by a process execution. 
+
+Likewise, to describe the modalities according to which the various things are used by activities, a qualifier  (construct described in <a href="#expression-qualifier">Section Qualifier</a>) is introduced.  Illustrations of such qualifiers are: 
+<span class="name">e1</span> is used in the context of  <span class="name">pe1</span>'s <span class="name">load</span> functionality; <span class="name">e2</span> is used by <span class="name">pe2</span> in the context of its attach functionality; <span class="name">e3</span> is used on the standard input by <span class="name">pe5</span>. </p>
+<pre>used(pe1,e1,qualifier(fct="load"))
+used(pe3,e2,qualifier(fct="load"))
+used(pe2,e2,qualifier(fct="attach"))
+used(pe4,e3,qualifier(fct="attach"))
+used(pe5,e3,qualifier(file="stdin"))
+</pre>
+
+
+<p>
+Derivation Expressions (described in <a href="#expression-Derivation">Section Derivation</a>) express that an entity is derived from another.  The first two are expressed in their compact version, whereas the following two are expressed in their full version, including the process execution underpinnng the derivation, and relevant qualifiers qualifying the use and generation of entities.</p>
+<pre>wasDerivedFrom(e2,e1)
+wasDerivedFrom(e3,e2)
+wasDerivedFrom(e4,e2,pe2,qualifier(port=smtp, section="attachment"),qualifier(fct="attach"))
+wasDerivedFrom(e5,e3,pe4,qualifier(port=smtp, section="attachment"),qualifier(fct="attach"))
+</pre>
+
+
+
+<p>
+wasComplementOf:   (this relation is described in <a href="#expression-complement-of">Section wasComplementOf</a>). The crime statistics file (<span class="name">e0</span>) has various contents over its existence (<span class="name">e1</span>, <span class="name">e2</span>, <span class="name">e3</span>); the entity expressions identified by <span class="name">e1</span>, <span class="name">e2</span>, <span class="name">e3</span> complement <span class="name">e0</span> with an attribute content.  Likewise, the one denoted by <span class="name">e6</span> complements the expression denoted by <span class="name">e3</span> with an attribute spellchecked.</p>
+<pre>wasComplementOf(e1,e0)
+wasComplementOf(e2,e0)
+wasComplementOf(e3,e0)
+wasComplementOf(e6,e3) 
+</pre>
+
+
+
+<p>
+Agent Expressions (described at <a href="#expression-Agent">Section Agent</a>): the various users are represented as agents, themselves being a type of entity.</p>
+<pre>entity(a1, [ type="Person", name="Alice" ])
+agent(a1)
+
+entity(a2, [ type="Person", name="Bob" ])
+agent(a2)
+
+entity(a3, [ type="Person", name="Charles" ])
+agent(a3)
+
+entity(a4, [ type="Person", name="David" ])
+agent(a4)
+
+entity(a5, [ type="Person", name="Edith" ])
+agent(a5)
+</pre>
+
+
+
+<p>
+Control Expressions (described in <a href="#expression-Control">Section Control</a>): the influence of an agent over a process execution is expressed as control, and the nature of this influence is described by qualifier  (construct described in <a href="#expression-qualifier">Section Qualifier</a>).  Illustrations of such qualifiers include the role of the participating agenr: are creator, author and communicator.</p>
+<pre>wasControlledBy(pe0,a1, qualifier(role="creator"))
+wasControlledBy(pe1,a2, qualifier(role="author"))
+wasControlledBy(pe2,a3, qualifier(role="communicator"))
+wasControlledBy(pe3,a4, qualifier(role="author"))
+wasControlledBy(pe4,a5, qualifier(role="communicator"))
+</pre>
+</div> 
+
+
+    <div id="graphical-illustration" class="section"> 
+<h3><span class="secno">4.3 </span>Graphical Illustration</h3>
+
+Provenance assertions can be illustrated as a graph.
+Details about the graphical illustration can be found in <a href="#illustration-convention">appendix</a>.
+
+<img src="example-graphical.png" alt="example">
+
+<img src="timeline.png" alt="example">
+</div> 
+
+</div> 
+
+
+
+<div id="data-model-concepts" class="section"> 
+
+<!--OddPage--><h2><span class="secno">5. </span>PROV-DM: The Provenance Data Model</h2>
+
+<p>This section contains the normative specification of PROV-DM, the PROV data model.</p>
+
+   <div id="PROV-DM-expression" class="section"> 
+      
+<h3><span class="secno">5.1 </span>Expression</h3>
+
+<p>PROV-DM consists of a set of constructs to formulate representations of the world and constraints that must be satisfied by them.  In PROV-ASN, such representations of the world <em class="rfc2119" title="must">must</em> be conformant with the toplevel production <span class="nonterminal">expression</span> of the grammar. These <span class="nonterminal">expression</span>s are grouped in three categories:
+<span class="nonterminal">elementExpression</span> (see section <a href="#expression-element">Element</a>),
+<span class="nonterminal">relationExpression</span>  (see section <a href="#expression-relation">Relation</a>), and
+<span class="nonterminal">accountExpression</span> (see section <a href="#expression-Account">Account</a>).</p>
+
+
+<div class="grammar">
+<span class="nonterminal">expression</span>&nbsp;:=  
+<span class="nonterminal">elementExpression</span> 
+| <span class="nonterminal">relationExpression</span> 
+| <span class="nonterminal">accountExpression</span> 
+<br>
+<!-- -->
+<br>
+<span class="nonterminal">elementExpression</span>&nbsp;:=  
+<span class="nonterminal">entityExpression</span> 
+| <span class="nonterminal">processExecutionExecution</span> 
+| <span class="nonterminal">agentExpression</span>
+| <span class="nonterminal">annotationExpression</span> <br>
+<!-- -->
+<br>
+<span class="nonterminal">relationExpression</span>&nbsp;:=  
+<span class="nonterminal">generationExpression</span> 
+| <span class="nonterminal">useExpression</span> 
+| <span class="nonterminal">derivationExpression</span> 
+| <span class="nonterminal">controlExpression</span> 
+| <span class="nonterminal">complementExpression</span> 
+| <span class="nonterminal">peOrderingExpression</span> 
+| <span class="nonterminal">revisionExpression</span> 
+| <span class="nonterminal">participationExpression</span>
+| <span class="nonterminal">annotationAssociationExpression</span> 
+</div>
+
+Furthermore, the PROV data model includes a "house-keeping construct" acting as a wrapper for interchanging PROV-DM expressions, which is compliant with the production <span class="nonterminal">provenanceContainer</span> (see section <a href="#ProvenanceContainer">Provenance Container</a>).
+
+</div>
+
+   <div id="expression-element" class="section"> 
+<h3><span class="secno">5.2 </span>Element</h3>
+
+<p>This section describes all the PROV-ASN expressions conformant to the <span class="nonterminal">elementExpression</span> production of the grammar.</p>
+
+
+
+   <div id="expression-Entity" class="section"> 
+      
+<h4><span class="secno">5.2.1 </span>Entity</h4>
+
+<p>In PROV-DM, an  <dfn id="dfn-entity" title="entity">entity expression</dfn> is a representation of an identifiable characterized thing.</p>
+
+<p>
+In PROV-ASN, an entity expression's text matches the <span class="nonterminal">entityExpression</span> production of the grammar defined in this specification document.
+</p>
+
+<div class="grammar">
+<span class="nonterminal">entityExpression</span>&nbsp;:=  
+<span class="name">entity</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="name">[</span>
+<span class="nonterminal">attribute-values</span>
+<span class="name">]</span>
+<span class="name">)</span><br>
+<!-- -->
+<span class="nonterminal">attribute-values</span>&nbsp;:=  
+<span class="nonterminal">attribute-value</span>
+| <span class="nonterminal">attribute-value</span> <span class="name">,</span> <span class="nonterminal">attribute-values</span>
+<br>
+<span class="nonterminal">attribute-value</span>&nbsp;:=  
+<span class="nonterminal">attribute</span>
+<span class="name">=</span>
+<span class="nonterminal">Literal</span>
+<br>
+</div>
+
+
+
+<p>An instance of an entity expression, noted <span class="name">entity(id, [ attr1=val1, ...])</span> in PROV-ASN:</p>
+<ul>
+<li> contains an identifier <span class="name">id</span> identifying a characterized thing;</li>
+<li> contains a set of attribute-value pairs <span class="name">[ attr1=val1, ...]</span>, representing this characterized thing's situation in the world.</li>
+</ul>
+
+
+<p>
+The assertion of an instance of an entity expression, <span class="name">entity(id, [ attr1=val1, ...])</span>, states, from a given asserter's viewpoint, the existence of an identifiable characterized thing, whose situation in the world is represented by the attribute-value pairs, which remain unchanged during a characterization interval, i.e. a continuous interval between two events in the world. 
+</p>
+
+
+
+<p>
+The following entity assertion,</p>
+<pre class="example">entity(e0, [ type="File", location="/shared/crime.txt", creator="Alice" ])</pre>
+states the existence of a thing of type File and location /shared/crime.txt,  and creator alice, denoted by identifier e0, during some characterization interval.
+
+
+Further considerations:
+<ul>
+<li>If an asserter wishes to characterize a thing with the same attribute-value pairs over several intervals, then they are required to assert multiple entity expressions, each with its own identifier (so as to allow potential dependencies between the various entity expressions to be expressed).  </li>
+
+<li>There is no assumption that the set of attributes is complete and that the attributes are independent/orthogonal of each other.</li>
+
+<li>A characterization interval may collapse into a single instant.</li>
+
+<li>An entity assertion
+ is about a characterized thing, whose  situation in the world may be variant.
+ An entity assertion is made at a particular point and is invariant, in the sense that 
+its attributes are assigned a value as part of that assertion.
+</li>
+
+<li>Activities are not represented by entities, but instead by process
+executions, as explained below.</li>
+</ul>
+
+
+
+
+
+
+<div class="pending">How is domain specific data combined with the provenance model? This is <a href="http://www.w3.org/2011/prov/track/issues/65">ISSUE-65</a>.</div>
+
+
+
+<div class="pending">Definition of Entity is confusing, maybe over-complex <a href="http://www.w3.org/2011/prov/track/issues/85">ISSUE-85</a>.</div>
+
+
+ 
+
+    </div> 
+
+    <div id="expression-ProcessExecution" class="section"> 
+      
+<h4><span class="secno">5.2.2 </span>Process Execution</h4>
+<p>In PROV-DM, a <dfn id="dfn-ProcessExecution">process execution expression</dfn> is a representation an identifiable activity, which performs a piece of work.</p>
+
+<p>In PROV-ASN, a process execution expression's text matches the <span class="nonterminal">processExecutionExpression</span> production of the grammar defined in this specification document.</p>
+
+
+
+<div class="grammar">
+<span class="nonterminal">processExecutionExpression</span>&nbsp;:=  
+<span class="name">processExecution</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+[ <span class="name">,</span>
+<span class="nonterminal">recipeLink</span> ]
+<span class="name">,</span>
+[ <span class="nonterminal">time</span> ]
+<span class="name">,</span>
+[ <span class="nonterminal">time</span> ]
+<span class="name">,</span>
+<span class="nonterminal">other-attribute-values</span>
+<span class="name">)</span><br>
+<span class="nonterminal">other-attribute-values</span>&nbsp;:=  <span class="nonterminal">attribute-values</span>
+</div>
+
+<p>The activity that a process execution expression is a representation of has a duration, delimited by its start and its end events; hence, it occurs over an interval delimited by two events. However, a process execution expression need not mention time information, nor duration, because they may not be known.</p>
+
+<p>Such start and end times constitute <em>attributes</em> of an activity, where the meaning of attribute in the context of a process execution expression is similar to the meaning of attribute for entity expression. A process execution expression's attribute remains constant for the duration of the activity it represents.  Further characteristics of the activity in the world can be represented by other attribute-value pairs, which <em class="rfc2119" title="must">must</em> also remain unchanged during the activity duration.</p>
+
+<p> An instance of a process execution expression, noted <span class="name">processExecution(id, rl, st, et, [ attr1=val1, ...])</span> in PROV-ASN:</p>
+<ul>
+<li> contains an identifier <span class="name">id</span>;</li>
+<li> <em class="rfc2119" title="may">may</em> contain a <a href="#expression-RecipeLink">recipe link</a> <span class="name">rl</span>, which consists of a domain specific description of the activity;</li>
+<li> <em class="rfc2119" title="may">may</em> contain a start time <span class="name">st</span>;</li>
+<li> <em class="rfc2119" title="may">may</em> contain an end time <span class="name">et</span>;</li>
+<li> contains a set of attribute-value pairs <span class="name">[ attr1=val1, ...]</span>, representing other attributes of this activity that hold for its all duration.</li>
+</ul>
+
+
+<p>
+The following process execution assertion</p>
+<pre class="example">processExecution(pe1,add-crime-in-london,t+1,t+1+epsilon,[host="server.example.com"])</pre>
+<p>identified by identifier <span class="name">id</span>, states the existence of an activity with recipe link <span class="name">add-crime-in-london</span>, start time <span class="name">t+1</span>, and end time <span class="name">t+1+epsilon</span>, running on host <span class="name">server.example.com</span>.  The attribute <span class="name">host</span> is application specific, but <em class="rfc2119" title="must">must</em> hold for the duration of activity.
+</p>
+
+<p>The mere existence of a process execution assertion entails some event ordering in the world, since the start event precedes the end event.  This is expressed by constraint <a href="'#start-precedes-end'">start-precedes-end</a>.</p>
+
+<div class="constraint" id="start-precedes-end"> From a process execution expression, one can infer that the
+start event precedes the end event of the represented activity.</div>
+
+<p>A process execution expression is not an entity expression.
+Indeed, an entity expression represents a thing that exists in full at
+any point in its characterization interval, persists during this
+interval, and preserves the characteristics that makes it
+identifiable.  Alternatively, an activity in something that happens,
+unfolds or develops through time, but is typically not identifiable by
+the characteristics it exhibits at any point during its duration.</p>
+
+
+</div> 
+
+<div id="expression-Agent" class="section">
+<h4><span class="secno">5.2.3 </span>Agent</h4>
+
+
+
+<p>An <dfn id="dfn-Agent">agent expression</dfn> is a representation a characterized thing capable of
+activity.</p> 
+
+<p>In PROV-ASN, an agent expression's text matches the <span class="nonterminal">agentExpression</span> production of the grammar defined in this specification document.
+</p>
+
+
+<div class="grammar">
+<span class="nonterminal">agentExpression</span>&nbsp;:= 
+<span class="name">agent</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">)</span>
+</div>
+
+
+
+<p> An agent expression, written <span class="name">agent(e)</span> in PROV-ASN,
+ refers to an entity expression denoted by identifier <span class="name">e</span> and representing the characterized thing capable of activity.
+</p>
+
+<p>For a characterized thing, one can assert an agent expression or alternatively, one can infer an agent expression
+by involvement in an activity represented by a process execution expression.  </p>
+
+
+
+<p>
+With the following assertions,</p>
+
+<pre class="example">entity(e1, [employee="1234", name="Alice"])  and agent(e1)
+
+entity(e2) and wasControlledBy(pe,e2,qualifier(role="author"))</pre>
+<p>the entity expression identified by <span class="name">e1</span> is accompanied by an explicit assertion of an agent expression, and this assertion holds irrespective of process executions it may be involved in. On the contrary, from the entity expression identified  by <span class="name">e2</span>, one can inferred an agent expression, as per the following inference.
+</p>
+
+<div class="constraint" id="control-agent">
+<span class="conditional">If</span> the expressions
+  <span class="name">entity(e,av)</span>
+and
+<span class="name">wasControlledBy(pe,e)</span> hold for some identifiers 
+<span class="name">pe</span>, <span class="name">e</span>, and attribute-values <span class="name">av</span>, then
+the expression <span class="name">agent(e)</span> also holds.
+</div>
+</div>
+
+   <div id="expression-annotation" class="section"> 
+      
+<h4><span class="secno">5.2.4 </span>Annotation</h4>
+
+<p>An <dfn id="dfn-annotation">annotation expression</dfn> is a set of name-value pairs, whose meaning is application specific. It may or may not be a representation of something in the world.</p> 
+
+<p>In PROV-ASN, an annotation expression's text matches the <span class="nonterminal">annotationExpression</span> production of the grammar defined in this specification document.
+</p>
+
+
+<div class="grammar">
+<span class="nonterminal">annotationExpression</span>&nbsp;:= 
+<span class="name">annotation</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">name-values</span>
+<span class="name">)</span><br>
+<!-- -->
+<span class="nonterminal">name-values</span>&nbsp;:=  
+<span class="nonterminal">name-value</span>
+| <span class="nonterminal">name-value</span> <span class="name">,</span> <span class="nonterminal">name-values</span>
+<br>
+<span class="nonterminal">name-value</span>&nbsp;:=  
+<span class="nonterminal">name</span>
+<span class="name">=</span>
+<span class="nonterminal">Literal</span>
+</div>
+
+<p>A separate PROV-DM expression is used to associate an annotation with an expression (see <a href="#expression-annotationAssociation">Section on annotation association</a>). A given annotation may be associated with multiple expressions.
+</p>
+
+
+<p>
+The following annotation expression</p>
+<pre class="example">annotation(ann1,[color="bue", screenX=20, screenY=30])</pre>
+<p>consists of a list of application-specific name-value pairs, intended
+to help the rendering of the expression it is associated with, by
+specifying its color and its position on the screen.  In this example,
+these name-value pairs do not constitute a representation of something
+in the world; they are just used to help render provenance.
+</p>
+
+<p>
+Name-value pairs occurring in annotations differ from attribute-value pairs (occurring in entity expressions and process execution expressions).  Attribute-value pairs <em class="rfc2119" title="must">must</em> be a representation of something in the world, which remain constant for the duration of the characterization interval (for entity expression) or the activity duration (for process execution expressions). It is <em class="rfc2119" title="optional">optional</em> for name-value pairs to be representations  of something in the world. If they are a representation of something in the world, then it <em class="rfc2119" title="may">may</em> change value for the corresponding duration. If name-value pairs are a representation of something in the world that does not change, they are not regarded as determining characteristics of a characterized thing or activity, for the purpose of provenance. Indeed, it is not expectede that provenance would contain an explanation for these attribute-values.
+</p>
+
+
+   </div> 
+
+</div>
+
+
+<div id="expression-relation" class="section">
+<h3><span class="secno">5.3 </span>Relation</h3>
+
+<p>This section describes all the PROV-ASN expressions conformant to the <span class="nonterminal">relationExpression</span> production of the grammar.</p>
+
+
+<div id="expression-Generation" class="section">
+<h4><span class="secno">5.3.1 </span>Generation</h4>
+
+
+<p>In PROV-DM, a <dfn id="dfn-Generation">generation expression</dfn> is a representation of a world event, the creation of a new characterized thing by an activity. This characterized thing did not exist before creation. 
+The representation of this invent encompasses a description of the modalities of generation of this thing by this activity.</p>
+
+<p>In PROV-ASN, a generation expression's text matches the <span class="nonterminal">generationExpression</span> production of the grammar defined in this specification document.</p>
+
+<div class="grammar">
+<span class="nonterminal">generationExpression</span>&nbsp;:=  
+<span class="name">wasGeneratedBy</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">generationQualifier</span>
+[<span class="name">,</span>
+<span class="nonterminal">time</span>]
+<span class="name">)</span><br>
+</div>
+
+
+
+<p>An instance of a generation expression, noted <span class="name">wasGeneratedBy(e,pe,q,t)</span> in PROV-ASN:</p>
+<ul>
+<li> contains an identifier <span class="name">e</span> identifying an entity expression that represents the characterized thing that is created; </li>
+<li> contain an identifier <span class="name">pe</span> identifying a process execution expression that represents the activity that creates the characterized thing;</li>
+
+<li> contains a <a href="#expression-qualifier">generationQualifier</a> <span class="name">q</span> that describes the modalities of generation of this thing by this activity;</li>
+
+<li> <em class="rfc2119" title="may">may</em> contain a "generation time" <span class="name">t</span>, the time at which the characterized thing was created.</li>
+</ul>
+
+
+
+<p>
+The following generation assertions</p>
+<pre class="example">wasGeneratedBy(e1,pe1,qualifier(port="p1", order=1),t1)
+wasGeneratedBy(e2,pe1,qualifier(port="p1", order=2),t2)</pre>
+<p>state the existence of two events in the world (with respective times <span class="name">t1</span> and <span class="name">t2</span>), at which new characterized things, represented by entity expressions identified by <span class="name">e1</span> and <span class="name">e2</span>, are created by an activity, itself represented by a process execution expression identified by <span class="name">pe1</span>.
+The first one is available as the first value on port p1, whereas the other is the second value on port p1.  The semantics of <span class="name">port</span> and <span class="name">order</span> in these expressions are application specific.
+</p>
+
+
+<p>A given entity expression can be referred to in a single generation expression in the scope of a given <a href="#expression-Account">account</a>.
+The rationale for this constraint is as follows.
+If two process executions sequentially set different values to some attribute by means of two different generate events, then they generate distinct entities. Alternatively,  for two process executions to generate an entity simultaneously, they would require some synchronization by which they agree the entity is released for use; the end of this synchronization would constitute the actual generation of the entity, but is performed by a single process execution. This unicity constraint is formalized as follows.
+
+</p><div class="constraint" id="generation-unicity">Given an entity expression denoted by <span class="name">e</span>, two process execution expressions denoted by <span class="name">pe1</span> and <span class="name">pe2</span>, and two qualifiers <span class="name">q1</span> and <span class="name">q2</span>,
+<span class="conditional">if</span> the expressions <span class="name">wasGeneratedBy(e,pe1,q1)</span> and <span class="name">wasGeneratedBy(e,pe2,q2)</span> exist in the scope of a given account,
+<span class="conditional">then</span> <span class="name">pe1</span>=<span class="name">pe2</span>  and <span class="name">q1</span>=<span class="name">q2</span>.
+</div> 
+
+
+A generation event <em class="rfc2119" title="should">should</em> have some visibility on the attributes of the generated entity, as expressed by the following constraint.
+
+
+<div class="constraint" id="generation-affects-attributes">Given an identifier <span class="name">pe</span> for a process execution expression, an identifier <span class="name">e</span> for an entity expression, qualifier <span class="name">q</span>, and optional time <span class="name">t</span>,
+<span class="conditional">if</span> the assertion <span class="name">wasGeneratedBy(e,pe,r)</span>
+or <span class="name">wasGeneratedBy(e,pe,r,t)</span> holds, <span class="conditional">then</span> the values of <em>some</em> of <span class="name">e</span>'s
+attributes are determined by the activity represented by process execution expression identified by <span class="name">pe</span> and the
+entity expressions used by <span class="name">pe</span>.
+Only some (possibly none) of the attributes values  may be determined
+since, in an open world, not all used entity expressions may have been
+asserted.  
+</div>
+
+The assertion of a generation event implies ordering of events in the world.
+
+
+<div class="constraint" id="generation-pe-ordering"><span class="conditional">If</span> an assertion <span class="name">wasGeneratedBy(x,pe,r)</span> or <span class="name">wasGeneratedBy(x,pe,r,t)</span>, <span class="conditional">then</span> generation of the thing denoted by <span class="name">x</span> precedes the end
+of <span class="name">pe</span> and follows the beginning of <span class="name">pe</span>. 
+</div> 
+
+
+
+
+
+
+
+</div>
+
+
+<div id="expression-Use" class="section">
+<h4><span class="secno">5.3.2 </span>Use</h4>
+
+
+
+<p>In PROV-DM, a <dfn id="dfn-Use">use expression</dfn> is a representation of a world event: the consumption of a characterized thing by an activity. The representation includes a description of the modalities of use of this thing by this activity.</p>
+
+<p>In PROV-ASN, a use expression's text matches the <span class="nonterminal">useExpression</span> production of the grammar defined in this specification document.</p>
+
+<div class="grammar">
+<span class="nonterminal">useExpression</span>&nbsp;:=  
+<span class="name">used</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">useQualifier</span>
+[<span class="name">,</span>
+<span class="nonterminal">time</span>]
+<span class="name">)</span><br>
+<br>
+</div>
+
+
+<p>An instance of a use expression, noted <span class="name">used(pe,e,q,t)</span> in PROV-ASN:</p>
+<ul>
+<li> refers to a process execution expression identified by <span class="name">pe</span>, which represents the consuming activity;</li>
+<li> refers to an entity expression identified by <span class="name">e</span>, which represents the characterized thing that is consumed;</li>
+<li> contains a <a href="#expression-qualifier">useQualifier</a> <span class="name">q</span>, which describes the modalities of use of this thing by this activity;</li>
+<li> <em class="rfc2119" title="may">may</em> contain a "use time" <span class="name">t</span>, the time at which the characterized thing was used.</li>
+</ul>
+
+
+<p>The following use assertions</p>
+<pre class="example">used(pe1,e1,qualifier(parameter="p1"),t1)
+used(pe1,e2,qualifier(parameter="p2"),t2)</pre>
+<p>state that the activity, represented by the process execution expression identified by <span class="name">pe1</span>, consumed two characterized things, represented by entity expressions identified by <span class="name">e1</span> and <span class="name">e2</span>, at times <span class="name">t1</span> and  <span class="name">t2</span>, respectively; the first one was found as the value of parameter <span class="name">p1</span>, whereas the second was found as value of parameter <span class="name">p2</span>.  The semantics of <span class="name">parameter</span> in these expressions is application specific.</p>
+
+
+<p>A reference to a given entity expression <em class="rfc2119" title="may">may</em> appear in multiple use expressions that share
+ a given process execution expression identifier. If one wants to annotate a use edge expression or if one wants to express a <a href="#pe-linked-derivationExpression"><span class="nonterminal">pe-linked-derivationExpression</span></a> referring to this entity and process execution expressions, the qualifier occuring in this use assertion <em class="rfc2119" title="must">must</em> be unique among the qualifiers qualifiying use expressions for this  process execution expression.
+</p>
+
+<!-- Luc, should we write a constraint for this? It's not clear the
+constraint is formulated properly -->
+
+
+
+<div class="constraint" id="use-attributes">
+Given a process execution expression identified by <span class="name">pe</span>, an entity expression identified by <span class="name">e</span>, a qualifier <span class="name">q</span>, and optional time <span class="name">t</span>, <span class="conditional">if</span>
+ assertion <span class="name">used(pe,e,q)</span> or <span class="name">used(pe,e,q,t)</span> holds, 
+<span class="conditional">then</span> the existence of an attribute-value pair in the entity expression identified by <span class="name">e</span> is a
+pre-condition for the termination of the activity represented by the process execution expression identified by <span class="name">pe</span>.
+</div>
+
+
+
+<div class="constraint" id="use-pe-ordering">Given a process execution expression identified by <span class="name">pe</span>, an entity expression identified by <span class="name">e</span>, a qualifier <span class="name">q</span>, and optional time <span class="name">t</span>, <span class="conditional">if</span>
+ assertion <span class="name">used(pe,e,q)</span> or <span class="name">used(pe,e,q,t)</span> holds, <span class="conditional">then</span> 
+ the use of the thing represented by entity expression identified by <span class="name">e</span> precedes the end
+time contained in the process execution expression identified by <span class="name">pe</span> and follows its beginning. Furthermore,  the generation of the thing denoted by entity expression identified by <span class="name">e</span> always precedes
+its use.
+</div>
+
+
+<div class="issue">Should we define a taxonomy of use? This is <a href="http://www.w3.org/2011/prov/track/issues/23">ISSUE-23</a>.</div>
+
+</div>
+
+
+
+<div id="expression-Derivation" class="section">
+<h4><span class="secno">5.3.3 </span>Derivation</h4>
+
+
+<p>In PROV-DM, a <dfn id="dfn-Derivation">derivation expression</dfn> is a representation that some characterized thing is transformed from, created from, or affected by another characterized thing in the world.  </p>
+
+<p>PROV-DM offers two different forms of derivation expressions. The first one is tightly connected to the notion of activity (represented by a process execution expression), whereas the second one is not. The first kind of assertion is particularly suitable for asserters who have an intimate knowledge of activities, is more prescriptive, but offers a more precise description of derivation, whereas the second does not put such a requirement on the asserter, and allows a less precise description of derivation to be formulated. Both expressions need to be asserted by asserters, since PROV-DM does not provide the means to infer them; however, from these assertions, further derivations can be inferred by transitive closure. </p>
+
+<p>In PROV-ASN, a derivation expression's text matches the <span class="nonterminal">derivationExpression</span> production of the grammar defined in this specification document.</p>
+
+
+<div class="grammar">
+<span class="nonterminal">derivationExpression</span>&nbsp;:= 
+<span class="nonterminal">pe-linked-derivationExpression</span>
+| <span class="nonterminal">pe-independent-derivationExpression</span>
+| <span class="nonterminal">transitiveDerivationExpression</span><br>
+
+<span class="nonterminal">pe-linked-derivationExpression</span>:=  
+<span class="name">wasDerivedFrom</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+[<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">generationQualifier</span>
+<span class="name">,</span>
+<span class="nonterminal">useQualifier</span>]
+<span class="name">)</span><br>
+
+<span class="nonterminal">pe-independent-derivationExpression</span>:=  
+<span class="name">wasEventuallyDerivedFrom</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+<span class="name">)</span><br>
+
+<span class="nonterminal">transitiveDerivationExpression</span>:=  
+<span class="name">dependedOn</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+<span class="name">)</span><br>
+</div>
+
+<p>The three kinds of derivation expressions are successively introduced.</p>
+
+
+<div id="pe-linked-derivationExpression" class="section">
+<h5><span class="secno">5.3.3.1 </span>Process Execution Linked Derivation Assertion</h5>
+
+<p>A process execution linked derivation expression, which, by definition of a derivation expression, is a representation that some characterized thing is transformed from, created from, or affected by another characterized thing, also entails the existence of a process execution expression that represents an activity that transforms, creates or affects this characterized thing.</p>
+
+<p>In its full form, a process-execution linked derivation expression, noted <span class="name">wasDerivedFrom(e2,e1,pe,q2,q1)</span> in PROV-ASN:</p>
+<ul>
+<li> refers to an entity expression identified by <span class="name">e2</span>, which is a representation of the generated characterized thing;</li>
+<li> refers to an entity expression identified by <span class="name">e1</span>, which is a representation of the used characterized thing;</li>
+<li> refers to a process execution expression identified by <span class="name">pe</span>, which is a representation of the activity using and generating the above characterized things;</li>
+<li> contains a qualifier <span class="name">q2</span>, which qualifies the generation expression pertaining to <span class="name">e2</span> and <span class="name">pe</span>;</li>
+<li> contains a qualifier <span class="name">q1</span>, which qualifies in the use expression pertaining to <span class="name">e1</span> and <span class="name">pe</span>.</li>
+</ul>
+
+
+
+
+
+<p>For convenience, PROV-DM allows for a compact, process-execution linked derivation assertion, written <span class="name">wasDerivedFrom(e2,e1)</span> in PROV-ASN, which:</p>
+<ul>
+<li> refers to an entity expression identified by <span class="name">e2</span>, which is a representation of the generated characterized thing;
+</li><li> refers to an entity expression identified by <span class="name">e1</span>, which is a represenation of the used characterized thing.
+</li></ul>
+
+
+
+<p>The following derivation assertions</p>
+<pre class="example">wasDerivedFrom(e5,e3,pe4,qualifier(channel=out),qualifier(channel=in))
+wasDerivedFrom(e3,e2)</pre>
+<p>
+state the existence of process-linked derivations;
+the first expresses that the activity represented by the process execution <span class="name">pe4</span>, by
+using the thing represented by <span class="name">e3</span> obtained on the <span class="name">in</span> channel
+ derived the
+thing represented by entity <span class="name">e5</span> and generated it on
+channel <span class="name">out</span>. The second is similar for <span class="name">e3</span> and <span class="name">e2</span>, but it leaves the process execution expression and associated qualifiers implicit. The meaning of "channel" is application specific.
+</p>
+
+
+<p>
+The following inference rule states that a generation and use event can be inferred from a process execution linked derivation expression.
+</p>
+
+<div class="constraint" id="derivation-events">
+<span class="conditional">If</span> <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span> holds, <span class="conditional">then</span>
+  <span class="name">wasGeneratedBy(e2,pe,r2)</span> and <span class="name">used(pe,e1,r1)</span> also
+  hold.
+</div>
+
+
+<p>The compact version has the same meaning as the fully formed
+process-execution linked derivation expression, except that a process
+execution expression is known to exist, though it does not need to be
+asserted.  This is formalized by the following inference rule,
+referred to as <em>process execution introduction</em>:</p>
+<div class="constraint" id="derivation-process-execution">
+<span class="conditional">If</span> <span class="name">wasDerivedFrom(e2,e1)</span> holds, <span class="conditional">then</span> there exists a process execution expression identified by <span class="name">pe</span>, and qualifiers <span class="name">q1</span>,<span class="name">q2</span>,
+such that:
+  <span class="name">wasGeneratedBy(e2,pe,q2)</span> and <span class="name">used(pe,e1,q1)</span>. 
+</div>
+
+
+
+
+<p>If a derivation expression holds for <span class="name">e2</span> and <span class="name">e1</span>, then it means that the thing represented by the entity expression identified by <span class="name">e1</span> has an influence on the thing represented by the entity expression identified by <span class="name">e2</span>, which is captured by a dependency between their attribute values; it also implies temporal ordering. These are specified as follows:</p>
+
+<div class="constraint" id="derivation-attributes">Given a process execution expression denoted by <span class="name">pe</span>, entity expressions denoted by <span class="name">e1</span> and <span class="name">e2</span>, qualifiers <span class="name">q1</span> and <span class="name">q2</span>, the assertion <span class="name">wasDerivedFrom(e2,e1,pe,q2,q1)</span>
+or <span class="name">wasDerivedFrom(e2,e1)</span> holds <span class="conditional">if and only if</span>
+ the values of some attributes of the entity expression identified by
+ <span class="name">e2</span> are partly or fully determined by the values of some
+attributes of the entity expression identified by <span class="name">e1</span>. </div>
+
+
+<div class="constraint" id="derivation-use-generation-ordering">Given a process execution expression identified by <span class="name">pe</span>, entity expressions identified by <span class="name">e1</span> and <span class="name">e2</span>, qualifiers <span class="name">q1</span> and <span class="name">q2</span>, <span class="conditional">if</span> the assertion <span class="name">wasDerivedFrom(e2,e1,pe,q2,q1)</span>
+or <span class="name">wasDerivedFrom(e2,e1)</span> holds, <span class="conditional">then</span>
+the use
+of characterized thing denoted by <span class="name">e1</span> precedes the generation of
+the characterized thing denoted by <span class="name">e2</span>.
+</div>
+
+
+
+<p>
+Note that inferring derivation from use and generation does not hold
+in general. Indeed, when a generation <span class="name">wasGeneratedBy(e2,pe,r2)</span>
+precedes <span class="name">used(pe,e1,r1)</span>, for
+some <span class="name">e1</span>, <span class="name">e2</span>, <span class="name">r1</span>, <span class="name">r2</span>, and <span class="name">pe</span>, one
+cannot infer derivation <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span>
+or <span class="name">wasDerivedFrom(e2,e1)</span> since the values of attributes
+of <span class="name">e2</span> cannot possibly be determined by the values of attributes
+of <span class="name">e1</span>, given the creation of <span class="name">e2</span> precedes the use
+of <span class="name">e1</span>.
+</p>
+
+
+<p>A further inference is permitted from the compact version of derivation expression: </p>
+<div class="constraint" id="derivation-use">
+<p>Given a process execution expression identified by <span class="name">pe</span>, entity expressions identified by <span class="name">e1</span> and <span class="name">e2</span>, and qualifier <span class="name">q2</span>,
+<span class="conditional">if</span> <span class="name">wasDerivedFrom(e2,e1)</span> and <span class="name">wasGeneratedBy(e2,pe,q2)</span> hold, <span class="conditional">then</span> there exists a qualifier <span class="name">q1</span>,
+such that <span class="name">used(pe,e1,r1)</span> also holds.
+</p></div>
+<p>This inference is justified by the fact that the characterized thing represented by entity expression identified by <span class="name">e2</span> is generated by at most one activity in a given account (see <a href="#generation-unicity">generation-unicity</a>). Hence,  this process execution expression is also the one referred to in the use expression of <span class="name">e1</span>. 
+</p>
+
+
+
+<p>We note that the "symmetric" inference, does not hold.
+From <span class="name">wasDerivedFrom(e2,e1)</span> and <span class="name">used(pe,e1)</span>, one cannot
+derive <span class="name">wasGeneratedBy(e2,pe,r2)</span> because identifier <span class="name">e1</span> may occur in use expressions referring to 
+many process execution expressions, but they may not be referred to in generation expressions containing identifier <span class="name">e2</span>.</p>
+
+
+
+</div>
+
+<div id="process-execution-independent-derivation-expression" class="section">
+<h5><span class="secno">5.3.3.2 </span>Process Execution Independent Derivation Expression</h5>
+
+
+
+
+<p>A process execution independent derivation expression is a representation of a derivation, which occurred by any means whether direct or not, and regardless of any activity in the world.</p>
+
+<p>A process-execution independent derivation expression, written <span class="name">wasEventuallyDerivedFrom (e2, e1)</span> in PROV-ASN, 
+</p><ul>
+<li> contains an identifier <span class="name">e2</span>, denoting an entity expression, which represents the generated characterized thing;
+</li><li> contains an identifier <span class="name">e1</span>, denoting an entity expression, which represents the used characterized thing.
+</li></ul>
+
+
+<p>If a derivation expression (wasEventuallyDerivedFrom) holds for <span class="name">e2</span> and <span class="name">e1</span>, then 
+this means that the thing represented by entity expression identified by <span class="name">e1</span> has an influence on the thing represented entity expression identified by <span class="name">e2</span>,
+  which at the minimum implies temporal ordering, specified as follows:</p>
+
+<div class="constraint" id="derivation-generation-generation-ordering">
+Given two entity expressions denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class="conditional">if</span> the expression <span class="name">wasEventuallyDerivedFrom(e2,e1)</span>
+ holds, <span class="conditional">then</span> the
+generation event of the characterized thing  represented by the entity expression denoted by <span class="name">e1</span> precedes the generation event of
+the characterized thing represented by the entity expression denoted by <span class="name">e2</span>.
+  </div>
+
+<p>Note that temporal ordering is between generations of <span class="name">e1</span>
+and <span class="name">e2</span>, as opposed to process execution linked derivation,
+which implies temporal ordering between the use of <span class="name">e1</span> and
+generation of <span class="name">e2</span> (see <a href="#derivation-use-generation-ordering">derivation-use-generation-ordering</a>).  Indeed, in the case of
+wasEventuallyDerivedFrom, nothing is known about the use of <span class="name">e1</span>,
+since there is no associated process execution.</p>
+
+<p>A process execution linked derivation expression is a richer  than a process execution independent derivation expression, since it
+contains or implies the existence of a process execution expression. Hence, from
+the former, we can infer the latter.</p>
+<div class="constraint" id="derivation-linked-independent">
+Given two entity expressions denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class="conditional">if</span> the assertion <span class="name">wasEventuallyDerivedFrom(e2,e1)</span>
+ holds, <span class="conditional">then</span> the
+ the assertion <span class="name">wasEventuallyDerivedFrom(e2,e1)</span> also holds.
+  </div>
+
+<p>Hence, a process-execution independent derivation expression can be directly asserted or can be inferred (by means of <a href="#derivation-linked-independent">derivation-linked-independent</a>).</p>
+
+
+<div class="note">Should we link wasEventuallyDerivedFrom to attributes as we did for wasDerivedFrom?  If so, this type of inference should be presented upfront, for both.</div>
+
+
+
+
+
+</div>
+
+<div id="transitive-derivation-expression" class="section">
+<h5><span class="secno">5.3.3.3 </span>Transitive Derivation Expression</h5>
+
+
+<p>
+If <span class="name">wasDerivedFrom(e2,e1)</span> holds because attribute <span class="name">a2.1</span> of <span class="name">e2</span> is determined by attribute <span class="name">a1.1</span> of <span class="name">e1</span>,
+and if <span class="name">wasDerivedFrom(e3,e2)</span> holds because attribute <span class="name">a3.1</span>of <span class="name">e3</span> is determined by  attribute <span class="name">a2.2</span> of <span class="name">e1</span>, it is not necessarily the case that an attribute of <span class="name">e3</span> is determined by an attribute of <span class="name">e1</span>; so, an asserter may not be able to assert <span class="name">wasDerivedFrom(e3,e1)</span>, since it would fail to satisfy constraint <a href="#derivation-attributes">derivation-attributes</a>.  Hence, the constraint on attributes as expressed in <a href="#derivation-attributes">derivation-attributes</a> invalidates transitivity in the general case.
+</p>
+
+<p>However, there is sense that <span class="name">e3</span> still depends on <span class="name">e1</span>, since <span class="name">e3</span> could not be generated without <span class="name">e1</span> existing. Hence, we introduce a weaker notion of derivation expression, which is transitive.</p>
+
+An instance of a transitive derivation expression, written <span class="name">dependedOn(e2, e1)</span> in PROV-ASN:
+<ul>
+<li> contains an identifier <span class="name">e2</span>, denoting an entity expression, which represents the characterized thing that is the result of the derivation;
+</li><li> contains an identifier <span class="name">e1</span>, denoting an entity expression, which represents the characterized thing that the derivation relies upon.
+</li></ul>
+<p>The expression <span class="name">dependedOn</span> can only be inferred; in other word, it cannot be asserted. It is
+transitive by definition and relies on the previously defined derivation assertions for its
+base case.</p>
+
+<div class="constraint" id="transitive-derivation">
+<ul> 
+<li><span class="conditional">If</span> <span class="name">wasDerivedFrom(e2,e1)</span> or <span class="name">wasDerivedFrom(e2,e1,pe,r2,r1)</span> holds, <span class="conditional">then</span> <span class="name">dependedOn(e2,e1)</span> holds.</li>
+<li><span class="conditional">If</span> <span class="name">wasEventuallyDerivedFrom(e2,e1)</span> holds, <span class="conditional">then</span> <span class="name">dependedOn(e2,e1)</span> holds.</li>
+<li><span class="conditional">If</span> <span class="name">dependedOn(e3,e2)</span> and <span class="name">dependedOn(e2,e1)</span> hold, <span class="conditional">then</span> <span class="name">dependedOn(e3,e1)</span> holds.</li>
+</ul>
+</div>
+
+</div>
+
+
+
+
+
+<div class="issue">Should derivation have a time? Which time? This is   <a href="http://www.w3.org/2011/prov/track/issues/43">ISSUE-43</a>.</div>
+
+
+
+</div>
+
+
+
+
+
+<div id="expression-Control" class="section">
+<h4><span class="secno">5.3.4 </span>Control</h4>
+
+<p> A <dfn id="dfn-Control">control expression</dfn> is a representation of the involvement of characterized thing (represented as an agent expression or an entity expression) in an activity, which is represented by a process execution expression; a control qualifier qualifies this involvement.</p>
+
+<p>In PROV-ASN, a control expression's text matches the <span class="nonterminal">controlExpression</span> production of the grammar defined in this specification document.
+</p>
+
+
+<div class="grammar">
+<span class="nonterminal">controlExpression</span>&nbsp;:= 
+<span class="name">wasControlledBy</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>,
+<span class="nonterminal">identifier</span>,
+<span class="nonterminal">controlQualifier</span>
+<span class="name">)</span>
+</div>
+
+
+<p>An instance of a control expression, noted <span class="name">wasControlledBy(pe,ag,q)</span> in PROV-ASN:</p>
+<ul>
+<li> contains an identifier <span class="name">pe</span> denoting a process execution expression, representing the controlled activity;
+</li><li> refers to an agent expression or an entity expression identified by <span class="name">ag</span>, representing the controlling characterized thing;
+</li><li> contains a qualifier <span class="name">q</span>, qualifying the involvement of the thing in the activity.
+</li></ul>
+
+
+<p>
+The following control assertion</p>
+<pre class="example">wasControlledBy(pe3,a4,[role=author])</pre>
+<p>states that the activity, represented by the process execution expression denoted by <span class="name">pe3</span> saw the involvement of a characterized thing, represented by entity expression denoted by  <span class="name">a4</span> in the capacity of author. This specification defines the qualifier name <span class="name">role</span> (see Section <a href="#expression-qualifier">Qualifier</a>) to denote the function of a characterized thing with respect to an activity.
+</p>
+
+</div>
+
+
+<div id="expression-complement-of" class="section">
+
+<h4><span class="secno">5.3.5 </span>Complementarity</h4>
+
+
+<p>A <dfn id="complementOf">complementarity expression</dfn> is a relationship between two characterized things stated to have compatible characterization over some continuous interval between two events.</p>
+
+
+<p>
+The rationale for introducing this relationship is that in general, at any given time, for a thing in the world, there may be multiple ways of characterizing it, and hence multiple representations can be asserted by different asserters. In the example that follows, suppose thing "Royal Society" is represented by two asserters, each using a different set of attributes. If the asserters agree that both representations refer to "The  Royal Society", the question of whether any correspondence can be established between the two representations arises naturally. This is particularly relevant when (a) the sets of properties used by the two representations overlap partially, or (b) when one set is subsumed by the other. In both these cases, we have a situation where each of the two asserters has a partial view of "The  Royal Society", and establishing a correspondence between them on the shared properties is beneficial, as in case (a) each of the two representation <em>complements</em> the other, and in case (b) one of the two (that with the additional properties) complements the other.</p>
+
+<p>This intuition is made more precise by considering the entities that form the representations of characterised things at a certain point in time. 
+
+An entity expression represents, by means of attribute-value pairs, a thing and its situation in the world, which remain constant over a characterization interval.
+As soon as the thing's situation changes, this marks the end of the characterization interval for the entity expression representing it. The thing's novel situation is represented by an attribute with a new value, or an entirely different set of  attribute-value pairs, embodied in another entity expression, with a new characterization interval. Thus, if we overlap the timelines (or, more generally, the sequences of value-changing events) for the two characterised things, we can hope to establish correspondences amongst the entity expressions that represent them at various points along that events line. The figure below illustrates this intuition.</p>
+
+<img src="complement-of.png" alt="illustration complementOf">
+
+<p>
+Relation <em>complement-of</em> between two entity expressions is intended to capture these correspondences, as follows. Suppose entity expressions A and B share a set P of properties, and each of them has other properties in addition to P. If the values assigned to each property in P are <em>compatible</em> between A and B, then we say that <em>A is-complement-of B</em>, and <em>B is-complement-of A</em>, in a symmetrical fashion. In the particular case where the set P of properties of B is a strict superset of A's properties, then we say that <em>B is-complement-of A</em>, but in this case the opposite does not hold. In this case, the relation is not symmetric.  (as a special case, A and B may not share any attributes at all, and yet the asserters may still stipulate that they are representing the same thing "Royal Society". The symmetric relation may hold trivially in this case).</p>
+
+<p>The term <em>compatible</em> used above means that a mapping can be established amongst the values of attributes in P and found in the two entity expession. This generalizes to the case where attribute sets P1 and P2 of A, and B, respectively, are not identical but they can be mapped to one another. The simplest case is the identity mapping, in which A and B share attribute set P, and furthermore the values assigned to attributes in P match exactly.</p>
+
+<p>It is important to note that the relation holds only for the characterization intervals of the entity expessions involved As soon as one attribute changes value in one of them, new correspondences need to be found amongst the new entities. Thus, the relation has a validity span that can be expressed in terms of the event lines of the thing.</p>
+
+<!--
+The "IVP of" relationship is designed to represent pairs of entities that correspond to each other. By their own nature, an entity remains valid only as long as all of its attributes do not change their value. It follows that the correspondence "B IVP of A" is only valid within the time interval during which such invariance property holds for both A and B. When any of the property values change in either A or B, those entities are replaced by new ones, and a new correspondence may be established. Thus, "IVP of" is defined relative to the intersection of the temporal intervals for which A and B are valid.
+-->
+
+
+
+<p>In PROV-ASN, a complementarity expression's text matches the <span class="nonterminal">complementarityExpression</span> production of the grammar defined in this specification document.</p>
+
+<div class="grammar">
+<span class="nonterminal">complementarityExpression</span>&nbsp;:=  
+<span class="name">wasComplementOf</span> 
+<span class="name">(</span> 
+<span class="nonterminal">identifier</span> 
+<span class="name">,</span> 
+<span class="nonterminal">identifier</span> 
+<span class="name">)</span> 
+</div>
+
+
+
+<p>An instance of a complementarity expression is written <span class="name">wasComplementOf(e2,e1)</span>, where <span class="name">e1</span> and <span class="name">e2</span> are  two identifiers denoting entity expressions.</p>
+
+<pre class="example">entity(rs,[created="1870"])
+
+entity(rs_l1,[location="loc2"])
+entity(rs_l2,[location="The Mall"])
+
+entity(rs_m1,[membership="250", year="1900"])
+entity(rs_m2,[membership="300", year="1945"])
+entity(rs_m3,[membership="270",  year="2010"])
+
+wasComplementOf(rs_m3, rs_l2)
+wasComplementOf(rs_m2, rs_l1)
+wasComplementOf(rs_m2, rs_l2)
+wasComplementOf(rs_m1, rs_l1)
+
+wasComplementOf(rs_m3, rs)
+wasComplementOf(rs_m2, rs)
+wasComplementOf(rs_m1, rs)
+wasComplementOf(rs_l1, rs)
+wasComplementOf(rs_l2, rs)</pre>
+
+
+<div class="constraint" id="wasComplementOf-necessary-cond">
+An assertion "wasComplementOf(B,A)" holds over the temporal intersection of A and B, <span class="conditional">only if</span>: 
+<ol>
+<li> if a mapping can be established from an attribute X of entity expression identified by B to an attribute Y of entity expression identified by A, then the values of A and B must be consistent with that mapping;</li>
+  <li>entity expression identified by B has some attribute that entity expression identified by A does not have.
+</li></ol>
+ </div>
+
+<p>The complementariy relation is not transitive. Let us consider identifiers <span class="name">e1</span>, <span class="name">e2</span>, and <span class="name">e3</span> identifying three entity expressions such that 
+ <span class="name">wasComplementOf(e3,e2)</span> and <span class="name">wasComplementOf(e2,e1)</span> hold.  The expression <span class="name">wasComplementOf(e3,e1)</span> may not hold because the characterization intervals of the denoted entity expressions may not overlap.</p>
+
+
+<div class="note">We will allow wasComplementOf to be asserted between entities identified by qualified identifiers. This will allow us to express   wasComplementOf between entities asserted in separate accounts (potentially, with the same identifiers).
+</div>
+
+
+<div class="pending">Mutual ivpOf each other should be agreed. This is <a href="http://www.w3.org/2011/prov/track/issues/29">ISSUE-29</a></div>
+
+<div class="pending">Do we need a sameAsEntity relation. This is <a href="http://www.w3.org/2011/prov/track/issues/35">ISSUE-35</a></div>
+
+<div class="pending">Is ivpOf transitive? This is <a href="http://www.w3.org/2011/prov/track/issues/45">ISSUE-45</a></div>
+
+<div class="pending"> Comments on ivpof in <a href="http://www.w3.org/2011/prov/track/issues/57">ISSUE-57</a>.</div>
+
+
+</div>
+
+
+<div id="expression-OrderingOfProcessExecutions" class="section">
+<h4><span class="secno">5.3.6 </span>Ordering of Process Executions</h4>
+</div>
+
+<div class="note">Proposal to change the name to "Dependencies amongst Process Executions"  to avoid ambiguities</div>
+
+<p>PROV-DM allows two forms of temporal relationships between activities to be expressed.
+An <dfn id="InformationFlowOrdering">information flow ordering expression</dfn> is a representation that a characterized thing was generated by an activity, before it was used by another activity.
+A <dfn id="ControlOrdering">control ordering expression</dfn> is a representation that the end of
+an activity precedes the start of another activity.
+</p>
+
+<p>In PROV-ASN, a process execution ordering expression's text matches the <span class="nonterminal">peOrderingExpression</span> production of the grammar defined in this specification document.
+</p>
+
+<div class="grammar">
+<span class="nonterminal">peOrderingExpression</span>&nbsp;:= 
+<span class="nonterminal">informationFlowOrderingExpression</span> |
+<span class="nonterminal">controlOrderingExpression</span>
+<br>
+
+<span class="nonterminal">informationFlowOrderingExpression</span> &nbsp;:= 
+<span class="name">wasInformedBy</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+<span class="name">)</span>
+<br>
+
+<span class="nonterminal">controlOrderingExpression</span> &nbsp;:= 
+<span class="name">wasScheduledAfter</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+<span class="name">)</span>
+<br>
+</div>
+
+
+<p>
+An instance of an information flow ordering expression, written as 
+<span class="name">wasInformedBy(pe2,pe1)</span> in PROV-ASN: 
+</p><ul>
+<li> refers to a process execution expression identified by <span class="name">pe2</span>;
+</li><li> refers to a process execution expression identified by <span class="name">pe1</span>
+</li></ul>
+and states information flow ordering between the activities represented by these expressions, specified as follows.
+
+<div class="constraint" id="wasInformedBy">Given two process execution expressions identified by <span class="name">pe1</span> and <span class="name">pe2</span>, 
+ the expression <span class="name">wasInformedBy(pe2,pe1)</span>
+holds, <span class="conditional">if and only if</span>
+ there is an entity expression identified by <span class="name">e</span> and qualifiers <span class="name">q1</span> and <span class="name">q2</span>,
+such that <span class="name">wasGeneratedBy(e,pe1,q1)</span> and <span class="name">used(pe2,e,q2)</span> hold.
+</div>
+
+<p>The relationship <span class="name">wasInformedBy</span> is not transitive. Indeed, consider the expressions <span class="name">wasInformedBy(pe2,pe1)</span> and <span class="name">wasInformedBy(pe3,pe2)</span>, the expression
+<span class="name">wasInformedBy(pe3,pe1)</span>, may not necessarily hold, as illustrated by the following event line. 
+</p><pre>            ------  pe1
+             |
+             e1         
+             |
+       -------  pe2
+        |
+        e2        
+        |
+     -----  pe3
+</pre>
+<p>The end in process execution expression identified by <span class="name">pe3</span> precedes the start in process execution expression identified by <span class="name">pe1</span>, while interval for process execution expression <span class="name">pe2</span> overlaps with each interval for <span class="name">pe1</span> and <span class="name">pe3</span>, allowing information to flow (<span class="name">e1</span> and <span class="name">e2</span>, respectively).</p>
+
+
+
+<p>
+An instance of a control ordering expression, written as 
+<span class="name">wasScheduledAfter(pe2,pe1)</span> in PROV-ASN: </p>
+<ul>
+<li> refers to a process execution expression identified by <span class="name">pe2</span>;
+</li><li> refers to a process execution expression identified by <span class="name">pe1</span>,
+</li></ul>
+<p>and states control ordering between <span class="name">pe2</span> and <span class="name">pe1</span>, specified as follows.</p>
+
+<div class="constraint" id="wasScheduledAfter">Given two process execution expressions identified by <span class="name">pe1</span> and <span class="name">pe2</span>, 
+ the expression <span class="name">wasScheduledAfter(pe2,pe1)</span>
+holds, <span class="conditional">if and only if</span>
+ there are two entity expressions identified by <span class="name">e1</span> and <span class="name">e2</span>,
+such that <span class="name">wasControlledBy(pe1,e1,qualifier(role="end"))</span> and <span class="name">wasControlledBy(pe2,e2,qualifier(role="start"))</span> and <span class="name">wasDerivedFrom(e2,e1)</span>.
+</div>
+<p>This definition assumes that the activities represented by process execution expressions identified by <span class="name">pe1</span> and <span class="name">pe2</span> are controlled by some agents (with identifiers <span class="name">e1</span> and <span class="name">e2</span>), where the first agent terminates (control qualifier <span class="name">qualifier(role="end")</span>) the first activity, and the second agents initiates (control qualifier <span class="name">qualifier(role="start")</span>) the second activity.  The second agent being "derived" from the first enforces  temporal ordering. </p>
+
+<p>
+In the following assertions, we find two process execution expressions, identified by <span class="name">pe1</span> and <span class="name">pe2</span>, representing two activities, which took place on two separate hosts.</p>
+<pre class="example">processExecution(pe1,long-workflow,t1,t2,[host="server1.example.com"])
+processExecution(pe2,long-workflow,t3,t4,[host="server2.example.com"])
+entity(e1,[type="scheduler",state=1])
+entity(e2,[type="scheduler",state=2])
+wasControlledBy(pe1,e1,qualifier(role="end"))
+wasControlledBy(pe2,e2,qualifier(role="start"))
+wasDerivedFrom(e2,e1)
+wasScheduledAfter(pe2,pe1)</pre>
+<p>The one identified by <span class="name">pe2</span> is said to be
+scheduled after the one identified by <span class="name">pe1</span>
+because the scheduler terminated the activity (represented by process
+execution identified by <span class="name">pe1</span>) to relocate it
+to the new host.
+</p>
+
+
+<div class="pending">Suggested definition for process ordering. This is <a href="http://www.w3.org/2011/prov/track/issues/50">ISSUE-50</a>.</div>
+
+
+
+<div id="expression-Revision" class="section">
+<h4><span class="secno">5.3.7 </span>Revision</h4>
+
+<p> A <dfn id="dfn-Revision">revision expression</dfn> is a representation of the creation of a characterized thing considered to be a variant of another. Deciding whether something is made available as a revision of something else usually involves an agent who represents someone in the world who takes responsibility for declaring that the former is variant of the latter. </p>
+
+<p>In PROV-ASN, a revision expression's text matches the <span class="nonterminal">revisionExpression</span> production of the grammar defined in this specification document.
+</p>
+
+<div class="grammar">
+<span class="nonterminal">revisionExpression</span>&nbsp;:= 
+<span class="name">wasRevisionOf</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+[<span class="name">,</span>
+<span class="nonterminal">identifier</span>]
+<span class="name">)</span>
+</div>
+
+
+
+<p>An instance of a revision expression, noted <span class="name">wasRevisionOf(e2,e1,ag)</span> in PROV-ASN:</p>
+<ul>
+<li> contains an identifier <span class="name">e2</span> identifying an entity that represents a newer version of a thing;
+</li><li> contains an identifier <span class="name">e1</span> identifying an entity that represents an older version of a thing;
+</li><li> <em class="rfc2119" title="may">may</em> refer to a responsible agent with identifier <span class="name">ag</span>.
+</li></ul>
+
+
+<p>A revision expression can only be asserted, since it needs to include a reference to an agent who represents someone in the real world who bears responsibility for declaring a variant of a thing. However, it needs to satisfy the following constraint, linking the two entity expressions by a derivation, and stating them to be a complement of a third entity expression.</p>
+
+<div class="constraint" id="wasRevision">
+Given two identifiers <span class="name">old</span> and <span class="name">new</span> identifying two entities, and an identifier <span class="name">ag</span> identifying an agent,
+<span class="conditional">if</span> an expression <span class="name">wasRevisionOf(new,old,ag)</span> is asserted, <span class="conditional">then</span> 
+there exists an entity expression identifier <span class="name">e</span> and attribute-values <span class="name">av</span>, such that the following expressions hold:
+<ul>
+<li> <span class="name">wasEventuallyDerivedFrom(new,old)</span>;
+</li><li> <span class="name">entity(e,av)</span>;
+</li><li> <span class="name">wasComplementOf(new,e)</span>;
+</li><li> <span class="name">wasComplementOf(old,e)</span>.
+</li></ul>
+</div>
+
+<p><span class="name">wasRevisionOf</span> is a strict sub-relation
+ of <span class="name">wasEventuallyDerivedDerivedFrom</span> since two entities <span class="name">e2</span> and <span class="name">e1</span>
+ may satisfy <span class="name">wasEventuallyDerivedDerivedFrom(e2,e1)</span> without being a variant of
+ each other.
+</p>
+
+<p>
+The following revision assertion</p>
+<pre class="example">wasRevisionOf(e3,e2,a4)</pre>
+<p>states that the document represented by entity expression identified by  <span class="name">e3</span> is declared to be revision of document represented by entity expression identified by  <span class="name">e2</span> by agent representy by entity expression denoted by <span class="name">a4</span>.
+</p>
+
+
+<div class="pending">Revision should be a class not a  property. This is <a href="http://www.w3.org/2011/prov/track/issues/48">ISSUE-48</a>.</div>
+
+
+</div>
+
+<div id="expression-Participation" class="section">
+<h4><span class="secno">5.3.8 </span>Participation</h4>
+
+<p>A <dfn id="dfn-Participation">participation expression</dfn> is a representation of the involvement of a characterized thing in an activity. A participation expression can be asserted or inferred.</p>
+
+
+<p>In PROV-ASN, a participation expression's text matches the <span class="nonterminal">participationExpression</span> production of the grammar defined in this specification document.</p>
+
+
+<div class="grammar">
+<span class="nonterminal">participationExpression</span>&nbsp;:= 
+<span class="name">hadParticipant</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+<span class="name">)</span>
+</div>
+
+
+
+<p>An instance of a participation expression,
+noted <span class="name">hadParticipant(pe,e)</span> in PROV-ASN:
+</p><ul> 
+<li> contains to identifier <span class="name">pe</span> identifying a process execution expression representing an activity;
+</li><li> contains an identifier  <span class="name">e</span>  identifying an entity expression, which is 
+a representation of a characterized thing involved in this activity.
+</li></ul>
+
+<p>A thing's participation in an activity can be by direct use or direct control. But also, if a thing and situation are characterized in two complementary manners (and are represented by two entity expressions related by <span class="name">isComplementOf</span>), if one of them participates in an activity,  so does the other.  The following captures the definition of participation.</p>
+
+<div class="constraint" id="participation">
+Given two identifiers <span class="name">pe</span> and  <span class="name">e</span>, respectively identifying  a process execution expression and an entity expression, the expression <span class="name">hadParticipant(pe,e)</span> holds <span class="conditional">if and only if</span>:
+<ul> 
+<li> <span class="name">used(pe,e)</span> holds, or</li>
+<li> <span class="name">wasControlledBy(pe,e)</span> holds, or</li>
+<li>  <span class="name">wasComplementOf(e1,e)</span> holds for some entity expression identified by <span class="name">e1</span>, and 
+ <span class="name">hadParticipant(pe,e1)</span> holds  some process execution expression  identified by <span class="name">pe</span>.</li>
+</ul>
+</div>
+
+
+<div class="pending">Suggested definition for participation. This is <a href="http://www.w3.org/2011/prov/track/issues/49">ISSUE-49</a>.</div>
+
+</div>
+
+<div id="expression-annotationAssociation" class="section">
+<h4><span class="secno">5.3.9 </span>Annotation Association</h4>
+
+
+<p>An <dfn id="dfn-annotationAssociation">annotation association expression</dfn> establishes a link between an identifiable PROV-DM expression and an annotation expression referred to by its identifier.  Multiple annotation expressions can be associated with a given PROV-DM expression; symmetrically, multiple PROV-DM expressions can be associated with a given annotation expression.  Since annotation expressions have identifiers,  they can also be annotated. The annotation mechanism (with annotation expression and the annotation association expression) forms a key aspect of the extensibility mechanism of PROV-DM (see <a href="#extensibility-section">extensibility section</a>).</p> 
+
+<p>In PROV-ASN, an annotation expression's text matches the <span class="nonterminal">annotationExpression</span> production of the grammar defined in this specification document.
+</p>
+
+<div class="grammar">
+<span class="nonterminal">annotationAssociationExpression</span>&nbsp;:=  
+<span class="name">hasAnnotation</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+<span class="name">)</span> |
+<span class="name">hasAnnotation</span>
+<span class="name">(</span>
+<span class="nonterminal">relationIdentification</span>
+<span class="name">,</span>
+<span class="nonterminal">identifier</span>
+<span class="name">)</span><br>
+<span class="nonterminal">relationIdentification</span>&nbsp;:=  
+<span class="nonterminal">identifier</span> <span class="nonterminal">identifier</span> <span class="nonterminal">qualifier</span>
+</div>
+
+<p>The interpretation of annotations is application-specific. See Section <a href="#expression-annotation">Annotation</a> for a discussion of the difference between attributes and annotations. </p>
+
+<p>
+The following expressions</p>
+<pre class="example">entity(e1,[type="document"])
+entity(e2,[type="document"])
+annotation(ann1,[icon="doc.png"])
+hasAnnotation(e1,ann1)
+hasAnnotation(e2,ann1)</pre>
+<p>assert the existence of two  documents in the world  (attribute-value pair: <span class="name">type="document"</span>) represented by entity expressions identified by <span class="name">e1</span> and <span class="name">e2</span>, and annotate these expressions with an annotation indicating that the icon (an application specific way of rendering provenance) is <span class="name">doc.png</span>.
+</p>
+
+
+
+</div>
+</div>
+
+<div id="bundle" class="section">
+<h3><span class="secno">5.4 </span>Bundle</h3>
+
+In this section, two constructs are introduced to group
+PROV-DM expressions.  The first
+one, <span class="nonterminal">accountExpression</span> is itself an
+expression, whereas the second
+one <span class="nonterminal">provenanceContainer</span> is not.
+
+
+<div id="expression-Account" class="section">
+<h4><span class="secno">5.4.1 </span>Account</h4>
+
+<p>In PROV-DM, an <dfn id="dfn-Account">account expression</dfn> is a wrapper of expressions with a dual purpose:  </p> 
+<ul>
+<li> It is the mechanism by which attribution of provenance can be assserted; it allows asserters to bundle up their assertions, and assert suitable attribution;
+</li><li> It provides a scoping mechanism for expression identifiers and for some contraints (such as
+   <a href="#generation-unicity">generation-unicity</a> and <a href="#derivation-use">derivation-use</a>).
+</li></ul>
+
+
+<p>In PROV-ASN, an account expression's text matches the <span class="nonterminal">accountExpression</span> production of the grammar defined in this specification document.</p>
+
+<div class="grammar">
+<span class="nonterminal">accountExpression</span>&nbsp;:=  
+<span class="name">account</span> 
+<span class="name">(</span> 
+<span class="nonterminal">identifier</span> 
+<span class="name">,</span> 
+<span class="nonterminal">asserter</span> 
+<span class="name">,</span> 
+{ <span class="nonterminal">expression</span> }
+<span class="name">)</span> 
+</div>
+
+<p>An instance of an account expression, noted <span class="name">account(id, uri, exprs)</span> in PROV-ASN:</p>
+<ul>
+<li> contains an identifier <span class="name">id</span> to identify this account;</li>
+<li> contains an asserter identified by URI denoted by <span class="name">uri</span>;</li>
+<li> contains a <em>set</em> of provenance expressions denoted by <span class="name">exprs</span>.</li>
+</ul>
+
+
+<div class="note">
+Currently, the non-terminal <span class="nonterminal">asserter</span> is defined as URI. We may want the asserter to be an agent instead, and therefore use PROV-DM to express the provenance of PROV-DM assertions.  The editors seek inputs on how to resolve this issue. </div>
+
+<p>
+The following account expression</p>
+<pre class="example">account(acc0,
+        http://x.com/asserter, 
+          entity(e0, [ type="File", location="/shared/crime.txt", creator="Alice" ])
+          ...
+          wasDerivedFrom(e2,e1)
+          ...
+          processExecution(pe0,create-file,t)
+          ...
+          wasGeneratedBy(e0,pe0,outFile)     
+          ...
+          wasControlledBy(pe4,a5, qualifier(role="communicator"))  )</pre>
+<p>contains the set of provenance expressions of section <a href="#example-prov-asn-encoding">example-prov-asn-encoding</a>, is asserted by agent <span class="name">http://x.com/asserter</span>, and is identified by identifier <span class="name">acc0</span>.
+</p>
+
+<p>Account expressions constitue a scope for identifiers. An identifier within the scope of an account is intended to denote a single expression. However, nothing prevents an asserter from asserting an account containing, for example,  multiple entity expressions with a same identifier but different attribute-values. In that case, they should be understood as a single entity expression with this identifier and the union of all attributes values, as formalized in <a href="#identified-entity-in-account">identified-entity-in-account</a>.</p>
+
+<div class="constraint" id="identified-entity-in-account">
+Given an identifier <span class="name">e</span>,  two sets of attribute-values denoted by <span class="name">av1</span> and <span class="name">av2</span>, 
+ two entity expressions  <span class="name">entity(e,av1)</span> and <span class="name">entity(e,av2)</span> occurring in an account  are equivalent to the entity expression <span class="name">entity(e,av)</span> where <span class="name">av</span> is the set of attribute-value pairs formed by the union of <span class="name">av1</span> and <span class="name">av2</span>.
+</div>
+
+<p>Whilst constraint <a href="#identified-entity-in-account">identified-entity-in-account</a> specifies how to understand multiple entity expressions with a same identifier within a given account, it does not guarantee that the entity expression formed with the union of all attribute-value pairs is consistent. Indeed, a given attribute may be assigned multiple values, resulting in an inconsistent entity expression, as illustrated by the following example.</p>
+
+<p>
+In the following account expression, we find two entity expressions with a same identifier <span class="name">e</span>.</p>
+<pre class="example">account(acc1,
+        http://x.com/id,
+          entity(e,[type="person",age=20])
+          entity(e,[type="person",age=30])
+          ...)</pre>
+<p>Application of <a href="#identified-entity-in-account">identified-entity-in-account</a> results in an entity expression containing the attribute-value pairs <span class="name">age=20</span> and <span class="name">age=30</span>. This results in an inconsistent characterization of a person. We note that deciding whether a set of attribute-values is consistent or not is application specific.
+</p>
+
+<p>Account expressions can be nested since  an account expression can occur among the expressions being wrapped by another account. </p>
+
+
+<p>
+An account is said to be well-formed if
+it satisfies the constraints  <a href="#generation-unicity">generation-unicity</a> and <a href="#derivation-use">derivation-use</a>.</p>
+
+<p> The union of two accounts is another account, 
+containing the unions of their respective expressions, where
+ expressions with a same identifier should be understood according to constraint <a href="#identified-entity-in-account">identified-entity-in-account</a>. Well-formed
+accounts are not
+closed under union because the
+constraint <a href="#generation-unicity">generation-unicity</a> may no
+longer be satisfied in the resulting union.  </p>
+
+
+<p>
+Indeed, let us consider another account expression</p>
+<pre class="example">account(acc2,
+        http://x.com/asserter2, 
+          entity(e0, [ type="File", location="/shared/crime.txt", creator="Alice" ])
+          ...
+          processExecution(pe1,create-file,t1)
+          ...
+          wasGeneratedBy(e0,pe1,outFile)     
+          ... )</pre>
+<p>with identifier <span class="name">acc2</span>, containing assertions by asserter by <span class="name">http://x.com/asserter2</span> stating that thing represented by entity expression identified by <span class="name">e0</span> was generated by an activity represented by process execution expression identified by <span class="name">pe1</span> instead of <span class="name">pe0</span> in the previous account <span class="name">acc0</span>.  If accounts <span class="name">acc0</span> and <span class="name">acc2</span> are merged together, the resulting set of expressions violates <a href="#generation-unicity">generation-unicity</a>.</p>
+
+<p>Account expressions constitue a scope for identifiers. Since accounts can be nested, their scope can also be nested; thus, the scope of identifiers should be understood in the context of such nested scopes.  When an expression with an identifier occurs directly within an account, then its identifier denotes this expression in the scope of this account, except in sub-accounts where expressions with the same identifier occur. </p>
+
+<p>
+The following account expression is inspired from section <a href="#example-prov-asn-encoding">example-prov-asn-encoding</a>. This account, identified by <span class="name">acc3</span>, declares entity expression identified by <span class="name">e0</span>, which is being referred to in the nested account <span class="name">acc4</span>. The scope of identifier <span class="name">e0</span> is account <span class="name">acc3</span>, including subaccount <span class="name">acc4</span>.</p>
+<pre class="example">account(acc3,
+        http://x.com/asserter1, 
+          entity(e0, [ type="File", location="/shared/crime.txt", creator="Alice" ])
+          processExecution(pe0,create-file,t)
+          wasGeneratedBy(e0,pe0,outFile)  
+          account(acc4,
+                 http://x.com/asserter2,
+                 entity(e1, [ type="File", location="/shared/crime.txt", creator="Alice", content="" ])
+                 processExecution(pe0,copy-file,t)
+                 wasGeneratedBy(e1,pe0,outFile)
+                 isComplement(e1,e0)))</pre>
+<p>Alternatively, a process execution expression identified by <span class="name">pe0</span> occurs in each of the two accounts. Therefore,  each process execution expression is asserted in a separate scope, and therefore may represent different activities in the world.
+</p>
+
+<p>The account expression is the hook by which further meta information can be expressed about provenance, such as asserter, time of creation, signatures. How general meta-information is expressed is beyond the scope of this specification, except for asserters.</p>
+
+<div class="note">We are going to introduce a disambiguation mechanism by which we can qualify identifiers by the account in which they occur (or the sequence of nested accounts in which they occur). This mechanism allows two entity expressions, asserted separately in two different accounts but with the same identifier, to be uniquely referred to. 
+</div>
+
+
+</div>
+
+<div id="ProvenanceContainer" class="section">
+<h4><span class="secno">5.4.2 </span>Provenance Container</h4>
+
+<p>A <dfn id="dfn-ProvenanceContainer">provenance container</dfn> is a house-keeping construct of PROV-DM, also capable of bundling PROV-DM expressions. A provenance container is not an expression, but can be exploited to return all the provenance assertions in response to a request for the provenance of something ([<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-PAQ">PROV-PAQ</a></cite>]). </p> 
+
+<p>In PROV-ASN, a provenance container's text matches the <span class="nonterminal">provenanceContainer</span> production of the grammar defined in this specification document.</p>
+
+
+<div class="grammar">
+<span class="nonterminal">provenanceContainer</span>&nbsp;:=  
+<span class="name">provenanceContainer</span> 
+<span class="name">(</span> 
+{ <span class="nonterminal">namespaceDeclaration</span> }
+<span class="name">,</span> 
+{ <span class="nonterminal">identifier</span> }
+<span class="name">,</span> 
+{ <span class="nonterminal">expression</span> }
+<span class="name">)</span> 
+</div>
+
+<p>An instance of a provenance container, noted <span class="name">provenanceContainer(decls, ids, exprs)</span> in PROV-ASN:
+</p><ul>
+<li> contains a set of namespace declarations  <span class="name">decls</span>, declaring namespaces and associated prefixes, which can be used in attributes (conformant to production <span class="nonterminal">attribute</span>) and in names (conformant to production <span class="nonterminal">name</span>) in  <span class="name">exprs</span>;</li>
+<li> contains a set of identifiers <span class="name">ids</span> naming all accounts occurring (at any nesting level) in  <span class="name">exprs</span>;</li>
+<li> contains one or more  expressions <span class="name">exprs</span>.</li>
+</ul>
+<p>All the expressions in <span class="name">exprs</span> are implictly wrapped in a default account, scoping all the identifiers they declare directly, and constituting a toplevel account, in the hierarchy of accounts.</p>
+
+<p>
+The following container </p>
+<pre class="example">container([x http://x.com],[acc1,acc2]
+          account(acc1,http://x.com/asserter1,...)
+          account(acc2,http://x.com/asserter1,...))</pre>
+<p> illustrates how two accounts with identifiers <span class="name">acc1</span> and <span class="name">acc2</span> can be returned in a PROV-ASN serialization of the provenance of something.
+</p>
+
+
+<div class="pending">Asserter needs to be defined. This is <a href="http://www.w3.org/2011/prov/track/issues/51">ISSUE-51</a>.</div>
+
+
+<div class="pending">Scope and Identifiers. This is <a href="http://www.w3.org/2011/prov/track/issues/81">ISSUE-81</a>.</div>
+
+
+</div>
+
+</div>
+
+
+<div id="expression-other" class="section">
+<h3><span class="secno">5.5 </span>Other Expressions</h3>
+
+This section specifies the productions of sub-expressions of PROV-DM expressions.
+
+<div id="expression-qualifier" class="section">
+<h4><span class="secno">5.5.1 </span>Qualifier</h4>
+
+<p>A <dfn id="dfn-qualifier">qualifier</dfn> is an ordered list of name-value pairs, used to qualify use expressions, generation expressions and control expressions. </p>
+
+<p>In PROV-ASN, a qualifier's text matches the <span class="nonterminal">qualifier</span> production of the grammar defined in this specification document.</p>
+
+
+<div class="grammar">
+<span class="nonterminal">useQualifier</span>&nbsp;:=  
+<span class="nonterminal">qualifier</span> <br>
+<span class="nonterminal">generationQualifier</span>&nbsp;:=  
+<span class="nonterminal">qualifier</span> <br>
+<span class="nonterminal">controlQualifier</span>&nbsp;:=  
+<span class="nonterminal">qualifier</span> <br>
+<br>
+<span class="nonterminal">qualifier</span>&nbsp;:=  
+<span class="name">qualifier</span>
+<span class="name">(</span>
+<span class="nonterminal">name-values</span> <span class="name">)</span> <br>
+<!--   -->
+<span class="nonterminal">name-values</span>&nbsp;:=  
+<span class="nonterminal">name-value</span>
+| <span class="nonterminal">name-value</span> <span class="name">,</span> <span class="nonterminal">name-values</span>
+<br>
+<span class="nonterminal">name-value</span>&nbsp;:=  
+<span class="nonterminal">name</span>
+<span class="name">=</span>
+<span class="nonterminal">Literal</span>
+</div>
+
+
+<p>Use, generation, and control expressions <em class="rfc2119" title="must">must</em> contain a qualifier. A qualifier's sequence of name-value pairs <em class="rfc2119" title="may">may</em> be empty. </p>
+
+<div class="note">aren't these two sentences contradictory&gt;</div>
+
+<p>The interpretation of a  qualifier is specific to the process execution expression it occurs in, which means that a same qualifier may appear in two different process execution expressions with different interpretations.   
+From this specification's viewpoint, a qualifier's interpretation is out of
+scope.</p>
+
+
+
+<p> 
+By definition, a use  (resp. generation, control) expression does not contain an identifier.
+If one wants to annotate a use  (resp. generation, control) expression, this expression <em class="rfc2119" title="must">must</em> be identifiable from its constituents, i.e. its source's identifier, its destination's identifier, and its qualifier.</p> 
+
+<p> To be able to annotate  use  (resp. generation, control) expressions that refer to a given process execution identifier, 
+ any  qualifier occuring in use expressions (resp. generation, control) with this identifier and a given entity expression identifier <em class="rfc2119" title="must">must</em> be unique.</p>
+
+<div class="note">It may seem strange that we do not require use expressions to have an identifier. Mandating the presence of identifiers in use expressions would facilitate their annotation. However, this would make it difficult for use expressions to be encoded as properties in OWL2.
+</div>
+
+<p>Qualifiers are used in determining the exact source and destination  of a <span class="nonterminal">pe-linked-derivationExpression</span>. Hence,
+if one wants to express a <span class="nonterminal">pe-linked-derivationExpression</span> referring to an entity expression and a process execution expression, then:</p>
+<ul>
+<li>the useQualifier <em class="rfc2119" title="must">must</em> be unique among the qualifiers occuring in use expressions for this process execution expression;
+</li><li>the generationQualifier <em class="rfc2119" title="must">must</em> be unique among the qualifiers occuring in generation expressions for this process execution expression.
+</li></ul>
+
+
+<p>The PROV data model introduces a specific qualifier <span class="name">role</span> to denote the function of a characterized thing with respect to an activity, in the context of a use/generation/control relation. The value associated with a <span class="name">role</span> attribute <em class="rfc2119" title="must">must</em> be conformant with  <span class="nonterminal">Literal</span>. </p>
+
+
+<p>
+The following control expression qualifies the role of the agent  identified by <span class="name">a5</span> in this control relation. </p>
+<pre class="example">wasControlledBy(pe4,a5, qualifier(role="communicator"))</pre>
+
+
+
+
+
+</div>
+
+<div id="expression-attribute" class="section">
+<h4><span class="secno">5.5.2 </span>Attribute</h4>
+
+<p>An <dfn id="dfn-attribute">attribute</dfn> is a finite sequence of characters. (Exact production TBD).</p>
+
+<div class="grammar">
+<span class="nonterminal">attribute</span>&nbsp;:=  
+<em>a qualified name</em></div>
+
+<p>If a namespace prefix occurs in the qualified name, it refers to a namespace declared in the provenance container.</p>
+</div>
+
+
+<div id="expression-name" class="section">
+<h4><span class="secno">5.5.3 </span>Name</h4>
+
+
+<p>A <dfn id="dfn-name">name</dfn> is a finite sequence of characters. (Exact production TBD).</p>
+
+<div class="grammar">
+<span class="nonterminal">name</span>&nbsp;:=  
+<em>a qualified name</em></div>
+<p>If a namespace prefix occurs in the qualified name, it refers to a namespace declared in the provenance container.</p>
+
+<div class="note">Proposed to adopt the abbreviatedIRI definition of OWL2 [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL2-SYNTAX">OWL2-SYNTAX</a></cite>]
+(see section <a href="http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#IRIs">IRIs</a>).
+</div>
+
+
+</div>
+
+<div id="expression-identifier" class="section">
+<h4><span class="secno">5.5.4 </span>Identifier</h4>
+
+
+<p>An <dfn id="dfn-identifier">identifier</dfn> is a finite sequence of characters. </p>
+
+<div class="note">Do we require identifiers to be URIs? All the examples in this document so far use simple labels as identifiers? Would this be acceptable? Maybe understood as default namespace and local name?
+</div>
+
+<div class="grammar">
+<span class="nonterminal">identifier</span>&nbsp;:=  
+<em>?????</em></div>
+
+<div class="note">We are going to introduce a notion of qualified identifier, which allows us to refer to an identifier in the scope of a given account. Given that accounts may be nested, a qualifier identifier will be prefixed by a sequence of account identifiers, and then followed by an identifier, local to the innermost account.
+</div>
+
+
+</div>
+
+<div id="expression-literal" class="section">
+<h4><span class="secno">5.5.5 </span>Literal</h4>
+
+Literals represent data values such as particular string or integers.
+
+<div class="note">It is proposed to use the definition of OWL2 Literal [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL2-SYNTAX">OWL2-SYNTAX</a></cite>]
+(see section <a href="http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Literals">Literals</a>).
+</div>
+
+</div>
+
+
+
+
+<div id="expression-Time" class="section">
+<h4><span class="secno">5.5.6 </span>Time</h4>
+
+<p><dfn id="dfn-time">Time instants</dfn> are defined according to xsd:dateTime [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>].</p> 
+
+
+
+<p>It is <em class="rfc2119" title="optional">optional</em> to assert time in use, generation, and process execution expressions.</p>
+
+
+<div id="temporal-events" class="section">
+<h5><span class="secno">5.5.6.1 </span>Temporal Events</h5>
+Four kinds of discrete events underpin the PROV-DM data model. They are:
+<ol>
+<li>Generation of a characterized thing by an activity:  identifies the final instant of a characterized thing's creation timespan, after which it becomes available for use.</li>
+<li>Use of a characterized thing by an activity:  identifies the first instant of a characterized thing's consumption timespan.</li>
+<li>Start of an activity: identifies the instant an activity, represented by a process execution, starts;</li>
+<li>End of an activity: identifies the instant an activity, represented by a process execution, ends.</li>
+</ol>
+</div>
+
+<div id="event-ordering" class="section">
+<h5><span class="secno">5.5.6.2 </span>Event Ordering</h5>
+
+
+<p><dfn id="dfn-follows">Follows</dfn> is a partial order between events, indicating that an event occurs after another.  For convenience, <dfn id="dfn-precedes">precedes</dfn> is defined as the symmetric of follows. </p>
+
+<p>This specification introduces inference rules allowing such event ordering to be inferred from provenance constructs.</p>
+</div>
+
+
+</div>
+
+<div id="expression-Asserter" class="section">
+<h4><span class="secno">5.5.7 </span>Asserter</h4>
+
+<p>An <dfn id="dfn-asserter">asserter</dfn> is a creator of PROV-DM expressions. An asserter is denoted by an IRI.</p>
+
+<div class="grammar">
+<span class="nonterminal">asserter</span>&nbsp;:=  <em>an IRI</em>
+</div>
+
+<div class="note">
+Currently, the non-terminal <span class="nonterminal">asserter</span> is defined as URI. We may want the asserter to be an agent instead, and therefore use PROV-DM to express the provenance of PROV-DM.  We seek inputs on how to resolve this issue. </div>
+
+</div>
+
+<div id="expression-NamespaceDeclaration" class="section">
+<h4><span class="secno">5.5.8 </span>Namespace Declaration</h4>
+
+<p>A <dfn id="dfn-namespaceDeclaration">namespace declaration</dfn> declares a namespace and a prefix to denote it.</p>
+
+<div class="grammar">
+<span class="nonterminal">namespaceDeclaration</span>&nbsp;:=  ... <em>TBD</em>
+</div>
+</div>
+
+
+<div id="expression-RecipeLink" class="section">
+<h4><span class="secno">5.5.9 </span>Recipe Link</h4>
+
+
+<p>A <dfn id="dfn-RecipeLink">recipe link</dfn> is an association between a process execution expression and a process specification that underpins the represented activity.
+</p>
+
+<div class="grammar">
+<span class="nonterminal">recipeLink</span>&nbsp;:=  <em>an IRI</em>
+</div>
+
+<p>
+It is <em class="rfc2119" title="optional">optional</em> to assert recipe links in process executions.
+</p>
+
+
+<p>
+Process specifications, as referred to by recipe links, are out of scope of this specification.
+</p>
+
+</div>
+
+
+
+
+
+<div id="expression-Location" class="section">
+<h4><span class="secno">5.5.10 </span>Location</h4>
+
+<p><dfn id="dfn-Location">Location</dfn> is an identifiable geographic place (ISO 19112). As such, there are numerous ways in which location can be expressed, such as by a coordinate, address, landmark, row, column, and so forth. This  document does not specify how to concretely express  locations, but instead provide a mechanism to introduce locations in assertions. </p> 
+
+
+<p>
+Location is an <em class="rfc2119" title="optional">optional</em> attribute of entity expressions and process execution expressions.  The value associated with a  attribute <span class="name">location</span> <em class="rfc2119" title="must">must</em> be a <span class="nonterminal">Literal</span>, expected to denote a location.
+</p>
+
+
+
+
+</div>
+
+</div>
+
+    <div id="extensibility-section" class="section"> 
+<h3><span class="secno">5.6 </span>PROV-DM Extensibility Points</h3>
+
+
+<p>The PROV data model provides several extensibility points that allow designers to specialize it to specific applications or domains. We summarize these extensibility points here:
+
+</p><ul>
+<li> Attributes are constructs of the data model that allow representations of aspects of the world's things and activities to be expressed.  Applications are free to introduce application-specific attributes, according to their perspective on the world.  Attributes for a given application can be distinguished by qualifying them with a prefix denoting a namespace declared in a namespace declaration.
+
+<p>The PROV DM namespace (TBD) declares a set of reserved attributes: <span class="name">type</span>, <span class="name">location</span>.</p></li>
+
+<li>Annotation expressions allow arbitrary metadata to be associated with identifiable expressions of PROV-DM. Annotation expressions consist of name-value pairs. Like attributes, names are qualified by a namespace.</li>
+
+<li> Qualifiers offer a mechanism to
+describe modalities of use, generation, and control  
+They consist of ordered sequence of name-value pairs. Such names
+are also qualified by namespaces.
+
+<p>The PROV DM namespace (TBD) declares a reserved qualifier: <span class="name">role</span>.</p></li>
+
+<li>Namespaces allow attributes and names to be qualified. </li>
+
+<li>Domain specific values can be expressed by means of typed literals. </li>
+</ul>
+
+<p>The PROV data model is designed to be application and technology independent, but specializations of PROV-DM are welcome and encouraged.  To ensure inter-operability, specializations of the PROV data model that exploit the extensibility points summarized in this section <em class="rfc2119" title="must">must</em> preserve the semantics specified in this document. For instance, a qualified attribute on a domain specific entity expression <em class="rfc2119" title="must">must</em> represent an aspect of a characterized thing and this aspect <em class="rfc2119" title="must">must</em> remain unchanged during the characterization's interval of this entity expression.</p>
+
+
+
+    </div> 
+
+
+    <div id="standard-extensions" class="section"> 
+<h3><span class="secno">5.7 </span>Standard extensions</h3>
+
+
+<div id="expression-Collection" class="section">
+<h4><span class="secno">5.7.1 </span>Collections</h4>
+
+The purpose of this section is to enable modelling of part-of relationships amongst entities. In particular, a form of <strong>collection</strong> entity type is introduced, consisting of a set of key-value pairs. Key-value pairs provide a generic indexing structure that can be used to model commonly used data structures, including associative lists (also known as "dictionaries" in some programming languages), relational tables, ordered lists, and more.<br>
+
+The relations introduced here are all specializations of the <a href="#expression-Derivation"><strong>wasDerivedFrom</strong></a> pe-linked derivation. They are designed to model:
+
+<ul>
+  <li><strong>insertion</strong>: a collection entity c' is obtained from collection entity c, by adding entity e having key k to c;
+  </li><li><strong>removal</strong>: a collection entity c' is obtained from collection entity c, by removing  entity e having key k from c;
+    </li><li><strong>selection</strong>: an entity e was selected from collection c using key k.
+ </li></ul>
+
+ A collection expression is defined as follows.
+<div class="grammar">
+  <span class="nonterminal">collectionExpression</span>&nbsp;:=  
+<span class="nonterminal">collectionDerivationExpression</span>
+| <span class="nonterminal">keyDerivationExpression</span>
+| <span class="nonterminal">entityMembershipExpression</span>
+<br>
+
+ <span class="nonterminal">collectionDerivationExpression</span>&nbsp;:=  
+<span class="name">wasAddedTo_Coll</span> 
+ <span class="name">(</span>
+ <span class="nonterminal">identifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">identifier</span>
+  <span class="name">)</span>
+  |
+<span class="name">wasRemovedFrom_Coll</span> 
+ <span class="name">(</span>
+ <span class="nonterminal">identifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">identifier</span>
+  <span class="name">)</span>
+<br>
+
+   <span class="nonterminal">keyDerivationExpression</span>&nbsp;:=  
+<span class="name">wasAddedTo_Key</span> 
+ <span class="name">(</span>
+ <span class="nonterminal">identifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">identifier</span>
+  <span class="name">)</span>
+|
+<span class="name">wasRemovedFrom_Key</span> 
+ <span class="name">(</span>
+ <span class="nonterminal">identifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">identifier</span>
+  <span class="name">)</span>
+  <br>
+
+  <span class="nonterminal">entityMembershipExpression</span>&nbsp;:=  
+<span class="name">wasAddedTo_Entity</span> 
+ <span class="name">(</span>
+ <span class="nonterminal">identifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">identifier</span>
+  <span class="name">)</span>
+<br>
+  </div>
+
+<p>    Expression:  <span class="name">wasAddedTo_Coll(c2,c1)</span> (resp.  <span class="name">wasRemovedFrom_Coll(c2,c1)</span>) denotes that collection  <span class="name">c2</span> is an updated version of collection <span class="name">c1</span>, following an insertion (resp. deletion) operation.</p>
+  
+<p>    Expression:  <span class="name">wasAddedTo_Key(c,k)</span>  (resp.  <span class="name">wasRemovedFrom_Key(c,k)</span>) denotes that collection <span class="name">c</span> had 
+ a new value with key <span class="name">k</span> added to (resp. removed from) it.</p>
+  
+<p>    Expression:  <span class="name">wasAddedTo_Entity(c,e)</span>   denotes that collection <span class="name">c</span> had entity
+ <span class="name">e</span>   added to it.
+</p>
+
+
+<pre class="example">Consider the following assertions:
+
+  <span class="name">wasAddedTo_Coll(c2,c1)</span>
+  <span class="name">wasAddedTo_Key(c2,k1)</span>
+  <span class="name">wasAddedTo_Entity(c2,e1)</span>
+
+  <span class="name">wasAddedTo_Coll(c3,c2)</span>
+  <span class="name">wasAddedTo_Key(c3,k2)</span>
+  <span class="name">wasAddedTo_Entity(c3,e2)</span>
+
+  <span class="name">wasRemovedFrom_Coll(c4,c3)</span>
+  <span class="name">wasRemovedFrom_Key(c4,k1)</span></pre>
+<p>The corresponding graphical representation is shown below.</p>
+
+<img src="collections.png" style="align=center;" alt="collections">
+
+
+<p>  With these assertions:</p>
+  <ul>
+    <li><span class="name">c2</span> is known to contain the key-value pair <span class="name">(k1,e1)</span>
+    </li><li><span class="name">c3</span> is known to contain pairs <span class="name">(k1,e1)</span> and  <span class="name">(k2,e2)</span>.
+    </li><li><span class="name">c4</span> is known <em>not</em> to contain pair <span class="name">(k1,e1)</span> and to contain pair <span class="name">(k2,e2)</span>.  
+  </li></ul>
+
+
+      </div> 
+
+<div id="common-relations" class="section">
+
+<h4><span class="secno">5.7.2 </span>Common relations</h4>
+  
+<div class="issue">There are a number of commonly used provenance relations in particular for the web that are not in the model. For practical use and uptake, it would be good to have definitions of these in the provenance model. These concepts should be defined in terms of the already existing "core" concepts. This is  <a href="http://www.w3.org/2011/prov/track/issues/44">ISSUE-44</a>.</div>
+
+<div class="note">This section needs editing. It needs to be aligned the terminology of previous sections and it needs to adopt the same presentation style. </div>
+
+
+
+
+<div id="quotation" class="section">
+<h5><span class="secno">5.7.2.1 </span>Quotation</h5>
+
+Quotation represents the repeating or copying of some part of a characterized thing. 
+
+<p> An assertion wasQuoteOf, noted <span class="name"> wasQuoteOf(e2,e1,ag,ag2)</span>:</p>
+<ul>
+<li>refers to an entity <span class="name">e2</span>, denoting the quote; 
+</li><li>refers to an entity <span class="name">e1</span>, denoting the entity being quoted;
+</li><li><em class="rfc2119" title="may">may</em> refer to an agent who is doing the quoting <span class="name">ag</span>;
+</li><li><em class="rfc2119" title="may">may</em> refer to the agent that is quoted <span class="name">ag</span>
+</li></ul>
+
+<p>
+<span class="name">wasQuoteOf</span> is a sub-relation of <span class="name">wasRevisionOf</span>
+</p>
+
+</div>
+
+<div id="attribution" class="section">
+<h5><span class="secno">5.7.2.2 </span>Attribution</h5> 
+
+Attribution represents that a characterized thing is ascribed to an agent.
+
+<p> An assertion wasAttributedTo, noted <span class="name"> wasAttributedTo(e1,ag)</span>:</p>
+<ul>
+<li>refers to an entity <span class="name">e2</span>, denoting the entity; 
+</li><li>refers to an agent who the entity is attributed to <span class="name">ag</span>.
+</li></ul>
+
+<p>
+<span class="name">wasQuoteOf</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>
+</p>
+
+
+</div>
+
+<div id="summary" class="section">
+<h5><span class="secno">5.7.2.3 </span>Summary</h5>
+Represents a characterized thing that is a synopsis or abbreviation of another entity.
+
+<p> An assertion wasSummaryOf, noted <span class="name"> wasSummaryOf(e2,e1)</span>:</p>
+<ul>
+<li>refers to an entity <span class="name">e2</span>, denoting the summary; 
+</li><li>refers to an entity <span class="name">e1</span>, denoting the entity being summarized. 
+</li></ul>
+
+<p>
+<span class="name">wasSummaryOf</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>
+</p>
+
+
+</div>
+
+<div id="original-source" class="section">
+<h5><span class="secno">5.7.2.4 </span>Original Source</h5>
+
+Represents a characterized thing in which another characterized thing first appeared. 
+
+<p> An assertion hasOriginalSource, noted <span class="name"> hasOriginalSource(e2,e1)</span>:</p>
+<ul>
+<li>refers to an entity <span class="name">e2</span>, denoting the entity that first appeared; 
+</li><li>refers to an entity <span class="name">e1</span>, denoting the entity where that entity first appeared. 
+</li></ul>
+
+<p>
+<span class="name">hasOriginalSource</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>
+</p>
+
+
+</div>
+    </div> 
+</div>
+
+<div class="appendix section" id="illustration-conventions"> 
+<h3><span class="secno">5.8 </span>Illustration Conventions</h3> 
+
+<p> In this section, we summarize the conventions adopted for the graphical illustration </p> 
+
+<div class="note">Should we formalize the graphical illustration. Should they become normative?</div>
+
+<ul>
+<li>The graphical illustration aims to <em>illustrate</em> the provenance model. It is not intended to represent all the details of the model, and therefore, cannot be seen as a alternate notation for expressing provenance.</li>
+
+<li>The graphical illustration is a graph. </li>
+
+<li>entities, process executions and agents are represented as nodes, with oval, rectangular, and half-hexagonal shapes, respectively.  </li>
+
+<li>Use, Generation, Derivation, IVPof are represented as directed edges.</li>
+
+<li>entities are layed out according to temporal order (the temporal event at which they are generated).  Time <em class="rfc2119" title="should">should</em> progress from left to right or from top to bottom.  This means that edges for Use, Generation and Derivation typically point from right to left or from bottom to top.</li>
+
+</ul>
+
+
+</div> 
+
+
+<!--
+<li>For use, generation, and derivation event, the first argument is the 'effect' (i.e. most recent item) and the second argument is the 'cause' (i.e. least recent item). This order is compatible with the temporal layout of the graphical notation.
+-->
+
+    </div> 
+
+<div class="appendix section" id="acknowledgements"> 
+      <!--OddPage--><h2><span class="secno">A. </span>Acknowledgements</h2> 
+      <p> 
+        WG membership to be listed here.
+      </p> 
+    </div> 
+   
+ 
+<div id="references" class="appendix section"><!--OddPage--><h2><span class="secno">B. </span>References</h2><div id="normative-references" class="section"><h3><span class="secno">B.1 </span>Normative references</h3><dl class="bibliography"><dt id="bib-OWL2-SYNTAX">[OWL2-SYNTAX]</dt><dd>Boris Motik; Peter F. Patel-Schneider; Bijan Parsia. <a href="http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/"><cite>OWL 2 Web Ontology Language:Structural Specification and Functional-Style Syntax.</cite></a> 27 October 2009. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/">http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/</a> 
+</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd>S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119.  URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a> 
+</dd><dt id="bib-XMLSCHEMA-2">[XMLSCHEMA-2]</dt><dd>Paul V. Biron; Ashok Malhotra. <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/"><cite>XML Schema Part 2: Datatypes Second Edition.</cite></a> 28 October 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/</a> 
+</dd></dl></div><div id="informative-references" class="section"><h3><span class="secno">B.2 </span>Informative references</h3><dl class="bibliography"><dt id="bib-PROV-OWL2">[PROV-OWL2]</dt><dd>Satya Sahoo and Deborah McGuinness <a href="http://dvcs.w3.org/hg/prov/raw-file/default/ontology/ProvenanceFormalModel.html"><cite>Provenance Formal Model</cite></a>. 2011, Work in progress. URL: <a href="http://dvcs.w3.org/hg/prov/raw-file/default/ontology/ProvenanceFormalModel.html">http://dvcs.w3.org/hg/prov/raw-file/default/ontology/ProvenanceFormalModel.html</a>
+</dd><dt id="bib-PROV-PAQ">[PROV-PAQ]</dt><dd>Graham Klyne and Paul Groth <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/paq/provenance-access.html"><cite>Provenance Access and Query</cite></a>. 2011, Work in progress. URL: <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/paq/provenance-access.html">http://dvcs.w3.org/hg/prov/tip/paq/provenance-access.html</a>
+</dd><dt id="bib-PROV-PRIMER">[PROV-PRIMER]</dt><dd>Simon Miles <a href="http://www.w3.org/2011/prov/wiki/ProvenancePrimer"><cite>Provenance Primer</cite></a>. 2011, Work in progress. URL: <a href="http://www.w3.org/2011/prov/wiki/ProvenancePrimer">http://www.w3.org/2011/prov/wiki/ProvenancePrimer</a>
+</dd><dt id="bib-PROV-SEMANTICS">[PROV-SEMANTICS]</dt><dd>James Cheney <a href="http://www.w3.org/2011/prov/wiki/FormalSemanticsStrawman"><cite>Formal Semantics Strawman</cite></a>. 2011, Work in progress. URL: <a href="http://www.w3.org/2011/prov/wiki/FormalSemanticsStrawman">http://www.w3.org/2011/prov/wiki/FormalSemanticsStrawman</a>
+</dd></dl></div></div></body></html>