CINXE.COM
PROV-XML: The PROV XML Schema
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <title>PROV-XML: The PROV XML Schema</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <link rel="http://www.w3.org/ns/prov#has_provenance" href="https://www.w3.org/2011/prov/provenance/prov-xml"> <style type="text/css"> .note { font-size:small; margin-left:50px } table.thinborder { border-width: 1px; border-spacing: 0px; border-style: none; border-color: gray; border-collapse: collapse; } table.thinborder th { border-width: 1px; padding: 0px; border-style: solid; border-color: gray; } table.thinborder td { border-width: 1px; padding: 2px; border-style: solid; border-color: gray; } </style> <style>/***************************************************************** * ReSpec 3 CSS * Robin Berjon - http://berjon.com/ *****************************************************************/ /* --- INLINES --- */ em.rfc2119 { text-transform: lowercase; font-variant: small-caps; font-style: normal; color: #900; } h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym, h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr { border: none; } dfn { font-weight: bold; } a.internalDFN { color: inherit; border-bottom: 1px solid #99c; text-decoration: none; } a.externalDFN { color: inherit; border-bottom: 1px dotted #ccc; text-decoration: none; } a.bibref { text-decoration: none; } cite .bibref { font-style: normal; } code { color: #ff4500; } /* --- TOC --- */ .toc a, .tof a { text-decoration: none; } a .secno, a .figno { color: #000; } ul.tof, ol.tof { list-style: none outside none; } .caption { margin-top: 0.5em; font-style: italic; } /* --- TABLE --- */ table.simple { border-spacing: 0; border-collapse: collapse; border-bottom: 3px solid #005a9c; } .simple th { background: #005a9c; color: #fff; padding: 3px 5px; text-align: left; } .simple th[scope="row"] { background: inherit; color: inherit; border-top: 1px solid #ddd; } .simple td { padding: 3px 10px; border-top: 1px solid #ddd; } .simple tr:nth-child(even) { background: #f0f6ff; } /* --- DL --- */ .section dd > p:first-child { margin-top: 0; } .section dd > p:last-child { margin-bottom: 0; } .section dd { margin-bottom: 1em; } .section dl.attrs dd, .section dl.eldef dd { margin-bottom: 0; } </style><style>/* --- EXAMPLES --- */ div.example-title { min-width: 7.5em; color: #b9ab2d; } div.example-title span { text-transform: uppercase; } aside.example, div.example, div.illegal-example { padding: 0.5em; margin: 1em 0; position: relative; clear: both; } div.illegal-example { color: red } div.illegal-example p { color: black } aside.example, div.example { padding: .5em; border-left-width: .5em; border-left-style: solid; border-color: #e0cb52; background: #fcfaee; } aside.example div.example { border-left-width: .1em; border-color: #999; background: #fff; } aside.example div.example div.example-title { color: #999; } </style><style>/* --- ISSUES/NOTES --- */ div.issue-title, div.note-title { padding-right: 1em; min-width: 7.5em; color: #b9ab2d; } div.issue-title { color: #e05252; } div.note-title { color: #2b2; } div.issue-title span, div.note-title span { text-transform: uppercase; } div.note, div.issue { margin-top: 1em; margin-bottom: 1em; } .note > p:first-child, .issue > p:first-child { margin-top: 0 } .issue, .note { padding: .5em; border-left-width: .5em; border-left-style: solid; } div.issue, div.note { padding: 1em 1.2em 0.5em; margin: 1em 0; position: relative; clear: both; } span.note, span.issue { padding: .1em .5em .15em; } .issue { border-color: #e05252; background: #fbe9e9; } .note { border-color: #52e052; background: #e9fbe9; } </style><link rel="stylesheet" href="//www.w3.org/StyleSheets/TR/W3C-WG-NOTE"><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head> <body><div class="head"> <p> <a href="https://www.w3.org/"><img width="72" height="48" src="https://www.w3.org/Icons/w3c_home" alt="W3C"></a> </p> <h1 class="title" id="title">PROV-XML: The PROV XML Schema</h1> <h2 id="w3c-working-group-note-30-april-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Working Group Note 30 April 2013</h2> <dl> <dt>This version:</dt> <dd><a href="https://www.w3.org/TR/2013/NOTE-prov-xml-20130430/">http://www.w3.org/TR/2013/NOTE-prov-xml-20130430/</a></dd> <dt>Latest published version:</dt> <dd><a href="https://www.w3.org/TR/prov-xml/">http://www.w3.org/TR/prov-xml/</a></dd> <dt>Previous version:</dt> <dd><a href="https://www.w3.org/TR/2013/WD-prov-xml-20130312/">http://www.w3.org/TR/2013/WD-prov-xml-20130312/</a> <a href="diff.html">(color-coded diff)</a></dd> <dt>Editors:</dt> <dd><span>(In alphabetical order)</span></dd> <dd><span>Hook Hua</span>, Invited Expert</dd> <dd><span>Curt Tilmes</span>, National Aeronautics and Space Administration</dd> <dd><a href="http://tw.rpi.edu/web/person/StephanZednik">Stephan Zednik</a>, Rensselaer Polytechnic Institute</dd> <dt>Author:</dt> <dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd> </dl> <p class="copyright"> <a href="https://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2012-2013 <a href="https://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. <abbr title="World Wide Web Consortium">W3C</abbr> <a href="https://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="https://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="https://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply. </p> <hr> </div> <section id="abstract" class="introductory"><h2>Abstract</h2> <p> Provenance is information about entities, activities, and people involved in producing a piece of data or thing, which can be used to form assessments about its quality, reliability or trustworthiness. PROV-DM is the conceptual data model that forms a basis for the <abbr title="World Wide Web Consortium">W3C</abbr> provenance (PROV) family of specifications. It defines a concepts for expressing provenance information enabling interchange. This document introduces an XML schema for the PROV data model (PROV-DM), allowing instances of the PROV data model to be serialized in XML. </p> <p>The <a href="https://www.w3.org/TR/2013/WD-prov-overview-20130312/">PROV Document Overview</a> describes the overall state of PROV, and should be read before other PROV documents.</p> </section><section id="sotd" class="introductory"><h2>Status of This Document</h2> <p> <em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision of this technical report can be found in the <a href="https://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at http://www.w3.org/TR/.</em> </p> <h4 id="prov-family-of-documents">PROV Family of Documents</h4> This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable interchange of provenance information in heterogeneous environments such as the Web. These documents are listed below. Please consult the [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>] for a guide to reading these documents. <ul> <li> <a href="https://www.w3.org/TR/2013/NOTE-prov-overview-20130430/">PROV-OVERVIEW</a> (Note), an overview of the PROV family of documents [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>];</li> <li> <a href="https://www.w3.org/TR/2013/NOTE-prov-primer-20130430/">PROV-PRIMER</a> (Note), a primer for the PROV data model [<cite><a class="bibref" href="#bib-PROV-PRIMER">PROV-PRIMER</a></cite>];</li> <li> <a href="https://www.w3.org/TR/2013/REC-prov-o-20130430/">PROV-O</a> (Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of the PROV data model to RDF [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>];</li> <li> <a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/">PROV-DM</a> (Recommendation), the PROV data model for provenance [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>];</li> <li> <a href="https://www.w3.org/TR/2013/REC-prov-n-20130430/">PROV-N</a> (Recommendation), a notation for provenance aimed at human consumption [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>];</li> <li> <a href="https://www.w3.org/TR/2013/REC-prov-constraints-20130430/">PROV-CONSTRAINTS</a> (Recommendation), a set of constraints applying to the PROV data model [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>];</li> <li> <a href="https://www.w3.org/TR/2013/NOTE-prov-xml-20130430/">PROV-XML</a> (Note), an XML schema for the PROV data model (this document);</li> <li> <a href="https://www.w3.org/TR/2013/NOTE-prov-aq-20130430/">PROV-AQ</a> (Note), mechanisms for accessing and querying provenance [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>]; </li> <li> <a href="https://www.w3.org/TR/2013/NOTE-prov-dictionary-20130430/">PROV-DICTIONARY</a> (Note) introduces a specific type of collection, consisting of key-entity pairs [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>];</li> <li> <a href="https://www.w3.org/TR/2013/NOTE-prov-dc-20130430/">PROV-DC</a> (Note) provides a mapping between PROV-O and Dublin Core Terms [<cite><a class="bibref" href="#bib-PROV-DC">PROV-DC</a></cite>];</li> <li> <a href="https://www.w3.org/TR/2013/NOTE-prov-sem-20130430/">PROV-SEM</a> (Note), a declarative specification in terms of first-order logic of the PROV data model [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>];</li> <li> <a href="https://www.w3.org/TR/2013/NOTE-prov-links-20130430/">PROV-LINKS</a> (Note) introduces a mechanism to link across bundles [<cite><a class="bibref" href="#bib-PROV-LINKS">PROV-LINKS</a></cite>].</li> </ul> <h4 id="implementations-encouraged">Implementations Encouraged</h4> <p> The Provenance Working Group encourages implementation of the material defined in this document. Although work on this document by the Provenance Working Group is complete, errors may be recorded in the <a href="https://www.w3.org/2011/prov/errata.html">errata</a> or and these may be addressed in future revisions. </p> <h4 id="please-send-comments">Please Send Comments</h4> <p> This document was published by the <a href="https://www.w3.org/2011/prov/">Provenance Working Group</a> as a Working Group Note. If you wish to make comments regarding this document, please send them to <a href="mailto:public-prov-comments@w3.org">public-prov-comments@w3.org</a> (<a href="mailto:public-prov-comments-request@w3.org?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>). All comments are welcome. </p><p> Publication as a Working Group Note does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress. </p> <p> This document was produced by a group operating under the <a href="https://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="https://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="https://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="https://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. </p> </section><section id="toc"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><ul class="toc"><li class="tocline"><a href="#prov-namespace" class="tocxref"><span class="secno">1.1 </span>PROV Namespace</a></li><li class="tocline"><a href="#conventions" class="tocxref"><span class="secno">1.2 </span>Conventions</a></li></ul></li><li class="tocline"><a href="#schema-design" class="tocxref"><span class="secno">2. </span>XML Schema Design</a><ul class="toc"><li class="tocline"><a href="#schema-modularization" class="tocxref"><span class="secno">2.1 </span>Schema Modularization</a></li><li class="tocline"><a href="#design-pattern" class="tocxref"><span class="secno">2.2 </span><i>Salami Slice</i> Design Pattern</a></li><li class="tocline"><a href="#elements-vs-attributes" class="tocxref"><span class="secno">2.3 </span>Elements vs. Attributes</a></li><li class="tocline"><a href="#type-conventions" class="tocxref"><span class="secno">2.4 </span>Type Conventions</a><ul class="toc"><li class="tocline"><a href="#type-conventions-attributes" class="tocxref"><span class="secno">2.4.1 </span>PROV Type Attribute</a></li><li class="tocline"><a href="#type-conventions-extension-types" class="tocxref"><span class="secno">2.4.2 </span>Extension Types</a></li><li class="tocline"><a href="#type-conventions-xsi-type" class="tocxref"><span class="secno">2.4.3 </span>XSI Type</a></li></ul></li><li class="tocline"><a href="#identifier-conventions" class="tocxref"><span class="secno">2.5 </span>Identifier Conventions</a></li><li class="tocline"><a href="#naming-conventions" class="tocxref"><span class="secno">2.6 </span>Naming Conventions</a></li></ul></li><li class="tocline"><a href="#schema-components" class="tocxref"><span class="secno">3. </span>PROV XML Schema</a><ul class="toc"><li class="tocline"><a href="#component1" class="tocxref"><span class="secno">3.1 </span>Component 1: Entities and Activities</a><ul class="toc"><li class="tocline"><a href="#term-Entity" class="tocxref"><span class="secno">3.1.1 </span>Entity</a></li><li class="tocline"><a href="#term-Activity" class="tocxref"><span class="secno">3.1.2 </span>Activity</a></li><li class="tocline"><a href="#term-Generation" class="tocxref"><span class="secno">3.1.3 </span>Generation</a></li><li class="tocline"><a href="#term-Usage" class="tocxref"><span class="secno">3.1.4 </span>Usage</a></li><li class="tocline"><a href="#term-Communication" class="tocxref"><span class="secno">3.1.5 </span>Communication</a></li><li class="tocline"><a href="#term-Start" class="tocxref"><span class="secno">3.1.6 </span>Start</a></li><li class="tocline"><a href="#term-End" class="tocxref"><span class="secno">3.1.7 </span>End</a></li><li class="tocline"><a href="#term-Invalidation" class="tocxref"><span class="secno">3.1.8 </span>Invalidation</a></li></ul></li><li class="tocline"><a href="#component2" class="tocxref"><span class="secno">3.2 </span>Component 2: Derivations</a><ul class="toc"><li class="tocline"><a href="#term-Derivation" class="tocxref"><span class="secno">3.2.1 </span>Derivation</a></li><li class="tocline"><a href="#term-Revision" class="tocxref"><span class="secno">3.2.2 </span>Revision</a></li><li class="tocline"><a href="#term-Quotation" class="tocxref"><span class="secno">3.2.3 </span>Quotation</a></li><li class="tocline"><a href="#term-PrimarySource" class="tocxref"><span class="secno">3.2.4 </span>Primary Source</a></li></ul></li><li class="tocline"><a href="#component3" class="tocxref"><span class="secno">3.3 </span>Component 3: Agents, Responsibility, and Influence</a><ul class="toc"><li class="tocline"><a href="#term-Agent" class="tocxref"><span class="secno">3.3.1 </span>Agent</a><ul class="toc"><li class="tocline"><a href="#term-Person" class="tocxref"><span class="secno">3.3.1.1 </span>Person</a></li><li class="tocline"><a href="#term-Organization" class="tocxref"><span class="secno">3.3.1.2 </span>Organization</a></li><li class="tocline"><a href="#term-SoftwareAgent" class="tocxref"><span class="secno">3.3.1.3 </span>Software Agent</a></li></ul></li><li class="tocline"><a href="#term-Attribution" class="tocxref"><span class="secno">3.3.2 </span>Attribution</a></li><li class="tocline"><a href="#term-Association" class="tocxref"><span class="secno">3.3.3 </span>Association</a><ul class="toc"><li class="tocline"><a href="#term-Plan" class="tocxref"><span class="secno">3.3.3.1 </span>Plan</a></li></ul></li><li class="tocline"><a href="#term-Delegation" class="tocxref"><span class="secno">3.3.4 </span>Delegation</a></li><li class="tocline"><a href="#term-Influence" class="tocxref"><span class="secno">3.3.5 </span>Influence</a></li></ul></li><li class="tocline"><a href="#component4" class="tocxref"><span class="secno">3.4 </span>Component 4: Bundles</a><ul class="toc"><li class="tocline"><a href="#term-Bundle" class="tocxref"><span class="secno">3.4.1 </span>Bundle</a></li><li class="tocline"><a href="#term-BundleConstructor" class="tocxref"><span class="secno">3.4.2 </span>Bundle Constructor</a></li></ul></li><li class="tocline"><a href="#component5" class="tocxref"><span class="secno">3.5 </span>Component 5: Alternate Entities</a><ul class="toc"><li class="tocline"><a href="#term-Specialization" class="tocxref"><span class="secno">3.5.1 </span>Specialization</a></li><li class="tocline"><a href="#term-Alternate" class="tocxref"><span class="secno">3.5.2 </span>Alternate</a></li></ul></li><li class="tocline"><a href="#component6" class="tocxref"><span class="secno">3.6 </span>Component 6: Collections</a><ul class="toc"><li class="tocline"><a href="#term-Collection" class="tocxref"><span class="secno">3.6.1 </span>Collection</a><ul class="toc"><li class="tocline"><a href="#term-EmptyCollection" class="tocxref"><span class="secno">3.6.1.1 </span>Empty Collection</a></li></ul></li><li class="tocline"><a href="#term-Membership" class="tocxref"><span class="secno">3.6.2 </span>Membership</a></li></ul></li><li class="tocline"><a href="#further-elements" class="tocxref"><span class="secno">3.7 </span>Further Elements of PROV</a><ul class="toc"><li class="tocline"><a href="#attribute-Identifier" class="tocxref"><span class="secno">3.7.1 </span>Identifier</a></li><li class="tocline"><a href="#attribute-Reference" class="tocxref"><span class="secno">3.7.2 </span>Reference</a></li><li class="tocline"><a href="#attributes" class="tocxref"><span class="secno">3.7.3 </span>Attributes</a><ul class="toc"><li class="tocline"><a href="#element-Label" class="tocxref"><span class="secno">3.7.3.1 </span>Label</a></li><li class="tocline"><a href="#element-Location" class="tocxref"><span class="secno">3.7.3.2 </span>Location</a></li><li class="tocline"><a href="#element-Role" class="tocxref"><span class="secno">3.7.3.3 </span>Role</a></li><li class="tocline"><a href="#element-Type" class="tocxref"><span class="secno">3.7.3.4 </span>Type</a></li><li class="tocline"><a href="#element-Value" class="tocxref"><span class="secno">3.7.3.5 </span>Value</a></li></ul></li><li class="tocline"><a href="#type-value" class="tocxref"><span class="secno">3.7.4 </span>Value</a></li></ul></li><li class="tocline"><a href="#structural-elements" class="tocxref"><span class="secno">3.8 </span>Structural Elements of PROV-XML</a><ul class="toc"><li class="tocline"><a href="#term-Document" class="tocxref"><span class="secno">3.8.1 </span>Document</a></li><li class="tocline"><a href="#term-Other" class="tocxref"><span class="secno">3.8.2 </span>Other</a></li></ul></li></ul></li><li class="tocline"><a href="#media-type" class="tocxref"><span class="secno">4. </span>Media Type</a></li><li class="tocline"><a href="#prov-xml-schema" class="tocxref"><span class="secno">A. </span>XML Schema</a><ul class="toc"><li class="tocline"><a href="#prov-schema" class="tocxref"><span class="secno">A.1 </span>Main Schema</a></li><li class="tocline"><a href="#prov-core-schema" class="tocxref"><span class="secno">A.2 </span>Core Schema</a></li><li class="tocline"><a href="#extension-schemas" class="tocxref"><span class="secno">A.3 </span>Extension Schemas</a></li></ul></li><li class="tocline"><a href="#changelog" class="tocxref"><span class="secno">B. </span>Change Log</a><ul class="toc"><li class="tocline"><a href="#change-log-since-wd-working-draft-12-march-2013" class="tocxref"><span class="secno">B.1 </span>Change Log Since WD Working Draft 12 March 2013</a></li><li class="tocline"><a href="#change-log-since-first-public-working-draft" class="tocxref"><span class="secno">B.2 </span>Change Log Since First Public Working Draft</a></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">C. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">D. </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">D.1 </span>Informative references</a></li></ul></li></ul></section> <!-- end abstract --> <!-- end sotd --> <section id="introduction"> <!--OddPage--><h2><span class="secno">1. </span>Introduction</h2> <p> For the purpose of this specification, <dfn id="dfn-provenance" class="internalDFN">provenance</dfn><sup><a class="internalDFN" href="#dfn-provenance"><span class="diamond"> ◊</span></a></sup> is defined as a record that describes the people, institutions, entities, and activities involved in producing, influencing, or delivering a piece of data or a thing. In particular, the provenance of information is crucial in deciding whether information is to be trusted, how it should be integrated with other diverse information sources, and how to give credit to its originators when reusing it. In an open and inclusive environment such as the Web, where users find information that is often contradictory or questionable, provenance can help those users to make trust judgements. </p> <p> The PROV data model, PROV-DM, presents a generic data model for provenance that allows domain and application specific representations of provenance to be translated into such a data model and <em>interchanged</em> between systems. Thus, heterogeneous systems can export their native provenance into such a core data model, and applications that need to make sense of provenance can then import it, process it, and reason over it.</p> <p> The PROV data model distinguishes <em>core structures</em> from <em>extended structures</em>: core structures form the essence of provenance information, and are commonly found in various domain-specific vocabularies that deal with provenance or similar kinds of information [<cite><a class="bibref" href="#bib-Mappings">Mappings</a></cite>]. Extended structures enhance and refine core structures with more expressive capabilities to cater for more advanced uses of provenance. The PROV data model, comprising both core and extended structures, is a domain-agnostic model, but with clear extensibility points allowing further domain-specific and application-specific extensions to be defined. </p> <p> The PROV data model has a modular design and is structured according to six components covering various facets of provenance:</p> <ul> <li> component 1: entities and activities, and the time at which they were created, used, or ended; </li><li> component 2: derivations of entities from others; </li><li> component 3: agents bearing responsibility for entities that were generated and activities that happened; </li><li> component 4: bundles, a mechanism to support provenance of provenance; </li><li> component 5: properties to link entities that refer to a same thing; </li><li> component 6: collections forming a logical structure for its members. </li></ul> <p> <i>This specification's goal is to provide a succinct definition of the XML form of PROV-DM</i>, thus, we refer the reader to the PROV-DM to provide overall justification and context to the definitions presented here. </p> <section id="prov-namespace"> <h3><span class="secno">1.1 </span>PROV Namespace</h3> <p>The PROV namespace is <span class="name">http://www.w3.org/ns/prov#</span>.</p> <p>All the concepts, reserved names and attributes introduced in this specification belong to the PROV namespace.</p> <p>The prefix <b>prov</b> is used when referring to the PROV namespace.</p> </section> <!-- end prov-namespace --> <section id="conventions"> <h3><span class="secno">1.2 </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" href="#bib-RFC2119">RFC2119</a></cite>].</p> </section> <!-- end conventions --> </section> <!-- end introduction --> <section id="schema-design"> <!--OddPage--><h2><span class="secno">2. </span>XML Schema Design</h2> <p>Several general design principles and patterns were used in the construction of the PROV XML Schema.</p> <section id="schema-modularization"> <h3><span class="secno">2.1 </span>Schema Modularization</h3> <p>The PROV-XML schema have been modularized so that xml-elements denoting terms defined in Working Group Notes are defined in separate extension schemas. All xml-elements denoting terms defined in the PROV-DM are defined in the <b><a href="https://www.w3.org/ns/prov-core.xsd">http://www.w3.org/ns/prov-core.xsd</a></b> schema and xml-elements denoting terms defined in PROV Working Group Notes are defined in extension schemas (e.g. <b><a href="https://www.w3.org/ns/prov-dictionary.xsd">http://www.w3.org/ns/prov-dictionary.xsd</a></b>, <b><a href="https://www.w3.org/ns/prov-links.xsd">http://www.w3.org/ns/prov-links.xsd</a></b>). The default schema, <b><a href="https://www.w3.org/ns/prov.xsd">http://www.w3.org/ns/prov.xsd</a></b>, imports <b><a href="https://www.w3.org/ns/prov-core.xsd">http://www.w3.org/ns/prov-core.xsd</a></b> and all extension schemas. With this modeling all PROV xml-elements, even those denoting terms defined in Notes, are declared from the default schema. If the user wishes to leverage a schema that does not include xml-elements corresponding to terms from the PROV Notes the user can use schemaLocation to directly reference the core schema.</p> <p>The default schema - <b><a href="https://www.w3.org/ns/prov.xsd">http://www.w3.org/ns/prov.xsd</a></b></p> <pre><?xml version="1.0" encoding="utf-8"?> <xs:schema targetNamespace="http://www.w3.org/ns/prov#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="prov-core.xsd"/> <xs:include schemaLocation="prov-dictionary.xsd"/> <xs:include schemaLocation="prov-links.xsd"/> </xs:schema> </pre> <p>Extension schemas import the <b><a href="https://www.w3.org/ns/prov-core.xsd">http://www.w3.org/ns/prov-core.xsd</a></b> schema and make use of a substitution group on the <code>prov:internalElement</code> to add extension-defined xml-elements to the list of valid PROV xml-elements in a bundle or document.</p> <div class="note"><div class="note-title" role="heading" aria-level="4"><span>Note</span></div><div class=""> <p>This schema design leveraging substitutionGroups on an abstract xml-element may result in sub-optimal binding classes being generated by Object-to-XML frameworks such as JAXB, JiBX, etc. See the PROV FAQ entry at <a href="https://www.w3.org/2001/sw/wiki/PROV-FAQ#How_should_I_generate_JAXB_classes_from_the_PROV-XML_schemas.3F">How should I generate JAXB classes from the PROV-XML schemas?</a> for a JAXB-specific discussion on using OXM technologies with the PROV schemas.</p> </div></div> <!-- end note --> <p>The <b><a href="https://www.w3.org/ns/prov-links.xsd">http://www.w3.org/ns/prov-links.xsd</a></b> extension schema.</p> <pre><?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/ns/prov#" xmlns:prov="http://www.w3.org/ns/prov#" elementFormDefault="qualified"> <xs:include schemaLocation="prov-core.xsd" /> <xs:complexType name="Mention"> <xs:sequence> <xs:element name="specificEntity" type="prov:IDRef" /> <xs:element name="generalEntity" type="prov:IDRef" /> <xs:element name="bundle" type="prov:IDRef" /> </xs:sequence> </xs:complexType> <xs:element name="mentionOf" type="prov:Mention" substitutionGroup="prov:internalElement" /> </xs:schema> </pre> <p>All schemas developed by the PROV WG utilize the PROV namespace.</p> </section> <!-- end schema-modularization --> <section id="design-pattern"> <h3><span class="secno">2.2 </span><i>Salami Slice</i> Design Pattern</h3> <p>The general design pattern for the XML schema has been called <i>Salami Slice Design</i>. With this design, the individual components are each defined at the top level as separate xml-elements with distinct xml-types. This allows the xml-types to be easily reusable for domain specific extensions.</p> <p>The <code>prov:document</code> xml-element has been defined to act as a convenient root xml-element for a PROV-XML document, but it's use as the root xml-element is not required. The schema follows the Salami Slice pattern to ensure PROV XML xml-elements can be integrated with mixed-schema XML documents which require a different document root.</p> </section> <!-- end design-pattern --> <section id="elements-vs-attributes"> <h3><span class="secno">2.3 </span>Elements vs. Attributes</h3> <p>The PROV Notation (PROV-N) is a serialization of the PROV Data Model described in [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>]. Examples in the [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] document are encoded using PROV-N. Because of the heavy use of PROV-N syntax in [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>], the PROV-XML editors feel it is important to present a comparison of the PROV-N and PROV-XML syntaxes and justifications behind the select syntax decisions in PROV-XML.</p> <p>The general PROV-N syntax patterns for expressing provenance concepts are: </p> <pre class="codeexample">thing(id, elem1, elem2, ..., [attr1=val1, attr2=val2]) concept(id; elem1, elem2, ... [attr1=val2, attr2=val2]) </pre> <p>In PROV-XML the PROV identifier is treated as an xml-attribute (<code>prov:id</code>), the prov-"elements" are treated as xml-elements, always with the same required order (position) as the PROV-DM/PROV-N description followed by optional prov-"attributes" which are also represented by xml-elements. As in PROV-N, the prov-"attributes" can be specified multiple times, but unlike PROV-N the prov-"attributes" have a fixed (alphabetical) order. The prov-"attribute" xml-elements are always defined at the end of the encompassing sequence after all prov-"element" xml-elements. XML Elements defined in namespaces other than the PROV namespace may be included after the prov-"attribute" xml-elements.</p> <p>Wherever an "id" is referenced from a later concept, the id is referenced as a prov:ref attribute of the element within the concept. </p> <p>This transformation technique yields a general XML pattern: </p> <pre class="codeexample"><prov:thing prov:id="id"> <prov:elem1 /> <prov:elem2 /> ... <ex:attr1>val1</ex:attr1> <ex:attr2>val2</ex:attr2> ... </prov:thing> </pre> <p>Most of the concepts described below follow this general pattern.</p> </section> <!-- end elements-vs-attributes --> <section id="type-conventions"> <h3><span class="secno">2.4 </span>Type Conventions</h3> <section id="type-conventions-attributes"> <h4><span class="secno">2.4.1 </span>PROV Type Attribute</h4> <p>The PROV-DM states type information is described using the prov:type prov-"attribute" and may occur multiple times for a given entity, activity, agent, or relation.</p> <p>PROV-XML uses the xml-element <code>prov:type</code> to represent the prov:type prov-"attribute". This xml-element can be use to represent both PROV and non-PROV type information. The following examples shows type information encoded using the <code>prov:type</code> xml-element.</p> <div class="example"><div class="example-title"><span>Example 1</span>: type information using prov:type PROV attribute</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:tr="http://example.com/ns/tr#"> <prov:entity prov:id="tr:WD-prov-dm-20111215"> <prov:type xsi:type="xsd:QName">prov:Plan</prov:type> <prov:type xsi:type="xsd:QName">ex:Workflow</prov:type> </prov:entity> </prov:document></pre></div> <p>The <code>prov:type</code> xml-element can be used in conjunction with schema-defined PROV types (see examples 2-5).</p> </section> <!-- end type-conventions-attributes --> <section id="type-conventions-extension-types"> <h4><span class="secno">2.4.2 </span>Extension Types</h4> <p>PROV-XML defines complexTypes to match the PROV defined type values (prov-type). These xml-types provide a more native XML representation of prov-"types". The following example is considered equivalent to the previous example because the xml-element <code>prov:plan</code> has <code>xs:type=prov:Plan</code>. All complexTypes representing a prov-"type" which is defined as a subclass of another prov-"type" are defined in PROV-XML as extensions of their parent prov-"type's" complexType. For example, <code>prov:Plan</code> is defined as an extension of the complexType <code>prov:Entity</code> and may be referenced by either <code>prov:plan</code> or <code>prov:entity</code> xml-elements.</p> <div class="example"><div class="example-title"><span>Example 2</span>: type information using schema defined types</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:tr="http://example.com/ns/tr#"> <prov:plan prov:id="tr:WD-prov-dm-20111215"> <prov:type xsi:type="xsd:QName">ex:Workflow</prov:type> </prov:plan> </prov:document></pre></div> <p>When an extension xml-type is used a prov-"type" may be inferred.</p> <p>Explicit type declarations made using the <code>prov:type</code> xml-element may be easier for some encoding transformation tools (such as XSLT) to process, therefore use of the <code>prov:type</code> xml-element is highly encouraged even in cases where prov-"type" information is determinable from schema defined ComplexTypes.</p> <div class="example"><div class="example-title"><span>Example 3</span>: type information using schema defined types - type inferences</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:tr="http://example.com/ns/tr#"> <prov:plan prov:id="tr:WD-prov-dm-20111215"> <prov:type xsi:type="xsd:QName">ex:Workflow</prov:type> <b><prov:type>prov:Plan</prov:type> <!-- inferred --></b> <b><prov:type>prov:Entity</prov:type> <!-- inferred --></b> </prov:plan> </prov:document></pre></div> </section><!-- end-type-conventions-extension-types --> <section id="type-conventions-xsi-type"> <h4><span class="secno">2.4.3 </span>XSI Type</h4> <p>Because the <code>prov:Plan</code> complexType is defined as an extension of the complexType <code>prov:Entity</code>, the following example using <code>xsi:type</code> is valid and considered equivalent to the two previous examples. The xml-attribute <code>xsi:type</code> tells an XML parser the complexType of the xml-element. The value of <code>xsi:type</code> must be a complexType derived from the default xml-element xml-type in a schema with known location (referenced through <code>xsi:schemaLocation</code>).</p> <div class="example"><div class="example-title"><span>Example 4</span>: type information using xsi:type</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:tr="http://example.com/ns/tr#"> <prov:entity prov:id="tr:WD-prov-dm-20111215" xsi:type="prov:Plan"> <prov:type xsi:type="xsd:QName">ex:Workflow</prov:type> </prov:entity> </prov:document></pre></div> <p>A prov-"type" xml-element may be inferred by the use of the <code>xsi:type</code> xml-attribute.</p> <div class="example"><div class="example-title"><span>Example 5</span>: type information using xsi:type - type inferences</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:tr="http://example.com/ns/tr#"> <prov:entity prov:id="tr:WD-prov-dm-20111215" xsi:type="prov:Plan"> <prov:type xsi:type="xsd:QName">ex:Workflow</prov:type> <b><prov:type>prov:Plan</prov:type> <!-- inferred --></b> <b><prov:type>prov:Entity</prov:type> <!-- inferred --></b> </prov:entity> </prov:document></pre></div> </section> <!-- end type-conventions-xsi-type --> </section> <!-- end type-conventions --> <section id="identifier-conventions"> <h3><span class="secno">2.5 </span>Identifier Conventions</h3> <p>[<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] defines a PROV Identifier as a qualified name with the following definition:</p> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">qualified name</span> is a name subject to namespace interpretation. It consists of a namespace, denoted by an optional prefix, and a local name. </span></i></blockquote> <p>[<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] also mandates that all qualified names be mappable to a URI by concatenating the namespace URI with a local name.</p> <p>PROV-XML uses the <code>prov:id</code> xml-attribute to denote a PROV Identifier and the <code>prov:ref</code> xml-attribute to denote a reference-by-id to an instance of a prov-"type" or prov-"relation" which has a matching PROV Identifier. The value of <code>prov:ref</code> must be a valid PROV Identifier, but there is no requirement that for every <code>prov:ref</code> a corresponding <code>prov:id</code> must be known to exist.</p> <p>PROV-XML defines the type of both the <code>prov:id</code> and <code>prov:ref</code> xml-attributes to be <code>xsd:QName</code> as that is the XSD datatype that most closely matches the qualified name definition by [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]. Care should be taken when generating PROV identifier values in PROV-XML such that there is a known mapping to a URI.</p> <div class="note"><div class="note-title" role="heading" aria-level="4"><span>Note</span></div><div class=""> <p>The xsd:QName datatype is more restrictive than the QualifiedName defined in [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] (e.g. PROV-N allows local names to start with numbers), therefore valid identifier values in [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] serializations have to potential to not be valid identifier values in PROV-XML. It is recommended to enhance interoperability that provenance users strive to always use identifier schemes that map to valid xsd:QNames and URIs.</p> </div></div> </section> <section id="naming-conventions"> <h3><span class="secno">2.6 </span>Naming Conventions</h3> <p>XML element names are aligned with [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] record names (e.g. <code>prov:wasGeneratedBy</code>, <code>prov:actedOnBehalfOf</code>) and record parameter roles (e.g. <code>prov:delegate</code>, <code>prov:responsible</code> on a Delegation). XML Elements are named in camelCase which also conforms with [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] naming conventions.</p> <p>ComplexType names are aligned with [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] prov-"type" names (e.g. <code>prov:Generation</code>, <code>prov:Delegation</code>). ComplexTypes are named in PascalCase which conforms to [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] naming conventions and differentiates complexTypes from xml-elements in the schema.</p> </section> <!-- end naming-conventions --> </section> <!-- end schema-design --> <section id="schema-components"> <!--OddPage--><h2><span class="secno">3. </span>PROV XML Schema</h2> <p>Provenance concepts, expressed as prov-"types" and prov-"relations", are organized according to six components that are defined in this section.</p> <div id="prov-dm-components-ul"> <ul> <li><b>Component 1: entities and activities.</b> The first component consists of entities, activities, and concepts linking them, such as generation, usage, start, end. The first component is the only one comprising time-related concepts. </li> <li><b>Component 2: derivations.</b> The second component is formed with derivations and derivation subtypes.</li> <li><b>Component 3: agents, responsibility, and influence.</b> The third component consists of agents and concepts ascribing responsibility to agents.</li> <li><b>Component 4: bundles.</b> The fourth component is concerned with bundles, a mechanism to support provenance of provenance.</li> <li><b>Component 5: alternate.</b> The fifth component consists of relations linking entities referring to the same thing. </li> <li><b>Component 6: collections.</b> The sixth component is about collections. </li> </ul> </div> <div style="text-align: center;"> <span class="figure" id="fig-figure-1-prov-dm-components-informative" style="max-width: 95%; "> <img usemap="#componentMap" src="images/dm/components-dependencies.png" alt="PROV-DM Components" style="max-width: 90%; "> <map id="componentMap" name="componentMap"> <area title="agents/responsibility" href="#component3" coords="0,0,67,268" alt="agents/responsibility" shape="rect"> <area title="agents/responsibility" href="#component3" coords="67,0,134,201" alt="agents/responsibility" shape="rect"> <area title="agents/responsibility" href="#component3" coords="134,0,201,67" alt="agents/responsibility" shape="rect"> <area title="derivations" href="#component2" coords="201,0,268,201" alt="derivations" shape="rect"> <area title="derivations" href="#component2" coords="134,67,201,201" alt="derivations" shape="rect"> <area title="alternate" href="#component5" coords="335,0,402,201" alt="alternate" shape="rect"> <area title="collections" href="#component6" coords="402,0,469,201" alt="collections" shape="rect"> <area title="activities/entities" href="#component1" coords="67,201,469,268" alt="activities/entities" shape="rect"> <area title="bundles" href="#component4" coords="268,0,402,201" alt="bundles" shape="rect"> </map> <br> <span class="figcaption" id="prov-dm-components">Figure 1<sup><a class="internalDFN" href="#prov-dm-components"><span class="diamond"> ◊:</span></a></sup> PROV-DM Components (Informative, from PROV-DM Fig. 4)</span> <span class="figure" id="fig-generatedID"> </span></span></div> <p><a href="#prov-schema-mapping">Table 1</a> is a mapping of PROV-DM prov-"types" and prov-"relations" in PROV-XML schema XML complexTypes and xml-elements.</p> <div id="prov-schema-mapping-div" style="text-align: center;"> <table class="thinborder" style="margin-left: auto; margin-right: auto;"> <caption id="prov-schema-mapping"><span>Table 1<sup><a class="internalDFN" href="#prov-schema-mapping"><span class="diamond"> ◊:</span></a></sup> </span>PROV-DM Types and Relations to XML Schema Mapping</caption> <tbody><tr> <td><a><b>PROV-DM Term / Concept</b></a></td> <td><b>XML Schema ComplexType</b></td> <td><b>XML Schema XML Element</b></td> <td><b>Component</b></td></tr> <tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr> <tr class="component1-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-entity">Entity</a></td> <td><a href="#term-Entity">prov:Entity</a></td> <td>prov:entity</td> <td rowspan="8"><a href="#component1">Component 1: Entities/Activities</a></td> </tr> <tr class="component1-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Activity">Activity</a></td> <td><a href="#term-Activity">prov:Activity</a></td> <td>prov:activity</td> </tr> <tr class="component1-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Generation">Generation</a></td> <td><a href="#term-Generation">prov:Generation</a></td> <td>prov:wasGeneratedBy</td> </tr> <tr class="component1-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Usage">Usage</a></td> <td><a href="#term-Usage">prov:Usage</a></td> <td>prov:used</td> </tr> <tr class="component1-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Communication">Communication</a></td> <td><a href="#term-Communication">prov:Communication</a></td> <td>prov:wasInformedBy</td> </tr> <tr class="component1-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Start">Start</a></td> <td><a href="#term-Start">prov:Start</a></td> <td>prov:wasStartedBy</td> </tr> <tr class="component1-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-End">End</a></td> <td><a href="#term-End">prov:End</a></td> <td>prov:wasEndedBy</td> </tr> <tr class="component1-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Invalidation">Invalidation</a></td> <td><a href="#term-Invalidation">prov:Invalidation</a></td> <td>prov:wasInvalidatedBy</td> </tr> <tr> <td colspan="3" style="border-width: 0px; "></td> </tr> <tr class="component2-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Derivation">Derivation</a></td> <td><a href="#term-Derivation">prov:Derivation</a></td> <td>prov:wasDerivedFrom</td> <td rowspan="4"><a href="#component2">Component 2: Derivations</a></td> </tr> <tr class="component2-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-revision">Revision</a></td> <td><a href="#term-Revision">prov:Revision</a></td> <td>prov:wasRevisionOf</td> </tr> <tr class="component2-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-quotation">Quotation</a></td> <td><a href="#term-Quotation">prov:Quotation</a></td> <td>prov:wasQuotedFrom</td> </tr> <tr class="component2-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-primary-source">Primary Source</a></td> <td><a href="#term-PrimarySource">prov:PrimarySource</a></td> <td>prov:hadPrimarySource</td> </tr> <tr> <td colspan="3" style="border-width: 0px; "></td> </tr> <tr class="component3-color" style="border-collapse: collapse; "> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-agent">Agent</a></td> <td><a href="#term-Agent">prov:Agent</a></td> <td>prov:agent</td> <td rowspan="9"><a href="#component3">Component 3: Agents, Responsibility, Influence</a></td> </tr> <tr class="component3-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-attribution">Attribution</a></td> <td><a href="#term-Attribution">prov:Attribution</a></td> <td>prov:wasAttributedTo</td> </tr> <tr class="component3-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Association">Association</a></td> <td><a href="#term-Association">prov:Association</a></td> <td>prov:wasAssociatedWith</td> </tr> <tr class="component3-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-delegation">Delegation</a></td> <td><a href="#term-Delegation">prov:Delegation</a></td> <td>prov:actedOnBehalfOf</td> </tr> <tr class="component3-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#concept-plan">Plan</a></td> <td><a href="#term-Plan">prov:Plan</a></td> <td>prov:plan</td> </tr> <tr class="component3-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#concept-person">Person</a></td> <td><a href="#term-Person">prov:Person</a></td> <td>prov:person</td> </tr> <tr class="component3-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#concept-organization">Organization</a></td> <td><a href="#term-Organization">prov:Organization</a></td> <td>prov:organization</td> </tr> <tr class="component3-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#concept-software-agent">Software Agent</a></td> <td><a href="#term-SoftwareAgent">prov:SoftwareAgent</a></td> <td>prov:softwareAgent</td> </tr> <tr class="component3-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-influence">Influence</a></td> <td><a href="#term-Influence">prov:Influence</a></td> <td>prov:wasInfluencedBy</td> </tr> <tr> <td colspan="3" style="border-width: 0px; "></td> </tr> <tr class="component4-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-bundle-entity">Bundle</a></td> <td><a href="#term-Bundle">prov:Bundle</a></td> <td>prov:bundle</td> <td rowspan="2"><a href="#component4">Component 4: Bundles</a></td> </tr> <tr class="component4-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-bundle">Bundle Constructor</a></td> <td><a href="#term-BundleConstructor">prov:BundleConstructor</a></td> <td>prov:bundleContent</td> </tr> <tr> <td colspan="3" style="border-width: 0px; "></td> </tr> <tr class="component5-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-alternate">Alternate</a></td> <td><a href="#term-Alternate">prov:Alternate</a></td> <td>prov:alternateOf</td> <td rowspan="3"><a href="#component5">Component 5: Alternate</a></td> </tr> <tr class="component5-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-specialization">Specialization</a></td> <td><a href="#term-Specialization">prov:Specialization</a></td> <td>prov:specializationOf</td> </tr> <tr> <td colspan="3" style="border-width: 0px; "></td> </tr> <tr class="component6-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-collection">Collection</a></td> <td><a href="#term-Collection">prov:Collection</a></td> <td>prov:collection</td> <td rowspan="3"><a href="#component6">Component 6: Collections</a></td> </tr> <tr class="component6-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#concept-empty-collection">Empty Collection</a></td> <td><a href="#term-EmptyCollection">prov:EmptyCollection</a></td> <td>prov:emptyCollection</td> </tr> <tr class="component6-color"> <td><a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-membership">Membership</a></td> <td><a href="#term-Membership">prov:Membership</a></td> <td>prov:hadMember</td> </tr> </tbody></table> </div> <p>In the rest of the section, each type is defined, in English initially, followed by its XML schema definition and some example.</p> <section id="component1"> <h3><span class="secno">3.1 </span>Component 1: Entities and Activities</h3> <p>The first component of PROV-DM is concerned with <a title="entity" href="#term-Entity">entities</a> and <a title="activity" href="#term-Activity">activities</a>, and their inter-relations: <a href="#term-Usage">Usage</a>, <a href="#term-Generation">Generation</a>, <a href="#term-Start">Start</a>, <a href="#term-End">End</a>, and <a href="#term-Communication">Communication</a>. </p> <section id="term-Entity"> <h4><span class="secno">3.1.1 </span>Entity</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> An <span class="dfn">entity</span> is a physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Entity"> <xs:sequence> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:value" minOccurs="0"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:entity</code> is used to denote a prov:Entity prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="entity" type="prov:Entity"/> </pre> <div class="example"><div class="example-title"><span>Example 6</span>: prov:entity</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:tr="http://example.com/ns/tr#"> <b><prov:entity prov:id="tr:WD-prov-dm-20111215"> <prov:type xsi:type="xsd:QName">document</prov:type> <ex:version>2</ex:version> </prov:entity></b> </prov:document></pre></div> </section> <!-- end term-Entity --> <section id="term-Activity"> <h4><span class="secno">3.1.2 </span>Activity</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> An <span class="dfn">activity</span> is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Activity"> <xs:sequence> <xs:element name="startTime" type="xs:dateTime" minOccurs="0"/> <xs:element name="endTime" type="xs:dateTime" minOccurs="0"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:activity</code> is used to denote a prov:Activity prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="activity" type="prov:Activity"/> </pre> <div class="example"><div class="example-title"><span>Example 7</span>: prov:activity</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <b><prov:activity prov:id="ex:a1"> <prov:startTime>2011-11-16T16:05:00</prov:startTime> <prov:endTime>2011-11-16T16:06:00</prov:endTime> <prov:type xsi:type="xsd:QName">ex:edit</prov:type> <ex:host>server.example.org</ex:host> </prov:activity></b> </prov:document></pre></div> </section> <!-- end term-Activity --> <section id="term-Generation"> <h4><span class="secno">3.1.3 </span>Generation</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> <span class="dfn">Generation</span> is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Generation"> <xs:sequence> <xs:element name="entity" type="prov:IDRef"/> <xs:element name="activity" type="prov:IDRef" minOccurs="0"/> <xs:element name="time" type="xs:dateTime" minOccurs="0"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:wasGeneratedBy</code> is used to denote a prov:Generation prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasGeneratedBy" type="prov:Generation"/> </pre> <div class="example"><div class="example-title"><span>Example 8</span>: prov:wasGeneratedBy</div><pre class="example"><prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:entity prov:id="ex:e1"/> <prov:activity prov:id="ex:a1"/> <b><prov:wasGeneratedBy> <prov:entity prov:ref="ex:e1"/> <prov:activity prov:ref="ex:a1"/> <prov:time>2001-10-26T21:32:52</prov:time> <ex:port>p1</ex:port> </prov:wasGeneratedBy></b> <prov:entity prov:id="ex:e2"/> <b><prov:wasGeneratedBy> <prov:entity prov:ref="ex:e2"/> <prov:activity prov:ref="ex:a1"/> <prov:time>2001-10-26T10:00:00</prov:time> <ex:port>p2</ex:port> </prov:wasGeneratedBy></b> </prov:document></pre></div> </section> <!-- end term-Generation --> <section id="term-Usage"> <h4><span class="secno">3.1.4 </span>Usage</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> <span class="dfn">Usage</span> is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Usage"> <xs:sequence> <xs:element name="activity" type="prov:IDRef"/> <xs:element name="entity" type="prov:IDRef" minOccurs="0"/> <xs:element name="time" type="xs:dateTime" minOccurs="0"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:used</code> is used to denote a prov:Usage prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="used" type="prov:Usage"/> </pre> <div class="example"><div class="example-title"><span>Example 9</span>: prov:used</div><pre class="example"><prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:activity prov:id="ex:a1"/> <prov:entity prov:id="ex:e1"/> <prov:entity prov:id="ex:e2"/> <b><prov:used> <prov:activity prov:ref="ex:a1"/> <prov:entity prov:ref="ex:e1"/> <prov:time≶2011-11-16T16:00:00</prov:time> <ex:parameter>p1</ex:parameter> </prov:used></b> <b><prov:used> <prov:activity prov:ref="ex:a1"/> <prov:entity prov:ref="ex:e2"/> <prov:time>2011-11-16T16:00:01</prov:time> <ex:parameter>p2</ex:parameter> </prov:used></b> </prov:document></pre></div> </section> <!-- end term-Usage --> <section id="term-Communication"> <h4><span class="secno">3.1.5 </span>Communication</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> <span class="dfn">Communication</span> is the exchange of some unspecified entity by two activities, one activity using some entity generated by the other. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Communication"> <xs:sequence> <xs:element name="informed" type="prov:IDRef"/> <xs:element name="informant" type="prov:IDRef"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:wasInformedBy</code> is used to denote a prov:Communication prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasInformedBy" type="prov:Communication"/> </pre> <div class="example"><div class="example-title"><span>Example 10</span>: prov:wasInformedBy</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:activity prov:id="ex:a1"> <prov:type xsi:type="xsd:string">traffic regulations enforcing<prov:type> </prov:activity> <prov:activity prov:id="ex:a2"> <prov:type xsi:type="xsd:string">fine paying, check writing, and mailing</prov:type> </prov:activity> <b><prov:wasInformedBy> <prov:informed prov:ref="ex:a2"/> <prov:informant prov:ref="ex:a1"/> </prov:wasInformedBy></b> </prov:document></pre></div> </section> <!-- end term-Communication --> <section id="term-Start"> <h4><span class="secno">3.1.6 </span>Start</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> <span class="dfn">Start</span> is when an activity is deemed to have been started by an entity, known as <span class="dfn">trigger</span>. The activity did not exist before its start. Any usage, generation, or invalidation involving an activity follows the activity's start. A start may refer to a trigger entity that set off the activity, or to an activity, known as <span class="dfn">starter</span>, that generated the trigger. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Start"> <xs:sequence> <xs:element name="activity" type="prov:IDRef"/> <xs:element name="trigger" type="prov:IDRef" minOccurs="0"/> <xs:element name="starter" type="prov:IDRef" minOccurs="0"/> <xs:element name="time" type="xs:dateTime" minOccurs="0"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:wasStartedBy</code> is used to denote a prov:Start prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasStartedBy" type="prov:Start"/> </pre> <div class="example"><div class="example-title"><span>Example 11</span>: prov:wasStartedBy</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:entity prov:id="ex:e1"> <prov:type xsi:type="xsd:string">email message</prov:type> </prov:entity> <prov:activity prov:id="ex:a1"> <prov:type xsi:type="xsd:QName">Discuss</prov:type> </prov:activity> <b><prov:wasStartedBy> <prov:activity prov:ref="ex:a1"/> <prov:trigger prov:ref="ex:e1"/> <prov:time>2011-11-16T16:05:00</prov:time> </prov:wasStartedBy></b> <prov:used> <prov:activity prov:ref="ex:a1"/> <prov:entity prov:ref="ex:e1"/> </prov:used> <prov:activity prov:id="ex:a0"> <prov:type xsi:type="xsd:QName">Write</prov:type> </prov:activity> <prov:wasGeneratedBy> <prov:entity prov:ref="ex:e1"/> <prov:activity prov:ref="ex:a0"/> </prov:wasGeneratedBy> <b><prov:wasStartedBy> <prov:activity prov:ref="ex:a1"/> <prov:trigger prov:ref="ex:e1"/> <prov:starter prov:ref="ex:a0"/> <prov:time>2011-11-16T16:05:00</prov:time> </prov:wasStartedBy></b> <b><prov:wasStartedBy> <prov:activity prov:ref="ex:a1"/> <prov:starter prov:ref="ex:a0"/> <prov:time>2011-11-16T16:05:00</prov:time> </prov:wasStartedBy></b> </prov:document></pre></div> </section> <!-- end term-Start --> <section id="term-End"> <h4><span class="secno">3.1.7 </span>End</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> <span class="dfn">End</span> is when an activity is deemed to have been ended by an entity, known as <span class="dfn">trigger</span>. The activity no longer exists after its end. Any usage, generation, or invalidation involving an activity precedes the activity's end. An end may refer to a trigger entity that terminated the activity, or to an activity, known as <span class="dfn">ender</span> that generated the trigger. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="End"> <xs:sequence> <xs:element name="activity" type="prov:IDRef"/> <xs:element name="trigger" type="prov:IDRef" minOccurs="0"/> <xs:element name="ender" type="prov:IDRef" minOccurs="0"/> <xs:element name="time" type="xs:dateTime" minOccurs="0"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:wasEndedBy</code> is used to denote a prov:End prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasEndedBy" type="prov:End"/> </pre> <div class="example"><div class="example-title"><span>Example 12</span>: prov:wasEndedBy</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:entity prov:id="ex:e1"> <prov:type xsi:type="xsd:string">approval document</prov:type> </prov:entity> <prov:activity prov:id="ex:a1"> <prov:type xsi:type="xsd:QName">Editing</prov:type> </prov:activity> <b><prov:wasEndedBy> <prov:activity prov:ref="ex:a1"/> <prov:trigger prov:ref="ex:e1"/> </prov:wasEndedBy></b> </prov:document></pre></div> </section> <!-- end term-End --> <section id="term-Invalidation"> <h4><span class="secno">3.1.8 </span>Invalidation</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> <span class="dfn">Invalidation</span> is the start of the destruction, cessation, or expiry of an existing entity by an activity. The entity is no longer available for use (or further invalidation) after invalidation. Any generation or usage of an entity precedes its invalidation.</span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Invalidation"> <xs:sequence> <xs:element name="entity" type="prov:IDRef"/> <xs:element name="activity" type="prov:IDRef" minOccurs="0"/> <xs:element name="time" type="xs:dateTime" minOccurs="0"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:wasInvalidatedBy</code> is used to denote a prov:Invalidation prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasInvalidatedBy" type="prov:Invalidation"/> </pre> <div class="example"><div class="example-title"><span>Example 13</span>: prov:wasInvalidatedBy</div><pre class="example"><prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:bbc="http://www.bbc.co.uk/news/"> <prov:entity prov:id="ex:The-Painter"/> <prov:agent prov:id="ex:Picasso"/> <prov:wasAttributedTo> <prov:entity prov:ref="ex:The-Painter" /> <prov:agent prov:ref="ex:Picasso" /> </prov:wasAttributedTo> <prov:activity prov:id="ex:crash"/> <b><prov:wasInvalidatedBy> <prov:entity prov:ref="ex:The-Painter"/> <prov:activity prov:ref="ex:crash"/> <prov:time>1998-09-03T01:31:00</prov:time> <ex:circumstances>plane accident</ex:circumstances> </prov:wasInvalidatedBy></b> </prov:document></pre></div> </section> <!-- end term-Invalidation --> </section> <!-- end component1 --> <section id="component2"> <h3><span class="secno">3.2 </span>Component 2: Derivations</h3> <p>The second component of PROV-DM is concerned with: <a title="derivation" href="#term-Derivation">derivations</a> of <a title="entity">entities</a> from other entities and derivation subtypes<a href="#term-Revision">Revision</a>, <a href="#term-Quotation">Quotation</a>, and <a href="#term-PrimarySource">Primary Source</a>.</p> <section id="term-Derivation"> <h4><span class="secno">3.2.1 </span>Derivation</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">derivation</span> is a transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a pre-existing entity.</span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Derivation"> <xs:sequence> <xs:element name="generatedEntity" type="prov:IDRef"/> <xs:element name="usedEntity" type="prov:IDRef"/> <xs:element name="activity" type="prov:IDRef" minOccurs="0"/> <xs:element name="generation" type="prov:IDRef" minOccurs="0"/> <xs:element name="usage" type="prov:IDRef" minOccurs="0"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:wasDerivedFrom</code> is used to denote a prov:Derivation prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasDerivedFrom" type="prov:Derivation"/> </pre> <div class="example"><div class="example-title"><span>Example 14</span>: prov:wasDerivedFrom</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:entity prov:id="ex:e1"/> <prov:entity prov:id="ex:e2"/> <b><prov:wasDerivedFrom> <prov:generatedEntity prov:ref="ex:e2"/> <prov:usedEntity prov:ref="ex:e1"/> </prov:wasDerivedFrom></b> <b><prov:wasDerivedFrom> <prov:generatedEntity prov:ref="ex:e2"/> <prov:usedEntity prov:ref="ex:e1"/> <prov:type xsi:type="xsd:string">physical transform</prov:type> </prov:wasDerivedFrom></b> </prov:document></pre></div> </section> <!-- end term-Derivation --> <section id="term-Revision"> <h4><span class="secno">3.2.2 </span>Revision</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">revision</span> is a derivation for which the resulting entity is a revised version of some original. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Revision"> <xs:complexContent> <xs:extension base="prov:Derivation"> </xs:extension> </xs:complexContent> </xs:complexType> </pre> <p>The xml-element <code>prov:wasRevisionOf</code> is used to denote a prov:Revision prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasRevisionOf" type="prov:Revision"/> </pre> <div class="example"><div class="example-title"><span>Example 15</span>: prov:wasRevisionOf</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:rec54="http://www.w3.org/2001/02pd/rec54#" xmlns:tr="http://example.com/ns/tr#"> <prov:entity prov:id="tr:WD-prov-dm-20111215"> <prov:type xsi:type="xsd:QName">rec54:WD</prov:type> </prov:entity> <prov:entity prov:id="tr:WD-prov-dm-20111018"> <prov:type xsi:type="xsd:QName">rec54:WD</prov:type> </prov:entity> <b><prov:wasRevisionOf> <prov:generatedEntity prov:ref="tr:WD-prov-dm-20111215"/> <prov:usedEntity prov:ref="tr:WD-prov-dm-20111018"/> </prov:wasRevisionOf></b> </prov:document></pre></div> </section> <!-- end term-Revision --> <section id="term-Quotation"> <h4><span class="secno">3.2.3 </span>Quotation</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">quotation</span> is the repeat of (some or all of) an entity, such as text or image, by someone who may or may not be its original author. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Quotation"> <xs:complexContent> <xs:extension base="prov:Derivation"> </xs:extension> </xs:complexContent> </xs:complexType> </pre> <p>The xml-element <code>prov:wasQuotedFrom</code> is used to denote a prov:Quotation prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasQuotedFrom" type="prov:Quotation"/> </pre> <div class="example"><div class="example-title"><span>Example 16</span>: prov:wasQuotedFrom</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:wp="http://thinklinks.wordpress.com/2012/03/07/" xmlns:ex="http://example.com/ns/ex#" xmlns:dm="http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html#"> <prov:entity prov:id="wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop"/> <prov:entity prov:id="dm:bl-dagstuhl"/> <prov:person prov:id="ex:Luc"/> <prov:person prov:id="ex:Paul"/> <b><prov:wasQuotedFrom> <prov:generatedEntity prov:ref="dm:gl-dagstuhl"/> <prov:usedEntity prov:ref="wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop"/> </prov:wasQuotedFrom></b> <prov:wasAttributedTo> <prov:entity prov:ref="dm:bl-dagstuhl"/> <prov:agent prov:ref="ex:Luc"/> </prov:wasAttributedTo> <prov:wasAttributedTo> <prov:entity prov:ref="wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop"/> <prov:agent prov:ref="ex:Paul"/> </prov:wasAttributedTo> </prov:document></pre></div> </section> <!-- end term-Quotation --> <section id="term-PrimarySource"> <h4><span class="secno">3.2.4 </span>Primary Source</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">primary source</span> for a topic refers to something produced by some agent with direct experience and knowledge about the topic, at the time of the topic's study, without benefit from hindsight. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="PrimarySource"> <xs:complexContent> <xs:extension base="prov:Derivation"> </xs:extension> </xs:complexContent> </xs:complexType> </pre> <p>The xml-element <code>prov:hadPrimarySource</code> is used to denote a prov:PrimarySource prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="hadPrimarySource" type="prov:PrimarySource"/> </pre> <div class="example"><div class="example-title"><span>Example 17</span>: prov:hadPrimarySource</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:entity prov:id="ex:la-campagne-de-Russie-1812-1813"> <prov:type xsi:type="xsd:QName">map</prov:type> </prov:entity> <prov:entity prov:id="ex:revue-d-Histoire-de-la-Pharmacie-t-XVIII"> <prov:type xsi:type="xsd:QName">journal</prov:type> </prov:entity> <b><prov:hadPrimarySource> <prov:generatedEntity prov:ref="ex:la-campagne-de-Russie-1812-1813"/> <prov:usedEntity prov:ref="ex:revue-d-Histoire-de-la-Pharmacie-t-XVIII"/> </prov:hadPrimarySource></b> </prov:document></pre></div> </section> <!-- end term-PrimarySource --> </section> <!-- end component2 --> <section id="component3"> <h3><span class="secno">3.3 </span>Component 3: Agents, Responsibility, and Influence</h3> <p>The third component of PROV-DM is concerned with <a title="agent">agents</a> and the relations <a href="#term-Attribution">Attribution</a>, <a href="#term-Association">Association</a>, and <a href="#term-Delegation">Delegation</a>, relating agents to entities, activities, and agents, respectively.</p> <section id="term-Agent"> <h4><span class="secno">3.3.1 </span>Agent</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> An <span class="dfn">agent</span> is something that bears some form of responsibility for an activity taking place, for the existence of an entity, or for another agent's activity. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Agent"> <xs:sequence> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:agent</code> is used to denote a prov:Agent prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="agent" type="prov:Agent"/> </pre> <div class="example"><div class="example-title"><span>Example 18</span>: prov:agent</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <b><prov:agent prov:id="ex:e1"> <prov:type xsi:type="xsd:QName">prov:Person</prov:type> <ex:name>Alice</ex:name> <ex:employee>1234</ex:employee> </prov:agent></b> </prov:document></pre></div> <section id="term-Person"> <h5><span class="secno">3.3.1.1 </span>Person</h5> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> <span class="dfn">Person</span> agents are people. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Person"> <xs:complexContent> <xs:extension base="prov:Agent"> </xs:extension> </xs:complexContent> </xs:complexType> </pre> <p>The xml-element <code>prov:person</code> is used to denote a prov:Person prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="person" type="prov:Person"/> </pre> <div class="example"><div class="example-title"><span>Example 19</span>: prov:person</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <b><prov:person prov:id="ex:Paolo" /></b> </prov:document></pre></div> </section> <!-- end term-Person --> <section id="term-Organization"> <h5><span class="secno">3.3.1.2 </span>Organization</h5> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> An <span class="dfn">organization</span> is a social or legal institution such as a company, society, etc. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Organization"> <xs:complexContent> <xs:extension base="prov:Agent"> </xs:extension> </xs:complexContent> </xs:complexType> </pre> <p>The xml-element <code>prov:organization</code> is used to denote a prov:Organization prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="organization" type="prov:Organization"/> </pre> <div class="example"><div class="example-title"><span>Example 20</span>: prov:organization</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:w3="http://w3.org/"> <b><prov:organization prov:id="w3:Consortium" /></b> </prov:document></pre></div> </section> <!-- end term-Organization --> <section id="term-SoftwareAgent"> <h5><span class="secno">3.3.1.3 </span>Software Agent</h5> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">software agent</span> is running software. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="SoftwareAgent"> <xs:complexContent> <xs:extension base="prov:Agent"> </xs:extension> </xs:complexContent> </xs:complexType> </pre> <p>The xml-element <code>prov:softwareAgent</code> is used to denote a prov:SoftwareAgent prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="softwareAgent" type="prov:SoftwareAgent"/> </pre> <div class="example"><div class="example-title"><span>Example 21</span>: prov:softwareAgent</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <b><prov:softwareAgent prov:id="ex:ag" /></b> </prov:document></pre></div> </section> <!-- end term-SoftwareAgent --> </section> <!-- end term-Agent --> <section id="term-Attribution"> <h4><span class="secno">3.3.2 </span>Attribution</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> <span class="dfn">Attribution</span> is the ascribing of an entity to an agent. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Attribution"> <xs:sequence> <xs:element name="entity" type="prov:IDRef"/> <xs:element name="agent" type="prov:IDRef"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:wasAttributedTo</code> is used to denote a prov:Attribution prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasAttributedTo" type="prov:Attribution"/> </pre> <div class="example"><div class="example-title"><span>Example 22</span>: prov:wasAttributedTo</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:tr="http://example.com/ns/tr#" xmlns:rec54="http://example.com/ns/rec54#"> <prov:agent prov:id="ex:Paolo"> <prov:typexsi:type="xsd:QName">prov:Person</prov:type> </prov:agent> <prov:agent prov:id="ex:Simon"> <prov:type xsi:type="xsd:QName">prov:Person</prov:type> </prov:agent> <prov:entity prov:id="tr:WD-prov-dm-20111215"> <prov:type xsi:type="xsd:QName">rec54:WD</prov:type> </prov:entity> <b><prov:wasAttributedTo> <prov:entity prov:ref="tr:WD-prov-dm-20111215"/> <prov:agent prov:ref="ex:Paolo"/> <prov:type xsi:type="xsd:QName">editorship</prov:type> </prov:wasAttributedTo></b> <b><prov:wasAttributedTo> <prov:entity prov:ref="tr:WD-prov-dm-20111215"/> <prov:agent prov:ref="ex:Simon"/> <prov:type xsi:type="xsd:QName">authorship</prov:type> </prov:wasAttributedTo></b> </prov:document></pre></div> </section> <!-- end term-Attribution --> <section id="term-Association"> <h4><span class="secno">3.3.3 </span>Association</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> An activity <span class="dfn">association</span> is an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity. It further allows for a plan to be specified, which is the plan intended by the agent to achieve some goals in the context of this activity. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Association"> <xs:sequence> <xs:element name="activity" type="prov:IDRef"/> <xs:element name="agent" type="prov:IDRef" minOccurs="0"/> <xs:element name="plan" type="prov:IDRef" minOccurs="0"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:wasAssociatedWith</code> is used to denote a prov:Association prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasAssociatedWith" type="prov:Association"/> </pre> <div class="example"><div class="example-title"><span>Example 23</span>: prov:wasAssociatedWith</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:activity prov:id="ex:a"> <prov:type xsi:type="xsd:string">workflow execution</prov:type> </prov:activity> <prov:agent prov:id="ex:ag1"> <prov:type xsi:type="xsd:QName">operator</prov:type> </prov:agent> <prov:agent prov:id="ex:ag2"> <prov:type xsi:type="xsd:QName">designator</prov:type> </prov:agent> <b><prov:wasAssociatedWith> <prov:activity prov:ref="ex:a"/> <prov:agent prov:ref="ex:ag1"/> <prov:role xsi:type="xsd:QName">loggedInUser</prov:role> <ex:how>webapp</ex:how> </prov:wasAssociatedWith></b> <b><prov:wasAssociatedWith> <prov:activity prov:ref="ex:a"/> <prov:agent prov:ref="ex:ag2"/> <prov:plan prov:ref="ex:wf"/> <prov:role xsi:type="xsd:QName">designer</prov:role> <ex:content>project1</ex:content> </prov:wasAssociatedWith></b> <prov:plan prov:id="ex:wf"> <ex:label>Workflow 1</ex:label> <prov:location xsi:type="xsd:anyURI">http://example.org/workflow1.bpel</prov:location> </prov:plan> </prov:document></pre></div> <section id="term-Plan"> <h5><span class="secno">3.3.3.1 </span>Plan</h5> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">plan</span> is an entity that represents a set of actions or steps intended by one or more agents to achieve some goals. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Plan"> <xs:complexContent> <xs:extension base="prov:Entity"> </xs:extension> </xs:complexContent> </xs:complexType> </pre> <p>The xml-element <code>prov:plan</code> is used to denote a prov:Plan prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="plan" type="prov:Plan"/> </pre> <div class="example"><div class="example-title"><span>Example 24</span>: prov:plan</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:activity prov:id="ex:a"> <prov:type xsi:type="xsd:string">workflow execution</prov:type> </prov:activity> <prov:agent prov:id="ex:ag1"> <prov:type xsi:type="xsd:QName">operator</prov:type> </prov:agent> <prov:agent prov:id="ex:ag2"> <prov:type xsi:type="xsd:QName">designator</prov:type> </prov:agent> <prov:wasAssociatedWith> <prov:activity prov:ref="ex:a"/> <prov:agent prov:ref="ex:ag1"/> <prov:role xsi:type="xsd:QName">loggedInUser</prov:role> <ex:how>webapp</ex:how> </prov:wasAssociatedWith> <prov:wasAssociatedWith> <prov:activity prov:ref="ex:a"/> <prov:agent prov:ref="ex:ag2"/> <prov:plan prov:ref="ex:wf"/> <prov:role xsi:type="xsd:QName">designer</prov:role> <ex:content>project1</ex:content> </prov:wasAssociatedWith> <b><prov:plan prov:id="ex:wf"> <ex:label>Workflow 1</ex:label> <prov:location xsi:type="xsd:anyURI">http://example.org/workflow1.bpel</prov:location> </prov:plan></b> </prov:document></pre></div> </section> <!-- end term-Plan --> </section> <!-- end term-Association --> <section id="term-Delegation"> <h4><span class="secno">3.3.4 </span>Delegation</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> <span class="dfn">Delegation</span> is the assignment of authority and responsibility to an agent (by itself or by another agent) to carry out a specific activity as a delegate or representative, while the agent it acts on behalf of retains some responsibility for the outcome of the delegated work. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Delegation"> <xs:sequence> <xs:element name="delegate" type="prov:IDRef"/> <xs:element name="responsible" type="prov:IDRef"/> <xs:element name="activity" type="prov:IDRef" minOccurs="0"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:actedOnBehalfOf</code> is used to denote a prov:Delegation prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="actedOnBehalfOf" type="prov:Delegation"/> </pre> <div class="example"><div class="example-title"><span>Example 25</span>: prov:actedOnBehalfOf</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:activity prov:id="ex:a"> <prov:type xsi:type="xsd:QName">workflow</prov:type> </prov:activity> <prov:agent prov:id="ex:ag1"> <prov:type xsi:type="xsd:QName">programmer</prov:type> </prov:agent> <prov:agent prov:id="ex:ag2"> <prov:type xsi:type="xsd:QName">researcher</prov:type> </prov:agent> <prov:agent prov:id="ex:ag3"> <prov:type xsi:type="xsd:QName">funder</prov:type> </prov:agent> <prov:wasAssociatedWith> <prov:activity prov:ref="ex:a"/> <prov:agent prov:ref="ex:ag1"/> <prov:role xsi:type="xsd:QName">loggedInUser</prov:role> </prov:wasAssociatedWith> <prov:wasAssociatedWith> <prov:activity prov:ref="ex:a"/> <prov:agent prov:ref="ex:ag2"/> </prov:wasAssociatedWith> <prov:wasAssociatedWith> <prov:activity prov:ref="ex:a"/> <prov:agent prov:ref="ex:ag3"/> </prov:wasAssociatedWith> <b><prov:actedOnBehalfOf> <prov:delegate prov:ref="ex:ag1"/> <prov:responsible prov:ref="ex:ag2"/> <prov:activity prov:ref="ex:a"/> <prov:type xsi:type="xsd:QName">line-management</prov:type> </prov:actedOnBehalfOf></b> <b><prov:actedOnBehalfOf> <prov:delegate prov:ref="ex:ag2"/> <prov:responsible prov:ref="ex:ag3"/> <prov:activity prov:ref="ex:a"/> <prov:type xsi:type="xsd:QName">contract</prov:type> </prov:actedOnBehalfOf></b> </prov:document></pre></div> </section> <!-- end term-Delegation --> <section id="term-Influence"> <h4><span class="secno">3.3.5 </span>Influence</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> <span class="dfn">Influence</span> is the capacity of an entity, activity, or agent to have an effect on the character, development, or behavior of another by means of usage, start, end, generation, invalidation, communication, derivation, attribution, association, or delegation. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Influence"> <xs:sequence> <xs:element name="influencee" type="prov:IDRef"/> <xs:element name="influencer" type="prov:IDRef"/> <!-- prov attributes --> <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:wasInfluencedBy</code> is used to denote a prov:Influence prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasInfluencedBy" type="prov:Influence"/> </pre> <div class="example"><div class="example-title"><span>Example 26</span>: prov:wasInfluencedBy</div><pre class="example" id="example_38"><prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:tr="http://example.com/ns/tr#" xmlns:w3="http://w3.org/"> <prov:entity prov:id="tr:WD-prov-dm-20111215"/> <prov:agent prov:id="w3:Consortium"/> <b><prov:wasInfluencedBy> <prov:influencee prov:ref="tr:WD-prov-dm-20111215"/> <prov:influencer prov:ref="w3:Consortium"/> </prov:wasInfluencedBy></b> </prov:document></pre></div> </section> <!-- end term-Influence --> </section> <!-- end component3 --> <section id="component4"> <h3><span class="secno">3.4 </span>Component 4: Bundles</h3> <p>The fourth component is concerned with bundles, a mechanism to support provenance of provenance.</p> <section id="term-Bundle"> <h4><span class="secno">3.4.1 </span>Bundle</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">bundle</span> is a named set of provenance descriptions, and is itself an entity, so allowing provenance of provenance to be expressed. </span></i></blockquote> <p>A <code>prov:Bundle</code> identifies a set of provenance descriptions, and is an extension of <code>prov:Entity</code>, so allowing provenance of provenance to be expressed by referencing the associated entity. The content of a bundle, i.e. its provenance records, can be represented by the <code>prov:BundleConstructor</code> ComplexType and is denoted with the <code>prov:bundleContent</code> xml-element, its <code>prov:id</code> corresponds to the bundle entity.</p> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Bundle"> <xs:complexContent> <xs:extension base="prov:Entity"> </xs:extension> </xs:complexContent> </xs:complexType> </pre> <p>The xml-element <code>prov:bundle</code> is used to denote a prov:Bundle prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="bundle" type="prov:Bundle"/> </pre> <div class="example"><div class="example-title"><span>Example 27</span>: prov:bundle</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:bob="http://example.com/ns/bob#" xmlns:alice="http://example.com/ns/alice#" xmlns:agg="http://example.com/ns/agg#"> <b><prov:bundle prov:id="ex:bundle1"> <ex:version>1</ex:version> </prov:bundle></b> <prov:bundleContent prov:id="ex:bundle1"> <prov:entity prov:id="ex:report1"/> <prov:entity prov:id="ex:report2"> <prov:type xsi:type="xsd:QName">report</prov:type> <ex:version>2</ex:version> </prov:entity> <prov:wasGeneratedBy> <prov:entity prov:ref="ex:report2"/> <prov:time>2012-05-25T11:00:01</prov:time> </prov:wasGeneratedBy> <prov:wasDerivedFrom> <prov:generatedEntity prov:ref="ex:report2"/> <prov:usedEntity prov:ref="ex:report1"/> </prov:wasDerivedFrom> </prov:bundleContent> </prov:document></pre></div> </section> <!-- end term-Bundle --> <section id="term-BundleConstructor"> <h4><span class="secno">3.4.2 </span>Bundle Constructor</h4> <p>The <code>prov:BundleConstructor</code> ComplexType is used to define a named set of provenance statements. The Bundle Constructor supports the <code>prov:id</code> xml-attribute.</p> <p>The bundle entity associated with a bundle constructor set must have the same <code>prov:id</code> as the bundle constructor set.</p> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="BundleConstructor"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <-- references to standard non-PROV attribute PROV elements --> </xs:choice> <xs:attribute ref="prov:id"/> </xs:complexType> </pre> <p>The xml-element <code>prov:bundleContent</code> is used to denote a set of nested provenance statements from within a prov:Document.</p> <p>Although <code>prov:bundleContent</code> can only be expressed at the <code>prov:document</code> level, the corresponding bundle entities may be specified from either the <code>prov:document</code> or any <code>prov:bundleContent</code>.</p> <pre><xs:complexType name="Document"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <!-- references to standard non-PROV attribute PROV elements --> <xs:element name="bundleContent" type="prov:BundleConstructor" minOccurs="0"/> </xs:choice> </xs:complexType> </pre> <div class="example"><div class="example-title"><span>Example 28</span>: prov:bundleContent</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:bob="http://example.com/ns/bob#" xmlns:alice="http://example.com/ns/alice#" xmlns:agg="http://example.com/ns/agg#"> <prov:bundle prov:id="ex:bundle1"> <ex:version>1</ex:version> </prov:bundle> <b><prov:bundleContent prov:id="ex:bundle1"> <prov:entity prov:id="ex:report1"/> <prov:entity prov:id="ex:report2"> <prov:type xsi:type="xsd:QName">report</prov:type> <ex:version>2</ex:version> </prov:entity> <prov:wasGeneratedBy> <prov:entity prov:ref="ex:report2"/> <prov:time>2012-05-25T11:00:01</prov:time> </prov:wasGeneratedBy> <prov:wasDerivedFrom> <prov:generatedEntity prov:ref="ex:report2"/> <prov:usedEntity prov:ref="ex:report1"/> </prov:wasDerivedFrom> </prov:bundleContent></b> </prov:document></pre></div> </section> <!-- end term-BundleConstructor --> </section> <!-- end component4 --> <section id="component5"> <h3><span class="secno">3.5 </span>Component 5: Alternate Entities</h3> <p>The fifth component of PROV-DM is concerned with the relations <a href="#term-Specialization">Specialization</a> and <a href="#term-Alternate">Alternate</a>, relating entities to entities.</p> <section id="term-Specialization"> <h4><span class="secno">3.5.1 </span>Specialization</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> An entity that is a <span class="dfn">specialization</span> of another shares all aspects of the latter, and additionally presents more specific aspects of the same thing as the latter. In particular, the lifetime of the entity being specialized contains that of any specialization. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Specialization"> <xs:sequence> <xs:element name="specificEntity" type="prov:IDRef"/> <xs:element name="generalEntity" type="prov:IDRef"/> </xs:sequence> </xs:complexType> </pre> <p>The xml-element <code>prov:specializationOf</code> is used to denote a prov:Specialization prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="specializationOf" type="prov:Specialization"/> </pre> <div class="example"><div class="example-title"><span>Example 29</span>: prov:specializationOf</div><pre class="example"><prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:bbc="http://www.bbc.co.uk/"> <prov:entity prov:id="ex:bbcNews2012-03-23"/> <prov:entity prov:id="bbc:news"/> <b><prov:specializationOf> <prov:specificEntity prov:ref="ex:bbcNews2012-03-23"/> <prov:generalEntity prov:ref="bbc:news"/> </prov:specializationOf></b> </prov:document></pre></div> </section> <!-- end term-Specialization --> <section id="term-Alternate"> <h4><span class="secno">3.5.2 </span>Alternate</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> Two <span class="dfn">alternate</span> entities present aspects of the same thing. These aspects may be the same or different, and the alternate entities may or may not overlap in time. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Alternate"> <xs:sequence> <xs:element name="alternate1" type="prov:IDRef"/> <xs:element name="alternate2" type="prov:IDRef"/> </xs:sequence> </xs:complexType> </pre> <p>The xml-element <code>prov:alternateOf</code> is used to denote a prov:Alternate prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="alternateOf" type="prov:Alternate"/> </pre> <div class="example"><div class="example-title"><span>Example 30</span>: prov:alternateOf</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:bbc="http://www.bbc.co.uk/news" xmlns:bbcmobile="http://www.bbc.co.uk/news/mobile"> <prov:entity prov:id="bbc:science-environment-17526723"> <prov:type xsi:type="xsd:string">a news item for desktop</prov:type> </prov:entity> <prov:entity prov:id="bbcmobile:science-environment-17526723"> <prov:type xsi:type="xsd:string">a news item for mobile devices</prov:type> </prov:entity> <b><prov:alternateOf> <prov:alternate1 prov:ref="bbcmobile:science-environment-17526723"/> <prov:alternate2 prov:ref="bbc:science-environment-17526723"/> </prov:alternateOf></b> </prov:document></pre></div> </section> <!-- end term-Alternate --> </section> <!-- end component5 --> <section id="component6"> <h3><span class="secno">3.6 </span>Component 6: Collections</h3> <p>The sixth component of PROV-DM is concerned with the notion of collections. A collection is an entity that has some members. The members are themselves entities, and therefore their provenance can be expressed. Some applications need to be able to express the provenance of the collection itself: e.g. who maintains the collection (attribution), which members it contains as it evolves, and how it was assembled. The purpose of Component 6 is to define the types and relations that are useful to express the provenance of collections. </p> <section id="term-Collection"> <h4><span class="secno">3.6.1 </span>Collection</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">collection</span> is an entity that provides a structure to some constituents that must themselves be entities. These constituents are said to be <span class="dfn">member</span> of the collections. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Collection"> <xs:complexContent> <xs:extension base="prov:Entity"> </xs:extension> </xs:complexContent> </xs:complexType> </pre> <p>The xml-element <code>prov:collection</code> is used to denote a prov:Collection prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="collection" type="prov:Collection"/> </pre> <div class="example"><div class="example-title"><span>Example 31</span>: prov:collection</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <b><prov:collection prov:id="ex:c1" /></b> </prov:document></pre></div> <section id="term-EmptyCollection"> <h5><span class="secno">3.6.1.1 </span>Empty Collection</h5> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> An <span class="dfn">empty collection</span> is a collection without members. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="EmptyCollection"> <xs:complexContent> <xs:extension base="prov:Collection"> </xs:extension> </xs:complexContent> </xs:complexType> </pre> <p>The xml-element <code>prov:emptyCollection</code> is used to denote a prov:EmptyCollection prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="emptyCollection" type="prov:EmptyCollection"/> </pre> <div class="example"><div class="example-title"><span>Example 32</span>: prov:emptyCollection</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:bbc="http://www.bbc.co.uk/news" xmlns:bbcmobile="http://www.bbc.co.uk/news/mobile"> <b><prov:emptyCollection prov:id="ex:c0"/></b> </prov:document></pre></div> </section> <!-- end term-EmptyCollection --> </section> <!-- end term-Collection --> <section id="term-Membership"> <h4><span class="secno">3.6.2 </span>Membership</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> <span class="dfn">Membership</span> is the belonging of an entity to a collection. </span></i></blockquote> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Membership"> <xs:sequence> <xs:element name="collection" type="prov:IDRef"/> <xs:element name="entity" type="prov:IDRef" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </pre> <p>The xml-element <code>prov:hadMember</code> is used to denote a prov:Membership prov-"type" from within a prov:Document or prov:BundleConstructor.</p><p>XML Element definition in XML Schema:</p><pre class="schema-element"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="hadMember" type="prov:Membership"/> </pre> <div class="example"><div class="example-title"><span>Example 33</span>: prov:hadMember</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:entity prov:id="ex:e0"/> <prov:entity prov:id="ex:e1"/> <prov:entity prov:id="ex:e2"/> <prov:collection prov:id="ex:c"/> <b><prov:hadMember> <prov:collection prov:ref="ex:c"/> <prov:entity prov:ref="ex:e0"/> <prov:entity prov:ref="ex:e1"/> <prov:entity prov:ref="ex:e2"/> </prov:hadMember></b> </prov:document></pre></div> </section> <!-- end term-Membership --> </section> <!-- end component6 --> <section id="further-elements"> <h3><span class="secno">3.7 </span>Further Elements of PROV</h3> <p>This section introduces further elements of PROV.</p> <section id="attribute-Identifier"> <h4><span class="secno">3.7.1 </span>Identifier</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"></span></i></blockquote> <p>The xml-attribute used to identify an instances of a prov-"type" or prov-"relation".</p> <pre class="schema-attribute"><xs:attribute xmlns:xs="http://www.w3.org/2001/XMLSchema" name="id" type="xs:QName"/> </pre> <div class="example"><div class="example-title"><span>Example 34</span>: prov:id</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:tr="http://example.com/ns/tr#"> <prov:entity <b>prov:id="tr:WD-prov-dm-20111215"</b>> <prov:type xsi:type="xsd:Qname">document</prov:type> <ex:version>2</ex:version> </prov:entity> </prov:document></pre></div> </section> <!-- end attribute-Identifier --> <section id="attribute-Reference"> <h4><span class="secno">3.7.2 </span>Reference</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"></span></i></blockquote> <p>A xml-attribute that denotes a reference-by-id to an instance of a prov-"type" or prov-"relation".</p> <pre class="schema-attribute"><xs:attribute ref="prov:ref" use="required" /> </pre> <div class="example"><div class="example-title"><span>Example 35</span>: prov:ref</div><pre class="example"><prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:entity prov:id="ex:e1"/> <prov:activity prov:id="ex:a1"/> <prov:wasGeneratedBy> <prov:entity <b>prov:ref="ex:e1"</b>/> <prov:activity <b>prov:ref="ex:a1"</b>/> <prov:time>2001-10-26T21:32:52</prov:time> <ex:port>p1</ex:port> </prov:wasGeneratedBy> </prov:document></pre></div> </section> <!-- end attribute-Reference --> <section id="attributes"> <h4><span class="secno">3.7.3 </span>Attributes</h4> <p>The PROV-DM defined prov-"attributes" are represented in XML as xml-elements.</p> <section id="element-Label"> <h5><span class="secno">3.7.3.1 </span>Label</h5> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> The attribute <span class="dfn"><span class="name">prov:label</span></span> provides a human-readable representation of an instance of a PROV-DM type or relation. </span></i></blockquote> <p>The xml-element <code>prov:label</code> is used to denote a label prov-"attribute" and has prov-"type" prov:InternationalizedString.</p><p>XML Element definition in XML Schema:</p><pre class="prov-attribute"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="label" type="prov:InternationalizedString"/> </pre> <div class="example"><div class="example-title"><span>Example 36</span>: prov:label</div><pre class="example"><prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:entity prov:id="ex:e1"> <b><prov:label>This is a human-readable label</prov:label></b> </prov:entity> <prov:entity prov:id="ex:car01"> <b><prov:label xml:lang="fr">Voiture 01</prov:label> <prov:label xml:lang="en">Car 01</prov:label></b> </prov:entity> </prov:document></pre></div> </section> <!-- end element-Label --> <section id="element-Location"> <h5><span class="secno">3.7.3.2 </span>Location</h5> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">location</span> can be an identifiable geographic place (ISO 19112), but it can also be a non-geographic place such as a directory, row, or column. </span></i></blockquote> <p>The xml-element <code>prov:location</code> is used to denote a location prov-"attribute" and has prov-"type" xs:anySimpleType.</p><p>XML Element definition in XML Schema:</p><pre class="prov-attribute"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="location" type="xs:anySimpleType"/> </pre> <div class="example"><div class="example-title"><span>Example 37</span>: prov:location</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:entity prov:id="ex:MonaLisa"> <prov:type xsi:type="xsd:QName">StillImage</prov:type> <b><prov:location xsi:type="xsd:string">Le Louvre, Paris</prov:location></b> </prov:entity> <prov:entity prov:id="ex:cell"> <b><prov:location xsi:type="xsd:string">(5,5)</prov:location></b> <prov:value xsi:type="xsd:integer">10</prov:value> </prov:entity> </prov:document></pre></div> </section> <!-- end element-Location --> <section id="element-Role"> <h5><span class="secno">3.7.3.3 </span>Role</h5> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">role</span> is the function of an entity or agent with respect to an activity, in the context of a <a title="Usage">usage</a>, <a title="Generation">generation</a>, <a title="Invalidation">invalidation</a>, <a title="Association">association</a>, <a title="Start">start</a>, and <a title="End">end</a>. </span></i></blockquote> <p>The xml-element <code>prov:role</code> is used to denote a Role prov-"attribute" and has prov-"type" xs:anySimpleType.</p><p>XML Element definition in XML Schema:</p><pre class="prov-attribute"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="role" type="xs:anySimpleType"/> </pre> <div class="example"><div class="example-title"><span>Example 38</span>: prov:role</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:wasAssociatedWith> <prov:activity prov:ref="ex:a"/> <prov:agent prov:ref="ex:ag1"/> <b><prov:role xsi:type="xsd:QName">loggedInUser</prov:role></b> <ex:how>webapp</ex:how> </prov:wasAssociatedWith> <prov:wasAssociatedWith> <prov:activity prov:ref="ex:a"/> <prov:agent prov:ref="ex:ag2"/> <prov:plan prov:ref="ex:wf"/> <b><prov:role xsi:type="xsd:QName">designer</prov:role></b> <ex:content>project1</ex:content> </prov:wasAssociatedWith> </prov:document></pre></div> </section> <!-- end element-Role --> <section id="element-Type"> <h5><span class="secno">3.7.3.4 </span>Type</h5> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> The attribute <span class="dfn"><span class="name">prov:type</span></span> provides further typing information for any construct with an optional set of attribute-value pairs. </span></i></blockquote> <p>The xml-element <code>prov:type</code> is used to denote a Type prov-"attribute" and has prov-"type" xs:anySimpleType.</p><p>XML Element definition in XML Schema:</p><pre class="prov-attribute"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="type" type="xs:anySimpleType"/> </pre> <div class="example"><div class="example-title"><span>Example 39</span>: prov:type</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#" xmlns:tr="http://example.com/ns/tr#"> <prov:entity prov:id="tr:WD-prov-dm-20111215"> <b><prov:type xsi:type="xsd:QName">document</prov:type></b> <ex:version>2</ex:version> </prov:entity> <prov:agent prov:id="ex:e1"> <b><prov:type xsi:type="xsd:QName">prov:Person</prov:type></b> <ex:name>Alice</ex:name> <ex:employee>1234</ex:employee> </prov:agent> <prov:activity prov:id="ex:a1"> <prov:startTime>2011-11-16T16:05:00</prov:startTime> <prov:endTime>2011-11-16T16:06:00</prov:endTime> <b><prov:type xsi:type="xsd:QName">ex:edit</prov:type></b> <ex:host>server.example.org</ex:host> </prov:activity> </prov:document></pre></div> </section> <!-- end element-Type --> <section id="element-Value"> <h5><span class="secno">3.7.3.5 </span>Value</h5> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> The attribute <span class="dfn"><span class="name">prov:value</span></span> provides a value that is a direct representation of an entity as a PROV-DM <a title="value">Value</a>. </span></i></blockquote> <p>The xml-element <code>prov:value</code> is used to denote a Value prov-"attribute" and has prov-"type" xs:anySimpleType.</p><p>XML Element definition in XML Schema:</p><pre class="prov-attribute"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="value" type="xs:anySimpleType"/> </pre> <div class="example"><div class="example-title"><span>Example 40</span>: prov:value</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <prov:entity prov:id="ex:in"> <b><prov:value xsi:type="xsd:string">abcd</prov:value></b> </prov:entity> <prov:entity prov:id="ex:out"> <b><prov:value xsi:type="xsd:integer">4</prov:value></b> </prov:entity> </prov:document></pre></div> </section> <!-- end element-Value --> </section> <!-- end attributes --> <section id="type-value"> <h4><span class="secno">3.7.4 </span>Value</h4> <p>From [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]:</p><blockquote><i><span class="glossary-ref"> A <span class="dfn">value</span> is a constant such as a string, number, time, qualified name, IRI, and encoded binary data, whose interpretation is outside the scope of PROV. </span></i></blockquote> <p>Relations defined by the PROV-DM to have prov-"type" Value have type <code>xs:anySimpleType</code> in PROV-XML unless otherwise specified.</p> </section> <!-- end type-Value --> </section> <!-- end further-elements --> <section id="structural-elements"> <h3><span class="secno">3.8 </span>Structural Elements of PROV-XML</h3> <section id="term-Document"> <h4><span class="secno">3.8.1 </span>Document</h4> <p>The root xml-element of all PROV-XML documents is <code>prov:document</code> which has xml-type <code>prov:Document</code>.</p> <p>Similar to a <code>prov:BundleConstructor</code>, the <code>prov:Document</code> complexType is used to define a set of provenance statements.</p> <p>Unlike the <code>prov:BundleConstructor</code>, a <code>prov:Document</code> </p><ul> <li>may contain <code>prov:bundle</code> xml-elements (but not other <code>prov:document</code> xml-elements)</li> <li>does not support the prov:id xml-attribute.</li> </ul> <p></p> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Document"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <!-- references to standard non-PROV attribute PROV elements --> <xs:element name="bundleContent" type="prov:BundleConstructor" minOccurs="0"/> </xs:choice> </xs:complexType> </pre> <p>The xml-element <code>prov:document</code> may only be used as the root xml-element of a a PROV-XML document.</p> <pre><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="document" type="prov:Document"/> </pre> <div class="example"><div class="example-title"><span>Example 41</span>: prov:document</div><pre class="example"><b><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"></b> <!-- prov statements go here --> <b></prov:document></b></pre></div> </section> <!-- end term-Document--> <section id="term-Other"> <h4><span class="secno">3.8.2 </span>Other</h4> <p>The <code>prov:other</code> xml-element provides a place to include non-PROV xml-elements inside a <code>prov:document</code> or <code>prov:bundleContent</code>.</p> <p>ComplexType definition (denoting a similarly named prov-"type") in XML Schema:</p><pre class="schema-type"><xs:complexType name="Other"> <xs:sequence> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </pre> <p>The xml-element <code>prov:other</code> may be used in a <code>prov:document</code> or a <code>prov:bundleContent</code> but may not be used inside a prov-"relation", entity, or activity xml-element.</p> <pre><xs:element name="other" type="prov:Other"/> </pre> <div class="example"><div class="example-title"><span>Example 42</span>: prov:other</div><pre class="example"><prov:document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:ex="http://example.com/ns/ex#"> <!-- prov statements go here --> <b><prov:other> <ex:foo> <ex:content>bar</ex:content> </ex:foo> </prov:other></b> <!-- more prov statements can go here --> </prov:document></pre></div> </section> <!-- end term-Other --> </section> <!-- end structural-elements --> </section> <!-- end schema-components --> <!-- end sec. 5 --> <section id="media-type"> <!--OddPage--><h2><span class="secno">4. </span>Media Type</h2> <dl> <dt>Contact:</dt> <dd>Ivan Herman</dd> <dt>See also:</dt> <dd><a href="https://www.w3.org/2002/06/registering-mediatype">How to Register a Media Type for a <abbr title="World Wide Web Consortium">W3C</abbr> Specification</a></dd> <dd><a href="https://www.w3.org/2001/tag/2002/0129-mime">Internet Media Type registration, consistency of use</a><br>TAG Finding 3 June 2002 (Revised 4 September 2002)</dd> </dl> <p>The Internet Media Type / MIME type for PROV-XML is "<code style="color: black">application/provenance+xml</code>".</p> <p>It is recommended that PROV-XML files have the extension "<code style="color: black">.provx</code>" (all lowercase) on all platforms.</p> <p>It is recommended that PROV-XML files stored on Macintosh HFS file systems be given a file type of <code style="color: black">TEXT</code>.</p> <p>The information that follows has been <a href="http://www.iana.org/assignments/media-types/application/provenance+xml">registered with the IANA</a>.</p> <dl> <dt>Type name:</dt> <dd>application</dd> <dt>Subtype name:</dt> <dd>provenance+xml</dd> <dt>Required parameters:</dt> <dd>none</dd> <dt>Optional parameters:</dt> <dd>Same as charset parameter of application/xml as specified in RFC3023 (Section 3.2).</dd> <dt>Encoding considerations:</dt> <dd>Same as encoding considerations of application/xml as specified in RFC 3023 (Section 3.2).</dd> <dt>Security considerations:</dt> <dd>PROV-XML is an XML language for describing the provenance of things; applications may evaluate given data to dereference URIs, invoking the security considerations of the scheme for that URI. Note in particular, the privacy issues in [<cite><a class="bibref" href="#bib-RFC3023">RFC3023</a></cite>] section 10 for HTTP URIs. Data obtained from an inaccurate or malicious data source may lead to inaccurate or misleading conclusions, as well as the dereferencing of unintended URIs. Care must be taken to align the trust in consulted resources with the sensitivity of the intended use of the data.</dd> <dd>PROV-XML can express data which is presented to the user, for example, by means of label attributes. Application rendering strings retrieved from untrusted PROV-N documents must ensure that malignant strings may not be used to mislead the reader. The security considerations in the media type registration for XML ([<cite><a class="bibref" href="#bib-RFC3023">RFC3023</a></cite>] section 10) provide additional guidance around the expression of arbitrary data and markup.</dd> <dd>PROV-XML is a language for describing the provenance of things, and therefore a PROV-XML document is metadata for other resources. Untrusted PROV-XML documents may mislead its consumers by indicating that a third-party resource has a reputable lineage, when it has not. Provenance of PROV-XML document should be sought. </dd> <dd>PROV-XML uses QNames mappable to IRIs as term identifiers. Applications interpreting data expressed in PROV-XML should address the security issues of <a class="norm" href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource Identifiers (IRIs)</a> [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>] Section 8, as well as <a class="norm" href="http://www.ietf.org/rfc/rfc3986.txt">Uniform Resource Identifier (URI): Generic Syntax</a> [<cite><a class="bibref" href="#bib-RFC3986">RFC3986</a></cite>] Section 7.</dd> <dd>Multiple IRIs may have the same appearance. Characters in different scripts may look similar (a Cyrillic "о" may appear similar to a Latin "o"). A character followed by combining characters may have the same visual representation as another character (LATIN SMALL LETTER E followed by COMBINING ACUTE ACCENT has the same visual representation as LATIN SMALL LETTER E WITH ACUTE). Any person or application that is writing or interpreting data in PROV-N must take care to use the IRI that matches the intended semantics, and avoid IRIs that make look similar. Further information about matching of similar characters can be found in <a class="inform" href="http://www.unicode.org/reports/tr36/">Unicode Security Considerations</a> [<cite><a class="bibref" href="#bib-UNISEC">UNISEC</a></cite>] and <a class="norm" href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource Identifiers (IRIs)</a> [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>] Section 8.</dd> <dt>Interoperability considerations:</dt> <dd>There are no known interoperability issues.</dd> <dt>Published specification:</dt> <dd>PROV-XML: The PROV XML Schema, Hua, Tilmes, Zednik (eds), Moreau <a href="https://www.w3.org/TR/prov-xml/">http://www.w3.org/TR/prov-xml/</a>, 2013.</dd> <dt>Applications which use this media type:</dt> <dd>It may be used by any application for publishing provenance information. This format is designed to be an XML form of provenance.</dd> <dt>Fragment identifier considerations:</dt> <dd>N/A</dd> <dt>Additional Information:</dt> <dt>Magic number(s):</dt> <dd>PROV-XML documents are XML documents and thus may have initial strings similar to any XML document.</dd> <dt>File extension(s):</dt> <dd>.provx</dd> <dt>Macintosh file type code(s):</dt> <dd>"TEXT"</dd> <dt>Person & email address to contact for further information:</dt> <dd>Ivan Herman, ivan@w3.org</dd> <dt>Intended usage:</dt> <dd>COMMON</dd> <dt>Restrictions on usage:</dt> <dd>none</dd> <dt>Author:</dt> <dd>The PROV-XML specification is the product of the World Wide Web Consortium's Provenance Working Group.</dd> <dt>Change controller:</dt> <dd>The <abbr title="World Wide Web Consortium">W3C</abbr>, and the <abbr title="World Wide Web Consortium">W3C</abbr> Provenance Working Group, have change control over this specification.</dd> </dl> </section> <!-- end media-type --> <section class="appendix" id="prov-xml-schema"> <!--OddPage--><h2><span class="secno">A. </span>XML Schema</h2> <section id="prov-schema"> <h3><span class="secno">A.1 </span>Main Schema</h3> <p>The main PROV schema is an aggregation of the PROV core schema and all PROV-defined extension schemas.</p> <p>The main PROV schema is available at <a href="https://www.w3.org/ns/prov.xsd">http://www.w3.org/ns/prov.xsd</a></p> </section> <!-- end prov-schema --> <section id="prov-core-schema"> <h3><span class="secno">A.2 </span>Core Schema</h3> <p>The PROV core schema defines an XML representation of the PROV data model defined by the PROV-DM. Extensions to PROV, defined in WG Notes, are defined in separate extension schemas.</p> <p>The PROV core schema is available at <a href="https://www.w3.org/ns/prov-core.xsd">http://www.w3.org/ns/prov-core.xsd</a></p> </section> <!-- end prov-core-schema --> <section id="extension-schemas"> <h3><span class="secno">A.3 </span>Extension Schemas</h3> <p>Extension schemas are schemas in the PROV Namespace that define additional PROV elements not from the PROV-DM. Workgroup Notes provide extension schemas to define their Note-introduced PROV elements. Extension schemas must import (using <code>xs:include</code>) the <b>prov-core.xsd</b> schema and make use of a substitution group on the <code>prov:internalElement</code> to add extension defined elements to the list of valid PROV elements in a bundle or document.</p> <!-- TODO link to http://www.w3.org/ns/prov-dictionary.xsd, http://www.w3.org/ns/prov.xsd-links--> <p>The PROV-defined extension schemas are available at</p> <ul> <li>PROV-Dictionary: <a href="https://www.w3.org/ns/prov-dictionary.xsd">http://www.w3.org/ns/prov-dictionary.xsd</a></li> <li>PROV-Links: <a href="https://www.w3.org/ns/prov-links.xsd">http://www.w3.org/ns/prov-links.xsd</a></li> </ul> </section> <!-- end extension-schemas --> </section> <!-- end prov-xml-schema --> <section class="appendix" id="changelog"> <!--OddPage--><h2><span class="secno">B. </span>Change Log</h2> <section id="change-log-since-wd-working-draft-12-march-2013"> <h3><span class="secno">B.1 </span>Change Log Since WD Working Draft 12 March 2013</h3> <ul> <li>Updated Component section descriptive text</li> <li>Added links to schemas in Schema Modularization section</li> <li>Fixed typo in Status of this Document section</li> <li>Added Identifier Conventions section</li> <li>Updated naming conventions to clarify distinction between PROV elements, attributes, and types and XML elements, attributes, and types.</li> <li>Added links to PROV-DM term/concepts in Table 1.</li> <li>Removed inline schema, added links to published schemas.</li> <li>Updated BundleConstructor and Document sections to reflect changes to schema.</li> <li>Added Other section for prov:other element and type.</li> <li>Updated the Status of this Document section.</li> <li>Added a note about potential OXM issues to Schema Modularization section, referenced FAQ entry on subject.</li> </ul> </section> <section id="change-log-since-first-public-working-draft"> <h3><span class="secno">B.2 </span>Change Log Since First Public Working Draft</h3> <ul> <li>Added Change Log section</li> <li>Changed the status of this document section: added new documents to the PROV Family of Document, and removed the how to read section, referring instead to PROV-OVERVIEW.</li> <li>Changed all URLs to PROV documents.</li> <li>Removed Review notes.</li> <li>Updated table 1 with XML Schema Referencing Element column.</li> <li>Added Type Conventions and Schema Modularization sections to XML Schema Design section.</li> <li>Updated Bundle section to reflect changes in schema design.</li> <li>Updated inline schema and schema examples to reflect updates to schema design.</li> <li>Updated text that appears before schema snippets and examples in PROV XML Schema subsections.</li> <li>Added extension schema example to appendix.</li> <li>Removed Macintosh HFS file type paragraph from Media Type section.</li> <li>Made all references informative instead of normative since PROV-XML is a note.</li> </ul> </section> </section> <!-- end changelog --> <section class="appendix" id="acknowledgements"> <!--OddPage--><h2><span class="secno">C. </span>Acknowledgements</h2> This document has been produced by the PROV Working Group, and its contents reflect extensive discussion within the Working Group as a whole. The editors extend special thanks to Luc Moreau (University of Southampton), Paul Groth (Vrije Universiteit) and James Cheney (University of Edinburgh) for their thorough reviews. <p> Members of the PROV Working Group at the time of publication of this document were: Ilkay Altintas (Invited expert), Reza B'Far (Oracle Corporation), Khalid Belhajjame (University of Manchester), James Cheney (University of Edinburgh, School of Informatics), Sam Coppens (iMinds - Ghent University), David Corsar (University of Aberdeen, Computing Science), Stephen Cresswell (The National Archives), Tom De Nies (iMinds - Ghent University), Helena Deus (DERI Galway at the National University of Ireland, Galway, Ireland), Simon Dobson (Invited expert), Martin Doerr (Foundation for Research and Technology - Hellas(FORTH)), Kai Eckert (Invited expert), Jean-Pierre EVAIN (European Broadcasting Union, EBU-UER), James Frew (Invited expert), Irini Fundulaki (Foundation for Research and Technology - Hellas(FORTH)), Daniel Garijo (Universidad Politécnica de Madrid), Yolanda Gil (Invited expert), Ryan Golden (Oracle Corporation), Paul Groth (Vrije Universiteit), Olaf Hartig (Invited expert), David Hau (National Cancer Institute, NCI), Sandro Hawke (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="Massachusetts Institute of Technology">MIT</abbr>), Jörn Hees (German Research Center for Artificial Intelligence (DFKI) Gmbh), Ivan Herman, (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>), Ralph Hodgson (TopQuadrant), Hook Hua (Invited expert), Trung Dong Huynh (University of Southampton), Graham Klyne (University of Oxford), Michael Lang (Revelytix, Inc.), Timothy Lebo (Rensselaer Polytechnic Institute), James McCusker (Rensselaer Polytechnic Institute), Deborah McGuinness (Rensselaer Polytechnic Institute), Simon Miles (Invited expert), Paolo Missier (School of Computing Science, Newcastle university), Luc Moreau (University of Southampton), James Myers (Rensselaer Polytechnic Institute), Vinh Nguyen (Wright State University), Edoardo Pignotti (University of Aberdeen, Computing Science), Paulo da Silva Pinheiro (Rensselaer Polytechnic Institute), Carl Reed (Open Geospatial Consortium), Adam Retter (Invited Expert), Christine Runnegar (Invited expert), Satya Sahoo (Invited expert), David Schaengold (Revelytix, Inc.), Daniel Schutzer (FSTC, Financial Services Technology Consortium), Yogesh Simmhan (Invited expert), Stian Soiland-Reyes (University of Manchester), Eric Stephan (Pacific Northwest National Laboratory), Linda Stewart (The National Archives), Ed Summers (Library of Congress), Maria Theodoridou (Foundation for Research and Technology - Hellas(FORTH)), Ted Thibodeau (OpenLink Software Inc.), Curt Tilmes (National Aeronautics and Space Administration), Craig Trim (IBM Corporation), Stephan Zednik (Rensselaer Polytechnic Institute), Jun Zhao (University of Oxford), Yuting Zhao (University of Aberdeen, Computing Science). </p> </section> <!-- end acknowledgements --> <section id="references" class="appendix"><!--OddPage--><h2><span class="secno">D. </span>References</h2><section id="informative-references"><h3><span class="secno">D.1 </span>Informative references</h3><dl class="bibliography"><dt id="bib-Mappings">[Mappings]</dt><dd>Satya Sahoo and Paul Groth and Olaf Hartig and Simon Miles and Sam Coppens and James Myers and Yolanda Gil and Luc Moreau and Jun Zhao and Michael Panzer and Daniel Garijo <a href="https://www.w3.org/2005/Incubator/prov/wiki/Provenance_Vocabulary_Mappings"><cite>Provenance Vocabulary Mappings</cite></a>. August 2010 URL: <a href="https://www.w3.org/2005/Incubator/prov/wiki/Provenance_Vocabulary_Mappings">http://www.w3.org/2005/Incubator/prov/wiki/Provenance_Vocabulary_Mappings</a> </dd><dt id="bib-PROV-AQ">[PROV-AQ]</dt><dd>Graham Klyne; Paul Groth; eds. <a href="https://www.w3.org/TR/2013/NOTE-prov-aq-20130430/"><cite>Provenance Access and Query</cite></a>. 30 April 2013, W3C Note. URL: <a href="https://www.w3.org/TR/2013/NOTE-prov-aq-20130430/">http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/</a> </dd><dt id="bib-PROV-CONSTRAINTS">[PROV-CONSTRAINTS]</dt><dd>James Cheney; Paolo Missier; Luc Moreau; eds. <a href="https://www.w3.org/TR/2013/REC-prov-constraints-20130430/"><cite>Constraints of the PROV Data Model</cite></a>. 30 April 2013, W3C Recommendation. URL: <a href="https://www.w3.org/TR/2013/REC-prov-constraints-20130430/">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/</a> </dd><dt id="bib-PROV-DC">[PROV-DC]</dt><dd>Daniel Garijo; Kai Eckert; eds. <a href="https://www.w3.org/TR/2013/NOTE-prov-dc-20130430/"><cite>Dublin Core to PROV Mapping</cite></a>. 30 April 2013, W3C Note. URL: <a href="https://www.w3.org/TR/2013/NOTE-prov-dc-20130430/">http://www.w3.org/TR/2013/NOTE-prov-dc-20130430/</a> </dd><dt id="bib-PROV-DICTIONARY">[PROV-DICTIONARY]</dt><dd>Tom De Nies; Sam Coppens; eds. <a href="https://www.w3.org/TR/2013/NOTE-prov-dictionary-20130430/"><cite>PROV-Dictionary: Modeling Provenance for Dictionary Data Structures</cite></a>. 30 April 2013, W3C Note. URL: <a href="https://www.w3.org/TR/2013/NOTE-prov-dictionary-20130430/">http://www.w3.org/TR/2013/NOTE-prov-dictionary-20130430/</a> </dd><dt id="bib-PROV-DM">[PROV-DM]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/"><cite>PROV-DM: The PROV Data Model</cite></a>. 30 April 2013, W3C Recommendation. URL: <a href="https://www.w3.org/TR/2013/REC-prov-dm-20130430/">http://www.w3.org/TR/2013/REC-prov-dm-20130430/</a> </dd><dt id="bib-PROV-LINKS">[PROV-LINKS]</dt><dd>Luc Moreau; Timothy Lebo; eds. <a href="https://www.w3.org/TR/2013/NOTE-prov-links-20130430/"><cite>Linking Across Provenance Bundles</cite></a>. 30 April 2013, W3C Note. URL: <a href="https://www.w3.org/TR/2013/NOTE-prov-links-20130430/">http://www.w3.org/TR/2013/NOTE-prov-links-20130430/</a> </dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="https://www.w3.org/TR/2013/REC-prov-n-20130430/"><cite>PROV-N: The Provenance Notation</cite></a>. 30 April 2013, W3C Recommendation. URL: <a href="https://www.w3.org/TR/2013/REC-prov-n-20130430/">http://www.w3.org/TR/2013/REC-prov-n-20130430/</a> </dd><dt id="bib-PROV-O">[PROV-O]</dt><dd>Timothy Lebo; Satya Sahoo; Deborah McGuinness; eds. <a href="https://www.w3.org/TR/2013/REC-prov-o-20130430/"><cite>PROV-O: The PROV Ontology</cite></a>. 30 April 2013, W3C Recommendation. URL: <a href="https://www.w3.org/TR/2013/REC-prov-o-20130430/">http://www.w3.org/TR/2013/REC-prov-o-20130430/</a> </dd><dt id="bib-PROV-OVERVIEW">[PROV-OVERVIEW]</dt><dd>Paul Groth; Luc Moreau; eds. <a href="https://www.w3.org/TR/2013/NOTE-prov-overview-20130430/"><cite>PROV-OVERVIEW: An Overview of the PROV Family of Documents</cite></a>. 30 April 2013, W3C Note. URL: <a href="https://www.w3.org/TR/2013/NOTE-prov-overview-20130430/">http://www.w3.org/TR/2013/NOTE-prov-overview-20130430/</a> </dd><dt id="bib-PROV-PRIMER">[PROV-PRIMER]</dt><dd>Yolanda Gil; Simon Miles; eds. <a href="https://www.w3.org/TR/2013/NOTE-prov-primer-20130430/"><cite>PROV Model Primer</cite></a>. 30 April 2013, W3C Note. URL: <a href="https://www.w3.org/TR/2013/NOTE-prov-primer-20130430/">http://www.w3.org/TR/2013/NOTE-prov-primer-20130430/</a> </dd><dt id="bib-PROV-SEM">[PROV-SEM]</dt><dd>James Cheney; ed. <a href="https://www.w3.org/TR/2013/NOTE-prov-sem-20130430"><cite>Semantics of the PROV Data Model</cite></a>. 30 April 2013, W3C Note. URL: <a href="https://www.w3.org/TR/2013/NOTE-prov-sem-20130430">http://www.w3.org/TR/2013/NOTE-prov-sem-20130430</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-RFC3023">[RFC3023]</dt><dd>M. Murata; S. St.Laurent; D. Kohn. <a href="http://www.ietf.org/rfc/rfc3023.txt"><cite>XML Media Types (RFC 3023)</cite></a>. January 2001. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3023.txt">http://www.ietf.org/rfc/rfc3023.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 (RFC 3986)</cite></a>. January 2005. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a> </dd><dt id="bib-RFC3987">[RFC3987]</dt><dd>M. Dürst; M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRIs) (RFC 3987)</cite></a>. January 2005. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a> </dd><dt id="bib-UNISEC">[UNISEC]</dt><dd> Mark Davis; Michel Suignard. <a href="http://www.unicode.org/reports/tr36/"><cite>Unicode Security Considerations<cite></cite></cite></a>. 4 August 2010. URL: <a href="http://www.unicode.org/reports/tr36/">http://www.unicode.org/reports/tr36/</a> </dd></dl></section></section><script src="https://www.w3.org/scripts/TR/fixup.js"></script></body></html>