--- a/model/PROV-DM.html Mon Oct 10 14:50:12 2011 +0100
+++ b/model/PROV-DM.html Mon Oct 10 15:02:27 2011 +0100
@@ -1,7 +1,7 @@
<!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>
+ <title>The PROV Data Model and Abstract Syntax Notation</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!--
=== NOTA BENE ===
@@ -16,537 +16,163 @@
- <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>
+ <link href="http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css" rel="stylesheet" type="text/css" charset="utf-8"><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="w3c-working-draft-10-october-2011">W3C Working Draft 10 October 2011</h2><dl><dt>This version:</dt><dd><a href="http://www.w3.org/TR/2011/WD-PROV-DM-20111010/">http://www.w3.org/TR/2011/WD-PROV-DM-20111010/</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</dd>
+<dd><a href="http://www.cs.ncl.ac.uk/people/Paolo.Missier">Paolo Missier</a>, Newcastle University</dd>
+<dt>Contributors:</dt><dd><a href="http://semanticweb.org/wiki/Khalid_Belhajjame">Khalid Belhajjame</a>, University of Manchester</dd>
+<dd><span>Stephen Cresswell</span>, The National Archives</dd>
+<dd><span>Ryan Golden</span>, Oracle Corporation</dd>
+<dd><a href="http://www.few.vu.nl/~pgroth/">Paul Groth</a>, VU University of Amsterdam</dd>
+<dd><span>Graham Klyne</span>, University of Oxford</dd>
+<dd><a href="http://tw.rpi.edu/web/person/JamesMcCusker">Jim McCusker</a>, Rensselaer Polytechnic Institute</dd>
+<dd><a href="http://www.inf.kcl.ac.uk/staff/simonm/">Simon Miles</a>, Invited Expert</dd>
+<dd><a href="http://www.rpi.edu/research/ccni/">James Myers</a>, Rensselaer Polytechnic Institute</dd>
+<dd><a href="http://cci.case.edu/cci/index.php/Satya_Sahoo">Satya Sahoo</a>, Case Western Reserve University</dd>
</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
+PROV-DM is a core data model for provenance for building
+representations of the entities, people and processes involved in
+producing a piece of data or thing in the world. PROV-DM is
+domain-agnotisc, but with well-defined extensibility points allowing
+further domain-specific and application-specific extensions to be
+defined. It is accompanied by PROV-ASN, a technology-independent
+abstract syntax notation, which allows serializations of PROV-DM
+instances to be created for human consumption, 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/">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@w3c.org@w3.org">public-prov-wg@w3c.org@w3.org</a> (<a href="mailto:public-prov-wg@w3c.org-request@w3.org?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-prov-wg@w3c.org/">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><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>
+This document is part of a set of specifications aiming to define the various aspects that are necessary to achieve the visition on inter-operable interchange of provenance information in heterogeneous environments such as the Web. This document defines the PROV-DM data model for provenance, accompanied with a notation to express instances of that data model for human consumption. Two other documents, to be released shortly, are: 1) a normative serialization of PROV-DM in RDF, specified by means of a mapping to the OWL2 Web Ontology Language; 2)
+the mechanisms for accessing and querying provenance.
+<p>This document was published by the <a href="http://www.w3.org/2011/prov/">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@w3c.org@w3.org">public-prov-wg@w3c.org@w3.org</a> (<a href="mailto:public-prov-wg@w3c.org-request@w3.org?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-prov-wg@w3c.org/">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><ul class="toc"><li class="tocline"><a href="#structure-of-this-document" class="tocxref"><span class="secno">1.1 </span>Structure of this Document</a></li><li class="tocline"><a href="#prov-dm-namespace" class="tocxref"><span class="secno">1.2 </span>PROV-DM Namespace</a></li><li class="tocline"><a href="#conventions" class="tocxref"><span class="secno">1.3 </span>Conventions</a></li></ul></li><li class="tocline"><a href="#preliminaries" class="tocxref"><span class="secno">2. </span>Preliminaries</a><ul class="toc"><li class="tocline"><a href="#conceptualization" 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="#prov-dm-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></ul></li><li class="tocline"><a href="#extensibility-section" class="tocxref"><span class="secno">6. </span>PROV-DM Extensibility Points</a></li><li class="tocline"><a href="#prov-dm-extensions" class="tocxref"><span class="secno">7. </span>PROV-DM extensions</a><ul class="toc"><li class="tocline"><a href="#expression-Collection" class="tocxref"><span class="secno">7.1 </span>Collections</a></li><li class="tocline"><a href="#common-relations" class="tocxref"><span class="secno">7.2 </span>Common relations</a><ul class="toc"><li class="tocline"><a href="#quotation" class="tocxref"><span class="secno">7.2.1 </span>Quotation</a></li><li class="tocline"><a href="#attribution" class="tocxref"><span class="secno">7.2.2 </span>Attribution</a></li><li class="tocline"><a href="#summary" class="tocxref"><span class="secno">7.2.3 </span>Summary</a></li><li class="tocline"><a href="#original-source" class="tocxref"><span class="secno">7.2.4 </span>Original Source</a></li></ul></li></ul></li><li class="tocline"><a href="#resource-section" class="tocxref"><span class="secno">8. </span>Resources, URIs, Entities, Identifiers, and Scope</a></li><li class="tocline"><a href="#illustration-conventions" class="tocxref"><span class="secno">A. </span>Illustration Conventions</a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">B. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">C. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">C.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">C.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.
+<p>
+The term 'provenance' refers to the sources of information, such
+as people, entities, and processes, involved in producing,
+influencing, or delivering a piece of data or a thing in the world.
+In particular, the provenance of information is crucial in deciding
+whether information is to be trusted, how it should be integrated with
+other diverse information sources, and how to give credit to its
+originators when reusing it. In an open and inclusive environment
+such as the Web, users find information that is often contradictory or
+questionable: provenance can help those users to make trust judgments.
+</p>
+
+
+<p>
+The idea that a single way of representing and collecting provenance could be adopted internally by all systems does not seem to be realistic today. Instead, a pragmatic approach is to consider a core data model for provenance that allows domain and application specific representations of provenance to be translated into such a data model and exchanged between systems.
+Heterogeneous systems can then export their provenance into such a core data model, and applications that need to make sense of provenance in heterogeneous systems can then import it, process it, and reason over it.</p>
+
+<p>Thus, the vision is that different provenance-aware systems natively adopt their own model for representing their provenance, but a core provenance data model can be readily adopted as a provenance <em>interchange</em> model across such systems.</p>
+
+<p>A set of specifications define the various aspects
+that are necessary to achieve this vision in an inter-operable
+way:</p>
+<ul>
+<li> This document defines the PROV-DM data model for provenance, accompanied with a notation to express instances of that data model for human consumption; </li>
+<li> A normative serialization of PROV-DM in RDF [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-OWL2">PROV-OWL2</a></cite>], specified by means of a mapping to the OWL2 Web Ontology Language [<cite><a class="bibref" rel="biblioentry" href="#bib-OWL2-SYNTAX">OWL2-SYNTAX</a></cite>];</li>
+<li> The mechanisms for accessing and querying provenance [<cite><a class="bibref" rel="biblioentry" href="#bib-PROV-PAQ">PROV-PAQ</a></cite>].</li>
+</ul>
+
+
+<p>
+The PROV-DM data model for provenance consists of a set of core
+concepts, and a few common extensions, based on these core concepts. PROV-DM is a core model, domain-agnotisc, but with well-defined extensibility points allowing further domain-specific and application-specific extensions to be defined.</p>
+
+<p>This specification also introduces
+PROV-ASN, an abstract syntax that is primarily aimed at human consumption. PROV-ASN allows
+serializations of PROV-DM instances to be created in a technology independent manner,
+it facilitates its mapping to concrete syntax, and it is used as the basis for a
+formal semantics.
+</p>
+
+ <div id="structure-of-this-document" class="section">
+<h3><span class="secno">1.1 </span>Structure of this Document</h3>
+
+<p>In <a href="#preliminaries">section 2</a>, a set of preliminaries are introduced, including concepts that underpin PROV-DM and motivations for the PROV-ASN notation.</p>
+
+<p><a href="#prov-dm-overview">Section 3</a> provides an overview of PROV-DM listing its core types and their relations.</p>
+
+<p>In <a href="#prov-dm-example">section 4</a>, the PROV-DM is
+applied to a short scenario, encoded in PROV-ASM, and illustrated
+graphically.</p>
+
+<p><a href="#data-model-concepts">Section 5</a> provides the normative definition of PROV-DM and the notation PROV-ASN.</p>
+
+<p><a href="#extensibility-section">Section 6</a> summarizes PROV-DM extensibility points.</p>
+
+<p><a href="#prov-dm-extensions">Section 7</a> consists of common domain-independent extensions such as collection-related concepts and common relations.</p>
+
+
+ </div>
+
+<div id="prov-dm-namespace" class="section">
+ <h3><span class="secno">1.2 </span>PROV-DM Namespace</h3>
+
+
+<p>The PROV-DM namespace is <span class="name">http://www.w3.org/2011/prov/</span> (TBD).</p>
+
+<p> All the elements, relations, reserved names and attributes introduced in this specification belong to the PROV-DM namespace.
+</p>
+
</div>
+ <div id="conventions" class="section">
+<h3><span class="secno">1.3 </span>Conventions</h3>
+
+
+
<p>The key words "<em class="rfc2119" title="must">must</em>", "<em class="rfc2119" title="must not">must not</em>", "<em class="rfc2119" title="required">required</em>", "<em class="rfc2119" title="shall">shall</em>", "<em class="rfc2119" title="shall
not">shall
not</em>", "<em class="rfc2119" title="should">should</em>", "<em class="rfc2119" title="should not">should not</em>", "<em class="rfc2119" title="recommended">recommended</em>", "<em class="rfc2119" title="may">may</em>", and
"<em class="rfc2119" title="optional">optional</em>" in this document are to be interpreted as described in
[<cite><a class="bibref" rel="biblioentry" href="#bib-RFC2119">RFC2119</a></cite>].</p>
-
</div>
+</div>
+
<div id="preliminaries" class="section">
<!--OddPage--><h2><span class="secno">2. </span>Preliminaries</h2>
- <div id="a-conceptualization-of-the-world" class="section">
+ <div id="conceptualization" 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>
+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...
+<div class='paolo'>This is the single most important issue IMO: we hit readers with this "characterized 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>
+<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 different.</p>
<div class="xmpl">
-Different users may take different perspectives about a resource with
+Different users may take different perspectives on 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>
+<li>the report independent of where it is hosted and of its content over time: fixes the nature of the thing as a conceptual 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>
@@ -568,9 +194,17 @@
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 our conceptualization of the world, instantaneous 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 class="note">
+Now that "entity expression" is used to refer to the
+language construct, the term "entity" can unambiguously refer to the thing
+described by that construct; i.e. the characterized thing.
+This is raised in the following <a href="http://lists.w3.org/Archives/Public/public-prov-wg/2011Sep/0315.html">email</a>.</div>
+
</div>
<div id="prov-asn--the-provenance-abstract-syntax-notation" class="section">
@@ -601,7 +235,6 @@
-<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>
@@ -619,7 +252,9 @@
<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.
+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.
+This specification does not define a notion of consistency between different sets of assertions (whether by the same asserter or different asserters).
+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
@@ -679,7 +314,7 @@
<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>
+ <strong>wasComplementOf</strong> relationship is used to denote that two instances of 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>
@@ -690,18 +325,21 @@
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>
+ <ul><li> Qualifiers can be associated to relations, namely <strong>use</strong> and <strong>wasGeneratedBy</strong>, in order to further characterize their nature. <strong>Role</strong> is a pre-defined 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 class="note">To simplify the ER diagram in this section, we wrote "Entity" instead of "Entity Expression". This may be confusing. Particularly so, if we define entity as characterized thing.
+</div>
+
</div>
- <div class="informative section" id="example">
+ <div class="informative section" id="prov-dm-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>].
@@ -837,7 +475,7 @@
<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>
+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 <span class="name">content</span>. Likewise, the one denoted by <span class="name">e6</span> complements the expression denoted by <span class="name">e3</span> with an attribute <span class="name">spellchecked</span>.</p>
<pre>wasComplementOf(e1,e0)
wasComplementOf(e2,e0)
wasComplementOf(e3,e0)
@@ -867,7 +505,7 @@
<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>
+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 agent, as creator, author and communicator.</p>
<pre>wasControlledBy(pe0,a1, qualifier(role="creator"))
wasControlledBy(pe1,a2, qualifier(role="author"))
wasControlledBy(pe2,a3, qualifier(role="communicator"))
@@ -935,7 +573,8 @@
| <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>).
+<p>
+Furthermore, the PROV data model includes a "house-keeping construct", which is compliant with the production <span class="nonterminal">provenanceContainer</span> (see section <a href="#ProvenanceContainer">Provenance Container</a>). This construct is used to wrap PROV-DM expressions and facilitate their interchange.</p>
</div>
@@ -1022,11 +661,13 @@
-<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 class="note">The group is still discussing the need for characterizing attributes in entity expressions. At heart: when it comes to exchanging provenance information, why do we *need*
+to know exactly what makes one entity a constrained view of another.
+This is raised in the following <a href="http://lists.w3.org/Archives/Public/public-prov-wg/2011Sep/0315.html">email</a>.</div>
+
+<div class="note">The characterization interval of an entity expression is currently implicit. Making it explicit would allow us to define wasComplementOf more precisely. It would also allow us to address
+<a href="http://www.w3.org/2011/prov/track/issues/108">ISSUE-108</a>.
+Beginning and end of characterization interval could be expressed by attributes (similarly to process executions). </div>
@@ -1061,22 +702,22 @@
<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>
+<p>Such start and end times constitute <em>attributes</em> of an activity, where the interpretation of attribute in the context of a process execution expression is the same as the interpretation 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, written <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>
+<li> contains a set of attribute-value pairs <span class="name">[ attr1=val1, ...]</span>, representing other attributes of this activity that hold for its whole 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.
+<pre class="example">processExecution(pe1,add-crime-in-london,t+1,t+1+epsilon,[host="server.example.org",type="app:edit"])</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.org</span>, and of type <span class="name">edit</span> (declared in some namespace with prefix <span class="name">app</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. The attribute <span class="name">type</span> is a reserved attribute of PROV-DM, allowing for subtyping to be expressed.
</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>
@@ -1100,7 +741,7 @@
-<p>An <dfn id="dfn-Agent">agent expression</dfn> is a representation a characterized thing capable of
+<p>An <dfn id="dfn-Agent">agent expression</dfn> is a representation of 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.
@@ -1132,7 +773,7 @@
<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>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 other hand, from the entity expression identified by <span class="name">e2</span>, one can infer an agent expression, as per the following inference.
</p>
<div class="constraint" id="control-agent">
@@ -1189,7 +830,7 @@
</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.
+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 expected that provenance would contain an explanation for these attribute-values.
</p>
@@ -1229,7 +870,7 @@
-<p>An instance of a generation expression, noted <span class="name">wasGeneratedBy(e,pe,q,t)</span> in PROV-ASN:</p>
+<p>An instance of a generation expression, written <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>
@@ -1264,8 +905,8 @@
<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
+<span class="conditional">if</span> the assertion <span class="name">wasGeneratedBy(e,pe,p)</span>
+or <span class="name">wasGeneratedBy(e,pe,q,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
@@ -1276,7 +917,7 @@
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
+<div class="constraint" id="generation-pe-ordering"><span class="conditional">If</span> an assertion <span class="name">wasGeneratedBy(x,pe,q)</span> or <span class="name">wasGeneratedBy(x,pe,q,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>
@@ -1314,7 +955,7 @@
</div>
-<p>An instance of a use expression, noted <span class="name">used(pe,e,q,t)</span> in PROV-ASN:</p>
+<p>An instance of a use expression, written <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>
@@ -1417,7 +1058,7 @@
<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>
+<p>In its full form, a process-execution linked derivation expression, written <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>
@@ -1439,7 +1080,7 @@
<p>The following derivation assertions</p>
-<pre class="example">wasDerivedFrom(e5,e3,pe4,qualifier(channel=out),qualifier(channel=in))
+<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;
@@ -1456,8 +1097,8 @@
</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
+<span class="conditional">If</span> <span class="name">wasDerivedFrom(e2,e1,pe,q2,q1)</span> holds, <span class="conditional">then</span>
+ <span class="name">wasGeneratedBy(e2,pe,q2)</span> and <span class="name">used(pe,e1,q1)</span> also
hold.
</div>
@@ -1496,10 +1137,10 @@
<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>
+in general. Indeed, when a generation <span class="name">wasGeneratedBy(e2,pe,q2)</span>
+precedes <span class="name">used(pe,e1,q1)</span>, for
+some <span class="name">e1</span>, <span class="name">e2</span>, <span class="name">q1</span>, <span class="name">q2</span>, and <span class="name">pe</span>, one
+cannot infer derivation <span class="name">wasDerivedFrom(e2,e1,pe,q2,q1)</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
@@ -1511,7 +1152,7 @@
<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.
+such that <span class="name">used(pe,e1,q1)</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>
@@ -1520,7 +1161,7 @@
<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
+derive <span class="name">wasGeneratedBy(e2,pe,q2)</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>
@@ -1564,9 +1205,9 @@
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>
+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">wasDerivedFrom(e2,e1)</span> or <span class="name">wasDerivedFrom(e2,e1,pe,q12,q1)</span>
holds, <span class="conditional">then</span> the
- the assertion <span class="name">wasEventuallyDerivedFrom(e2,e1)</span> also holds.
+ the expression <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>
@@ -1578,6 +1219,7 @@
+
</div>
<div id="transitive-derivation-expression" class="section">
@@ -1596,13 +1238,13 @@
<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
+<p>The expression <span class="name">dependedOn</span> can only be inferred; in other words, 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">wasDerivedFrom(e2,e1)</span> or <span class="name">wasDerivedFrom(e2,e1,pe,q2,q1)</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>
@@ -1616,6 +1258,17 @@
<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 class="issue">Derivations must take into account characterization intervals, otherwise, transitivity
+leads to incorrect conclusion. This is <a href="http://www.w3.org/2011/prov/track/issues/108">ISSUE-108</a>.
+<pre>
+ ------------- e1
+ --------------------------------------- e2
+ ------------- e3
+</pre>
+ dependedOn(e2,e1) does not make sense, since e1 began to exist after e2.
+
+</div>
+
</div>
@@ -1644,7 +1297,7 @@
</div>
-<p>An instance of a control expression, noted <span class="name">wasControlledBy(pe,ag,q)</span> in PROV-ASN:</p>
+<p>An instance of a control expression, written <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;
@@ -1654,8 +1307,8 @@
<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.
+<pre class="example">wasControlledBy(pe3,a4,qualifier[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 reserves 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>
@@ -1670,24 +1323,24 @@
<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.
+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 attributes 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 attributes 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 attributes) complements the other.</p>
+
+<p>This intuition is made more precise by considering the entities that form the representations of characterized 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>
+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 characterized 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>
+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 attributes, and each of them has other attributes in addition to P. If the values assigned to each attribute 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 attributes of B is a strict superset of A's attributes, 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.
+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 attribute holds for both A and B. When any of the attribute 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.
-->
@@ -1744,12 +1397,15 @@
<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="note">It is suggested that the name 'wasComplementOf' does not capture the meaning of this relation adequately. No concrete suggestion has been made so far.
+Furthermore, there is a suggestion that an alternative relation that is transitive may also be useful.
+This is raised in the following <a href="http://lists.w3.org/Archives/Public/public-prov-wg/2011Sep/0315.html">email</a>.</div>
+
+
+
+<div class="issue">A discussion on alternative definition of wasComplementOf has not reached a satisfactory conclusion yet. This is <a href="http://www.w3.org/2011/prov/track/issues/29">ISSUE-29</a></div>
+
+
<div class="pending"> Comments on ivpof in <a href="http://www.w3.org/2011/prov/track/issues/57">ISSUE-57</a>.</div>
@@ -1849,8 +1505,8 @@
<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"])
+<pre class="example">processExecution(pe1,long-workflow,t1,t2,[host="server1.example.org"])
+processExecution(pe2,long-workflow,t3,t4,[host="server2.example.org"])
entity(e1,[type="scheduler",state=1])
entity(e2,[type="scheduler",state=2])
wasControlledBy(pe1,e1,qualifier(role="end"))
@@ -1891,7 +1547,7 @@
-<p>An instance of a revision expression, noted <span class="name">wasRevisionOf(e2,e1,ag)</span> in PROV-ASN:</p>
+<p>An instance of a revision expression, written <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;
@@ -1953,7 +1609,7 @@
<p>An instance of a participation expression,
-noted <span class="name">hadParticipant(pe,e)</span> in PROV-ASN:
+written <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
@@ -2001,19 +1657,39 @@
<span class="nonterminal">identifier</span>
<span class="name">)</span><br>
<span class="nonterminal">relationIdentification</span> :=
-<span class="nonterminal">identifier</span> <span class="nonterminal">identifier</span> <span class="nonterminal">qualifier</span>
+<span class="name">relation</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">qualifier</span>
+[<span class="name">,</span>
+<span class="nonterminal">qualifier</span>
+]
+<span class="name">)</span>
</div>
+<p>Since relations do not have identifiers but can be annotated, a <span class="nonterminal">relationIdentification</span> mechanism is provided allowing the constituents of relations to be listed so as to identify relations.
+</p>
+
<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"])
+processExecution(pe,transform,t1,t2,[])
+used(pe,e1,qualifier(file="stdin"))
+wasGeneratedBy(e2, pe, qualifier(file="stdout"))
+
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>.
+hasAnnotation(e2,ann1)
+
+annotation(ann2,[style="dotted"])
+hasAnnotation(relation(pe,e1,qualifier(file="stdin")),ann2)</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>. It also asserts a process execution, its use of the first entity, and its generation of the second entity. The <span class="name">used</span> relation is annotated with a style (an application specific way of rendering this edge graphically).
</p>
@@ -2056,7 +1732,7 @@
<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>
+<p>An instance of an account expression, written <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>
@@ -2077,7 +1753,7 @@
...
processExecution(pe0,create-file,t)
...
- wasGeneratedBy(e0,pe0,outFile)
+ wasGeneratedBy(e0,pe0,qualifier())
...
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://example.org/asserter</span>, and is identified by identifier <span class="name">acc0</span>.
@@ -2126,7 +1802,7 @@
...
processExecution(pe1,create-file,t1)
...
- wasGeneratedBy(e0,pe1,outFile)
+ wasGeneratedBy(e0,pe1,qualifier(fct="create"))
... )</pre>
<p>with identifier <span class="name">acc2</span>, containing assertions by asserter by <span class="name">http://example.org/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>
@@ -2138,12 +1814,12 @@
http://example.org/asserter1,
entity(e0, [ type="File", location="/shared/crime.txt", creator="Alice" ])
processExecution(pe0,create-file,t)
- wasGeneratedBy(e0,pe0,outFile)
+ wasGeneratedBy(e0,pe0,qualifier())
account(acc4,
http://example.org/asserter2,
entity(e1, [ type="File", location="/shared/crime.txt", creator="Alice", content="" ])
processExecution(pe0,copy-file,t)
- wasGeneratedBy(e1,pe0,outFile)
+ wasGeneratedBy(e1,pe0,qualifier(fct="create"))
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>
@@ -2159,7 +1835,7 @@
<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>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 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>
@@ -2176,17 +1852,17 @@
<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>An instance of a provenance container, written <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>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. Consequently, every provenance expression is always expressed in the context of an account, either explicitly in an asserted account, or implicitly in a container's default account.</p>
<p>
The following container </p>
-<pre class="example">container([x http://example.org],[acc1,acc2]
+<pre class="example">container([x http://example.org/], [acc1,acc2]
account(acc1,http://example.org/asserter1,...)
account(acc2,http://example.org/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.
@@ -2269,7 +1945,7 @@
</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 PROV data model introduces the qualifier <span class="name">role</span> in the <a href="#prov-dm-namespace">PROV-DM namespace</a> 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>
@@ -2447,8 +2123,10 @@
</div>
+</div>
+
<div id="extensibility-section" class="section">
-<h3><span class="secno">5.6 </span>PROV-DM Extensibility Points</h3>
+<!--OddPage--><h2><span class="secno">6. </span>PROV-DM Extensibility Points</h2>
<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:
@@ -2456,7 +2134,7 @@
</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>
+<p>The <a href="#prov-dm-namespace">PROV-DM namespace</a> 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>
@@ -2465,10 +2143,12 @@
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>
+<p>The <a href="#prov-dm-namespace">PROV-DM namespace</a> declares a reserved qualifier: <span class="name">role</span>.</p></li>
<li>Namespaces allow attributes and names to be qualified. </li>
+<li>Subtyping is allowed by means of the reserved attribute <span class="name">type</span>.</li>
+
<li>Domain specific values can be expressed by means of typed literals. </li>
</ul>
@@ -2479,12 +2159,12 @@
</div>
- <div id="standard-extensions" class="section">
-<h3><span class="secno">5.7 </span>Standard extensions</h3>
+ <div id="prov-dm-extensions" class="section">
+<!--OddPage--><h2><span class="secno">7. </span>PROV-DM extensions</h2>
<div id="expression-Collection" class="section">
-<h4><span class="secno">5.7.1 </span>Collections</h4>
+<h3><span class="secno">7.1 </span>Collections</h3>
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>
@@ -2585,91 +2265,215 @@
<div id="common-relations" class="section">
-<h4><span class="secno">5.7.2 </span>Common relations</h4>
+<h3><span class="secno">7.2 </span>Common relations</h3>
<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 class="note">Revision and participation should probably be moved here. </div>
+
+<div class="note">The types of these relations need to be made explicit.</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>
+<h4><span class="secno">7.2.1 </span>Quotation</h4>
+
+
+
+<p> A quotation exression is a representation of the repeating or copying of some part of a characterized thing, compatible with
+the <span class="nonterminal">quotationExpression</span> production.</p>
+
+<div class="grammar">
+<span class="nonterminal">quotationExpression</span> :=
+<span class="name">wasQuoteOf</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">identifier</span>
+<span class="name">)</span>
+</div>
+
+
+<p> An instance of a quotation expression, written <span class="name"> wasQuoteOf(e2,e1,ag2,ag1)</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>contains an identifier <span class="name">e2</span>, identifying an entity expression that represents the quote;
+</li><li>contains an identifier <span class="name">e1</span>, identifying an entity expression representing what is being quoted;
+</li><li><em class="rfc2119" title="may">may</em> refer to an agent who is doing the quoting, identified by <span class="name">ag2</span>;
+</li><li><em class="rfc2119" title="may">may</em> refer to the agent that is quoted, identified by <span class="name">ag1</span>.
</li></ul>
<p>
-<span class="name">wasQuoteOf</span> is a sub-relation of <span class="name">wasRevisionOf</span>
+<span class="conditional">If</span>
+<span class="name">wasQuoteOf(e2,e1,ag2,ag1)</span> holds for some identifiers
+<span class="name">e2</span>, <span class="name">e1</span>, <span class="name">ag2</span>, <span class="name">ag1</span>,
+<span class="conditional">then</span> <span class="name">wasEventuallyDerivedDerivedFrom(e2,e1)</span> also holds.
</p>
+
+<div class="note">Purpose of ag1 and ag2 needs to be clarified. </div>
</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>
+<h4><span class="secno">7.2.2 </span>Attribution</h4>
+
+<p>An attribution expression represents that a characterized thing is ascribed to an agent and is compliant with the <span class="nonterminal">attributionExpression</span> production.</p>
+
+<div class="grammar">
+<span class="nonterminal">attributionExpression</span> :=
+<span class="name">wasAttributeTo</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 an attribution expression, written <span class="name"> wasAttributedTo(e,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>contains an identifer <span class="name">e</span>, identifying an entity expression;
+</li><li>contains an identifer <span class="name">ag</span>, identifying the agent whom the entity is attributed to.
+</li></ul>
+
+
+<div class="note">It is suggested that <span class="name">wasQuoteOf</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>.
+It is not clear that it can be the case. Shouldn't <span class="name">ag</span> be used, and not controlling, for a derivation to hold? </div>
+</div>
+
+<div id="summary" class="section">
+<h4><span class="secno">7.2.3 </span>Summary</h4>
+<p>A summary expression represents that a characterized thing is a synopsis or abbreviation of another entity. A summary expression is compliant with the
+<span class="nonterminal">summaryExpression</span> production.</p>
+
+<div class="grammar">
+<span class="nonterminal">summaryExpression</span> :=
+<span class="name">wasSummaryOf</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 assertion wasSummaryOf, written <span class="name"> wasSummaryOf(e2,e1)</span>:</p>
+<ul>
+<li>contains an identifier <span class="name">e2</span> identifying the entity expression that represents the summary;
+</li><li>contains an identifier <span class="name">e1</span> identifying the entity expression that represents what is being summarized.
</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>
+<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>
+<h4><span class="secno">7.2.4 </span>Original Source</h4>
+
+<p>An original-source expression represents a characterized thing in
+which another characterized thing first appeared. A original-source
+expression is compliant with the
+<span class="nonterminal">originalSourceExpression</span> production.</p>
+
+<div class="grammar">
+<span class="nonterminal">originalSourceExpression</span> :=
+<span class="name">hadOriginalSource</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 assertion hadOriginalSource, written <span class="name"> hadOriginalSource(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>contains an identifier <span class="name">e1</span> identifying the entity expression representing the original thing;
+</li><li>contains an identifier <span class="name">e2</span> identifying an entity expression, representing a thing that had appeared previously.
</li></ul>
<p>
-<span class="name">hasOriginalSource</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>
+ <span class="name">hasOriginalSource</span> is a strict sub-relation of <span class="name">wasEventuallyDerivedFrom</span>
</p>
</div>
- </div>
+</div>
</div>
+<div id="resource-section" class="section">
+<!--OddPage--><h2><span class="secno">8. </span>Resources, URIs, Entities, Identifiers, and Scope</h2>
+
+<p>This specification introduces the notion of an identifiable characterized thing in the world. In PROV-DM, an entity expression is a representation of such an identifiable characterized thing. An entity expression includes an identifier identifying this characterized thing. Identifiers are URIs (TBC). </p>
+
+<p>The term 'resource' is used in a general sense
+ for whatever might be identified by a URI [<cite><a class="bibref" rel="biblioentry" href="#bib-RFC3986">RFC3986</a></cite>]. On the Web, a URI denotes a resource, without any expectation that the resource is accessed. </p>
+
+<p>The purpose of this section is to clarify the relationship between resource and the notions of characterized thing and entity expression. </p>
+
+<p>A resource is an instance of a thing in the world. One may take multiple perspectives on such a thing and its situation in the world, fixing some its aspects.</p>
+
+<p> We refer to the example of section <a href="#conceptualization">2.1</a> for a resource (at some URL) and three different perspectives, referred to as characterized things. Three different entity expressions can be expressed for this report, which in the PROV-ASN sample below, are expressed within a same account.
+</p>
+
+<pre>account(acc1,
+ http://example.org/asserter1,
+
+ entity(urn:demo:0, [ type="Document", location="http://example.org/crime.txt" ])
+ entity(urn:demo:1, [ type="Document", location="http://example.org/crime.txt", version="2.1", content="...", date="2011-10-07" ])
+ entity(urn:demo:2, [ type="Document", author="John" ])
+ ...)
+</pre>
+
+<p>Each entity expression contains an idenfier that identifies the characterized thing it represents.
+In this example, three identifiers were minted using the URN syntax with "demo" namespace.</p>
+
+<p>Given that the report is a resource denoted by the URI <span class="name">http://example.org/crime.txt</span>, we could simply use this URI as the identifier of an entity. This would avoid us minting new URIs. Hence, the report URI would play a double role: as a URI it denotes a resource accessible at that URI, and as a PROV-DM identifier, it identifies a specific characterization of this report. A given identifier identifies a single characterized thing within the scope of an account. Hence, below, all entities expressions have been given the same identifier but appear in the scope of different accounts. </p>
+
+<pre>account(acc2,
+ http://example.org/asserter1,
+
+ entity(http://example.org/crime.txt, [ type="Document", location="http://example.org/crime.txt" ])
+ ...)
+
+account(acc3,
+ http://example.org/asserter1,
+
+ entity(http://example.org/crime.txt, [ type="Document", location="http://example.org/crime.txt", version="2.1", content="...", date="2011-10-07" ])
+ ...)
+
+account(acc4,
+ http://example.org/asserter1,
+ entity(http://example.org/crime.txt, [ type="Document", author="John" ])
+ ...)
+</pre>
+
+<p>In this case, the URI <span class="name">http://example.org/crime.txt</span> still denotes the same resource; however, it identifies a different entity in each account. </p>
+
+<p> Alternatively, if we need to assert the existence of two different characterizations of the report within the same account, then alternate identifiers <em class="rfc2119" title="must">must</em> be used, one of them being allowed to be the resource URI.</p>
+
+<pre>account(acc5,
+ http://example.org/asserter1,
+
+ entity(http://example.org/crime.txt, [ type="Document", location="http://example.org/crime.txt" ])
+ entity(urn:demo:1, [ type="Document", location="http://example.org/crime.txt", version="2.1", content="...", date="2011-10-07" ])
+
+ ...)
+
+</pre>
+
+
+</div>
+
<div class="appendix section" id="illustration-conventions">
-<h3><span class="secno">5.8 </span>Illustration Conventions</h3>
+<!--OddPage--><h2><span class="secno">A. </span>Illustration Conventions</h2>
<p> In this section, we summarize the conventions adopted for the graphical illustration </p>
@@ -2696,21 +2500,24 @@
<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>
+ <!--OddPage--><h2><span class="secno">B. </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>
+<div id="references" class="appendix section"><!--OddPage--><h2><span class="secno">C. </span>References</h2><div id="normative-references" class="section"><h3><span class="secno">C.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-RFC3986">[RFC3986]</dt><dd>T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifier (URI): Generic Syntax.</cite></a> January 2005. Internet RFC 3986. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>
</dd><dt id="bib-XMLSCHEMA-2">[XMLSCHEMA-2]</dt><dd>Paul V. Biron; Ashok Malhotra. <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/"><cite>XML Schema Part 2: Datatypes Second Edition.</cite></a> 28 October 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/</a>
-</dd></dl></div><div id="informative-references" class="section"><h3><span class="secno">B.2 </span>Informative references</h3><dl class="bibliography"><dt id="bib-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></dl></div><div id="informative-references" class="section"><h3><span class="secno">C.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>Yolanda Gil and Simon Miles <a href="http://dvcs.w3.org/hg/prov/raw-file/default/primer/Primer.html"><cite>Prov Model Primer</cite></a>. 2011, Work in progress. URL: <a href="http://dvcs.w3.org/hg/prov/raw-file/default/primer/Primer.html">http://dvcs.w3.org/hg/prov/raw-file/default/primer/Primer.html</a>
</dd><dt 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>
+
+