--- a/dictionary/prov-dictionary.html Mon Feb 25 17:07:43 2013 +0100
+++ b/dictionary/prov-dictionary.html Thu Feb 28 00:12:50 2013 +0100
@@ -4,6 +4,7 @@
<html><head>
<title>PROV Dictionary</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-dictionary"/>
<script src="../model/prov-magic.js" class="remove"></script>
@@ -632,7 +633,7 @@
};
var respecConfig = {
// specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
- specStatus: "ED", //FPWD-NOTE
+ specStatus: "WD-NOTE", //FPWD-NOTE
// the specification's short name, as in http://www.w3.org/TR/short-name/
shortName: "prov-dictionary",
@@ -643,7 +644,7 @@
// if you wish the publication date to be other than today, set this
- //publishDate: "2012-12-11",
+ publishDate: "2013-03-12",
// if the specification's copyright date is a range of years, specify
// the start date here:
@@ -719,10 +720,11 @@
<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. This document describes extensions to PROV to facilitate the modeling of provenance for dictionary data structures.
+form assessments about its quality, reliability or trustworthiness. This document describes extensions to PROV to facilitate the modeling of provenance for dictionary data structures. [[PROV-DM]] specifies a <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/Overview.html#component6">Collection</a> as an entity that provides a structure to some constituents, which are themselves entities. However, some applications may need a mechanism to specify more structure to a Collection, in order to accurately describe its provenance.
+Therefore, in this document, we introduce Dictionary, a specific type of Collection with a logical structure consisting of key-value pairs.
</p>
-<p>The <a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/">PROV Document Overview</a> describes the overall state of PROV, and should be read before other PROV documents.</p>
+<p>The <a href="http://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>
@@ -733,28 +735,18 @@
<ul>
<li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [[PROV-OVERVIEW]];</li>
<li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [[PROV-PRIMER]];</li>
-<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> (Proposed Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [[!PROV-O]];</li>
-<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> (Proposed Recommendation), the PROV data model for provenance (this document);</li>
-<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> (Proposed Recommendation), a notation for provenance aimed at human consumption [[!PROV-N]];</li>
-<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> (Proposed Recommendation), a set of constraints applying to the PROV data model [[!PROV-CONSTRAINTS]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> (Proposed Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [[PROV-O]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> (Proposed Recommendation), the PROV data model for provenance [[PROV-DM]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> (Proposed Recommendation), a notation for provenance aimed at human consumption [[PROV-N]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> (Proposed Recommendation), a set of constraints applying to the PROV data model [[PROV-CONSTRAINTS]];</li>
<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note), an XML schema for the PROV data model [[PROV-XML]];</li>
<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [[PROV-AQ]]; </li>
<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [[PROV-DICTIONARY]];</li>
<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [[PROV-DC]];</li>
-<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles [[PROV-LINKS]].</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/">PROV-SEM</a> (To be published as Note), a declarative specification in terms of first-order logic of the PROV data model [[PROV-SEM]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles (this document).</li>
</ul>
-<h4>Please Review By 09 April 2013</h4>
-
-<p>This document is to be published as a W3C Note. The Provenance Working Group is seeking feedback from the community on the usefulness of the concepts described below in practical scenarios.</p>
-
-<p>Members of the community are encouraged by the Provenance Working Group to continue to send reports of implementation experience, and other feedback, 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>). Reports of any success or difficulty with the test cases are encouraged. Open discussion among developers is welcome at
-<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>).</p>
</section>
@@ -770,7 +762,7 @@
<h2>Introduction</h2>
<p>
-<a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/">Provenance</a>
+<a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/">Provenance</a>
is a record that describes the people, institutions, entities, and
activities involved in producing, influencing, or delivering a piece
of data or a thing. The specifications [[PROV-O]], [[PROV-DM]],
@@ -827,8 +819,8 @@
<span class="glossary-ref" data-ref="glossary-dictionary-membership"></span>
-<p>Similar to the <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#term-membership">collection membership</a> relation, the <strong>dictionary membership</strong> allows stating the members of a Dictionary. However, it provides additional structure.
- Note that <a href="#term-dictionary-membership">dictionary membership</a> implies <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#term-membership">collection membership</a>, but not vice versa. This implication is formalized in <a href="#dmembership-cmembership-inference">Inference D1</a>.
+<p>Similar to the <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-membership">collection membership</a> relation, the <strong>dictionary membership</strong> allows stating the members of a Dictionary. However, it provides additional structure.
+ Note that <a href="#term-dictionary-membership">dictionary membership</a> implies <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-membership">collection membership</a>, but not vice versa. This implication is formalized in <a href="#dmembership-cmembership-inference">Inference D1</a>.
</p>
<div class="attributes" id="attributes-hadMember-d">
@@ -836,10 +828,10 @@
<ul>
<li><span class='attribute' id="membership-d.dictionary">dictionary</span>: an identifier (<span class="name">d</span>) for the dictionary whose members are asserted; </li>
<li><span class='attribute' id="membership-d.entity">entity</span>: an entity <span class="name">e_1</span> that is associated with the key and is a member of the dictionary;</li>
-<li><span class='attribute' id="membership-d.key">key</span>: a key <span class="name">key_1</span> that is associated with the specified entity. <span class="name">key_1</a> is a <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#term-value">value</a> ;</li>
+<li><span class='attribute' id="membership-d.key">key</span>: a key <span class="name">key_1</span> that is associated with the specified entity. <span class="name">key_1</a> is a <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-value">value</a> ;</li>
</ul>
<p>Keys cannot be repeated in the same dictionary. However, a dictionary can contain the same entity more than once, as long as it is associated with different keys.</p>
-<p>Note that the <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#term-membership">collection membership</a> relation, written <span class="name">hadMember(c, e)</span>, can be used when <span class="name">c</span> has <span class="name">prov:type = 'prov:Collection'</span> or <span class="name">prov:type = 'prov:Dictionary'</span>. However, the <a href="#term-dictionary-membership">dictionary membership</a>, written <span class="name">hadDictionaryMember(d, e, "k")</span>, can only be used when <span class="name">d</span> has <span class="name">prov:type = 'prov:Dictionary'</span>. </p>
+<p>Note that the <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-membership">collection membership</a> relation, written <span class="name">hadMember(c, e)</span>, can be used when <span class="name">c</span> has <span class="name">prov:type = 'prov:Collection'</span> or <span class="name">prov:type = 'prov:Dictionary'</span>. However, the <a href="#term-dictionary-membership">dictionary membership</a>, written <span class="name">hadDictionaryMember(d, e, "k")</span>, can only be used when <span class="name">d</span> has <span class="name">prov:type = 'prov:Dictionary'</span>. </p>
</div>
@@ -875,7 +867,7 @@
<li><span class='attribute' id="insertion.id">id</span>: an OPTIONAL identifier identifying the relation;</li>
<li><span class='attribute' id="insertion.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> insertion; </li>
<li><span class='attribute' id="insertion.before">before</span>: an identifier (<span class="name">d1</span>) for the dictionary <em>before</em> insertion;</li>
-<li><span class='attribute' id="insertion.key-entity-set">key-entity-set</span>: all inserted key-entity pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span>. Here, each <span class="name">key_i</span> is a <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#term-value">value</a>, and <span class="name">e_i</span> is an identifier for the entity that has been inserted with the key;
+<li><span class='attribute' id="insertion.key-entity-set">key-entity-set</span>: all inserted key-entity pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span>. Here, each <span class="name">key_i</span> is a <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-value">value</a>, and <span class="name">e_i</span> is an identifier for the entity that has been inserted with the key;
each <span class="name">key_i</span> is expected to be unique for the key-entity-set, as formalized in <a href="#key-single-entity-inference">Inference D2</a>;
</li>
<li><span class='attribute' id="insertion.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
@@ -947,7 +939,7 @@
<li><span class='attribute' id="removal.id">id</span>: an OPTIONAL identifier identifying the relation;</li>
<li><span class='attribute' id="removal.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> the deletion; </li>
<li><span class='attribute' id="removal.before">before</span>: an identifier (<span class="name">d1</span>) for the dictionary <em>before</em> the deletion;</li>
-<li><span class='attribute' id="removal.key-set">key-set</span>: the set of deleted keys <span class="name">key_1</span>, ..., <span class="name">key_n</span>. Here, each <span class="name">key_i</span> is a <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#term-value">value</a>;</li>
+<li><span class='attribute' id="removal.key-set">key-set</span>: the set of deleted keys <span class="name">key_1</span>, ..., <span class="name">key_n</span>. Here, each <span class="name">key_i</span> is a <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-value">value</a>;</li>
<li><span class='attribute' id="removal.attributes">attributes</span>: an OPTIONAL set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
</ul>
</div>
@@ -989,7 +981,7 @@
<section id="dictionary-notation">
<h2>PROV-N Notation of Dictionary Concepts</h2>
-The notation used for dictionaries in this document extends the standard PROV-N according to the principles described in <a href="http://www.w3.org/TR/prov-n/#extensibility">the PROV-N extensibility chapter</a>.
+The notation used for dictionaries in this document extends the standard PROV-N according to the principles described in <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#extensibility">the PROV-N extensibility chapter</a>.
However, because dictionaries are defined in the same namespace as the rest of PROV-N, the terms in this document do not have a non-empty prefix. For the remainder of this document, we will assume that the default namespace http://www.w3.org/ns/prov# is used, and thus, no prefix is specified for the terms associated with dictionaries.
<div class="note">Note that the use of a non-empty prefix for extensions of PROV-N is technically not valid. The terms used in this document can be made valid by the addition of a prefix "prov:" to all PROV-Dictionary terms. However, this would greatly reduce the readability of this document.
The Working Group is currently discussing how to address this issue before the next Working Draft of this document.</div>
@@ -997,8 +989,8 @@
<section id="expression-dictionary">
<h3>Dictionary and EmptyDictionary Expression</h3>
- PROV-Dictionary provides no dedicated syntax for Collection and EmptyCollection. Dictionaries are declared in <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#expression-collection">the same way</a> as Collections. A Dictionary or an EmptyDictionary MUST be expressed as an
-<code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-entityExpression">entityExpression</a></code> with attribute
+ PROV-Dictionary provides no dedicated syntax for Collection and EmptyCollection. Dictionaries are declared in <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#expression-collection">the same way</a> as Collections. A Dictionary or an EmptyDictionary MUST be expressed as an
+<code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-entityExpression">entityExpression</a></code> with attribute
<span id="provn-type-Dictionary"><code>prov:type='prov:Dictionary'</code></span>, or
<span id="provn-type-EmptyDictionary"><code>prov:type='prov:EmptyDictionary'</code></span>, respectively.
<div class="anexample">
@@ -1034,7 +1026,7 @@
<tr><td><a href="#term-dictionary-membership"><span class='attribute' id="provn-membership-d.dictionary">dictionary</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-dIdentifier">dIdentifier</a></code></td></tr>
-<tr><td><a href="#term-dictionary-membership"><span class='attribute' id="provn-membership-d.entity">entity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-eIdentifier">eIdentifier</a></code></td></tr>
+<tr><td><a href="#term-dictionary-membership"><span class='attribute' id="provn-membership-d.entity">entity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></code></td></tr>
<tr><td><a href="#term-dictionary-membership"><span class='attribute' id="provn-membership-d.key">key</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-key">key</a></code></td></tr>
@@ -1081,7 +1073,7 @@
<tr><td><b>Insertion</b></td><td><b>Non-Terminal</b></td></tr>
<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
-<tr><td><a href="#term-dictionary-insertion"><span class='attribute' id="provn-insertion.id">id</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-optionalIdentifier">optionalIdentifier</a></code></td></tr>
+<tr><td><a href="#term-dictionary-insertion"><span class='attribute' id="provn-insertion.id">id</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-optionalIdentifier">optionalIdentifier</a></code></td></tr>
<tr><td><a href="#term-dictionary-insertion"><span class='attribute' id="provn-insertion.after">after</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-dIdentifier">dIdentifier</a></code></td></tr>
@@ -1090,7 +1082,7 @@
<tr><td><a href="#term-dictionary-insertion"><span class='attribute' id="provn-insertion.key-value-pairs">key-value-pairs</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-keyValuePairs">keyValuePairs</a></code></td></tr>
-<tr><td><a href="#term-dictionary-insertion"><span class='attribute' id="provn-insertion.attributes">attributes</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-optionalAttributeValuePairs">optionalAttributeValuePairs</a></code></td></tr>
+<tr><td><a href="#term-dictionary-insertion"><span class='attribute' id="provn-insertion.attributes">attributes</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-optionalAttributeValuePairs">optionalAttributeValuePairs</a></code></td></tr>
</table>
</div>
@@ -1144,7 +1136,7 @@
<tr><td><b>Removal</b></td><td><b>Non-Terminal</b></td></tr>
<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
-<tr><td><a href="#term-dictionary-removal"><span class='attribute' id="provn-removal.id">id</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-optionalIdentifier">optionalIdentifier</a></code></td></tr>
+<tr><td><a href="#term-dictionary-removal"><span class='attribute' id="provn-removal.id">id</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-optionalIdentifier">optionalIdentifier</a></code></td></tr>
<tr><td><a href="#term-dictionary-removal"><span class='attribute' id="provn-removal.after">after</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-dIdentifier">dIdentifier</a></code></td></tr>
@@ -1153,7 +1145,7 @@
<tr><td><a href="#term-dictionary-removal"><span class='attribute' id="provn-removal.key-set">key-set</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-keySet">keySet</a></code></td></tr>
-<tr><td><a href="#term-dictionary-removal"><span class='attribute' id="provn-removal.attributes">attributes</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-optionalAttributeValuePairs">optionalAttributeValuePairs</a></code></td></tr>
+<tr><td><a href="#term-dictionary-removal"><span class='attribute' id="provn-removal.attributes">attributes</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-optionalAttributeValuePairs">optionalAttributeValuePairs</a></code></td></tr>
</table>
</div>
@@ -1189,16 +1181,16 @@
<div class="grammar">
<p id="prod-dIdentifier"><span class="nonterminal">dIdentifier</span> ::=
- <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-identifier" class="nonterminal">identifier</a> </p>
+ <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-identifier" class="nonterminal">identifier</a> </p>
<p id="prod-key"><span class="nonterminal">key</span> ::=
- <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-literal" class="nonterminal">literal</a> </p>
+ <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-literal" class="nonterminal">literal</a> </p>
<p id="prod-keyValuePairs"><span class="nonterminal">keyValuePairs</span> ::=
<a href="#prod-keyValuePair" class="nonterminal">keyValuePair</a> <span class="star"><span class="name">,</span> <a href="#prod-keyValuePair" class="nonterminal">keyValuePair</a></span> </p>
<p id="prod-keyValuePair"><span class="nonterminal">keyValuePair</span> ::=
- <span class="name">(</span> <a href="#prod-key" class="nonterminal">key</a> <span class="name">,</span> <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-eIdentifier" class="nonterminal">eIdentifier</a> <span class="name">)</span> </p>
+ <span class="name">(</span> <a href="#prod-key" class="nonterminal">key</a> <span class="name">,</span> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier" class="nonterminal">eIdentifier</a> <span class="name">)</span> </p>
<p id="prod-keySet"><span class="nonterminal">keySet</span> ::=
<a href="#prod-key" class="nonterminal">key</a> <span class="star"><span class="name">,</span> <a href="#prod-key" class="nonterminal">key</a></span> </p>
@@ -1225,8 +1217,7 @@
</p>
<div about="#narrative-example-dictionaries-1" typeof="prov:Entity" class="exampleOuter" xmlns:prov="http://www.w3.org/ns/prov#">
- <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-26-provo-collections-narrative/rdf/membership.ttl"
- class="example">
+ <pre class="example">
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <http://example.org/> .
@@ -1268,8 +1259,7 @@
</p>
<div about="#narrative-example-dictionaries-2" typeof="prov:Entity" class="exampleOuter" xmlns:prov="http://www.w3.org/ns/prov#">
-<pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-26-provo-collections-narrative/rdf/insertion.ttl"
- class="example">@prefix prov: <http://www.w3.org/ns/prov#> .
+<pre class="example">@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <http://example.org/> .
@@ -1308,8 +1298,7 @@
</p>
<div about="#narrative-example-dictionaries-3" typeof="prov:Entity" class="exampleOuter" xmlns:prov="http://www.w3.org/ns/prov#">
- <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-26-provo-collections-narrative/rdf/removal.ttl"
- class="example">@prefix prov: <http://www.w3.org/ns/prov#> .
+ <pre class="example">@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <http://example.org/> .
@@ -1395,13 +1384,13 @@
<div about="#example-for-class-Dictionary" typeof="prov:Entity" class="example">
<span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#Dictionary"></span>
<strong>Example</strong>
- <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/class_Dictionary.ttl"
- property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-@prefix owl: <http://www.w3.org/2002/07/owl#> .
-@prefix prov: <http://www.w3.org/ns/prov#> .
-@prefix my: <http://example.org/ontology#> .
-@prefix : <http://example.org/> .
+ <pre >@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix my: <http://example.org/ontology#> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+@prefix : <http://example.org/> .
:seating_chart_2012
a prov:Dictionary, prov:Collection, prov:Entity, my:SeatingChart;
@@ -1409,7 +1398,6 @@
dcterms:date "2012";
my:hasTotalStudents 45;
.
-.
</pre>
</div>
@@ -1421,7 +1409,7 @@
<dt>is subclass of</dt>
<dd>
- <a title="http://www.w3.org/ns/prov#Collection" href="http://www.w3.org/TR/2012/CR-prov-o-20121211/#Collection" class="owlclass">prov:Collection</a>
+ <a title="http://www.w3.org/ns/prov#Collection" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#Collection" class="owlclass">prov:Collection</a>
</dd>
<dt>described with properties</dt>
@@ -1447,66 +1435,6 @@
</dl>
</div>
- <!-- TO BE DELETED AFTER REVIEW <div id="DictionaryInvolvement" class="entity">
- <h3>
- Class: <a href="#DictionaryInvolvement"><span class="dotted" title="http://www.w3.org/ns/prov#DictionaryInvolvement">prov:DictionaryInvolvement</span></a>
- <span class="backlink">
- back to <a href="#prov-dictionary-owl-terms-at-a-glance">overview</a>
- </span>
- </h3>
- <p><strong>IRI:</strong>http://www.w3.org/ns/prov#DictionaryInvolvement</p>
-
- <div about="#example-for-class-DictionaryInvolvement" typeof="prov:Entity" class="example">
- <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#DictionaryInvolvement"></span>
- <strong>Example</strong>
- <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/class_DictionaryInvolvement.ttl"
- property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-@prefix owl: <http://www.w3.org/2002/07/owl#> .
-@prefix prov: <http://www.w3.org/ns/prov#> .
-@prefix : <http://example.com/> .
-
-:c1 a prov:Dictionary .
-
-:c2
- a prov:Dictionary,
- prov:Entity;
- prov:derivedByRemovalFrom :c1;
- prov:qualifiedRemoval [
- a prov:Removal, prov:DictionaryInvolvement;
- prov:dictionary :c1;
- prov:removedKey "k1"^^xsd:string;
- ];
-.
-</pre>
- </div>
-
- <dl class="description">
- <dd class="comment"><p>prov:DictionaryInvolvement provides descriptions of any binary involvement between any instance and a prov:Dictionary.</p>
- </dd>
-
- <dt>is subclass of</dt>
- <dd>
- <a title="http://www.w3.org/ns/prov#Involvement" href="#Involvement" class="owlclass">prov:Involvement</a>
- </dd>
-
- <dt>in domain of</dt>
- <dd>
- <a title="http://www.w3.org/ns/prov#dictionary" href="#dictionary">prov:dictionary</a><sup class="type-op" title="object property">op</sup>
- </dd>
-
- <dt>parent is in domain of</dt>
- <dd>
- </dd>
-
- <dt>has subclasses</dt>
- <dd>
- <a title="http://www.w3.org/ns/prov#Insertion" href="#Insertion" class="owlclass">prov:Insertion</a>
- <a title="http://www.w3.org/ns/prov#Removal" href="#Removal" class="owlclass">prov:Removal</a>
- </dd>
- </dl>
- </div> -->
-
<div id="EmptyDictionary" class="entity">
<h3>
Class: <a href="#EmptyDictionary"><span class="dotted" title="http://www.w3.org/ns/prov#EmptyDictionary">prov:EmptyDictionary</span></a>
@@ -1519,15 +1447,15 @@
<div about="#example-for-class-EmptyDictionary" typeof="prov:Entity" class="example">
<span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#EmptyDictionary"></span>
<strong>Example</strong>
- <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/class_EmptyDictionary.ttl"
- property="prov:pairValue">@prefix prov: <http://www.w3.org/ns/prov#> .
+ <pre>@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <http://example.org/> .
:e1 a prov:Entity .
:e2 a prov:Entity .
-:d a prov:EmptyDictionary</pre>
+:d a prov:EmptyDictionary
+.</pre>
</div>
<dl class="description">
@@ -1537,7 +1465,7 @@
<dt>is subclass of</dt>
<dd>
<a title="http://www.w3.org/ns/prov#Dictionary" href="#Dictionary" class="owlclass">prov:Dictionary</a>
- <a title="http://www.w3.org/ns/prov#EmptyCollection" href="http://www.w3.org/TR/2012/CR-prov-o-20121211/#EmptyCollection" class="owlclass">prov:EmptyCollection</a>
+ <a title="http://www.w3.org/ns/prov#EmptyCollection" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#EmptyCollection" class="owlclass">prov:EmptyCollection</a>
</dd>
</dl>
</div>
@@ -1590,7 +1518,7 @@
<dt>is subclass of</dt>
<dd>
- <a title="http://www.w3.org/ns/prov#Derivation" href="http://www.w3.org/TR/2012/CR-prov-o-20121211/#Derivation" class="owlclass">prov:Derivation</a>
+ <a title="http://www.w3.org/ns/prov#Derivation" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#Derivation" class="owlclass">prov:Derivation</a>
</dd>
<dt>described with properties</dt>
<dd>
@@ -1711,7 +1639,7 @@
<dt>is subclass of</dt>
<dd>
- <a title="http://www.w3.org/ns/prov#Derivation" href="http://www.w3.org/TR/2012/CR-prov-o-20121211/#Derivation" class="owlclass">prov:Derivation</a>
+ <a title="http://www.w3.org/ns/prov#Derivation" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#Derivation" class="owlclass">prov:Derivation</a>
</dd>
<dt>described with properties</dt>
@@ -1788,7 +1716,7 @@
<dd>
<ul>
<li>
- <a title="http://www.w3.org/ns/prov#wasDerivedFrom" href="http://www.w3.org/TR/2012/CR-prov-o-20121211/#wasDerivedFrom" class="owlclass">prov:wasDerivedFrom</a>
+ <a title="http://www.w3.org/ns/prov#wasDerivedFrom" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#wasDerivedFrom" class="owlclass">prov:wasDerivedFrom</a>
</li>
</ul>
</dd>
@@ -1868,7 +1796,7 @@
<dd>
<ul>
<li>
- <a title="http://www.w3.org/ns/prov#wasDerivedFrom" href="http://www.w3.org/TR/2012/CR-prov-o-20121211/#wasDerivedFrom" class="owlclass">prov:wasDerivedFrom</a>
+ <a title="http://www.w3.org/ns/prov#wasDerivedFrom" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#wasDerivedFrom" class="owlclass">prov:wasDerivedFrom</a>
</li>
</ul>
</dd>
@@ -1950,7 +1878,7 @@
<dd>
<ul>
<li>
- <a title="http://www.w3.org/ns/prov#entity" href="http://www.w3.org/TR/2012/CR-prov-o-20121211/#entity" class="owlclass">prov:entity</a>
+ <a title="http://www.w3.org/ns/prov#entity" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#entity" class="owlclass">prov:entity</a>
</li>
</ul>
</dd>
@@ -2131,8 +2059,7 @@
a prov:KeyValuePair;
prov:pairKey "first-baseman"^^xsd:string;
prov:pairValue :george;
- ],
- prov:hadDictionaryMember [
+ ], [
a prov:KeyValuePair;
prov:pairKey "pitcher"^^xsd:string;
prov:pairValue :carl;
@@ -2196,8 +2123,7 @@
a prov:KeyValuePair;
prov:pairKey "first-baseman"^^xsd:string;
prov:pairValue :george;
- ],
- prov:hadDictionaryMember [
+ ], [
a prov:KeyValuePair;
prov:pairKey "pitcher"^^xsd:string;
prov:pairValue :carl;
@@ -2273,7 +2199,7 @@
:our-old-baseball-team-field-positions
a prov:Dictionary,
- :FieldPositions;
+ :FieldPositions .
</pre>
</div>
@@ -2677,13 +2603,13 @@
<section id="dictionary-constraints">
<h2>Constraints Associated with Dictionary</h2>
-In this section, we specify some inferences and constraints associated with dictionaries. These inferences and constraints MAY be applied to obtain valid provenance when using dictionaries. For more information about valid provenance and its purpose, we refer to the <a href="http://www.w3.org/TR/2012/CR-prov-constraints-20121211/#purpose">disclaimer</a> in [[PROV-CONSTRAINTS]].
+In this section, we specify some inferences and constraints associated with dictionaries. These inferences and constraints MAY be applied to obtain valid provenance when using dictionaries. For more information about valid provenance and its purpose, we refer to the <a href="/CR-prov-constraints-20121211/#purpose">disclaimer</a> in [[PROV-CONSTRAINTS]].
Whereas collections were deliberately left unconstrained in [[PROV-DM]] and [[PROV-CONSTRAINTS]] to remain as general as possible, dictionaries are intended to provide more structure, and thus, are constrained more strictly.
For more information on how to read this section, we refer to [[PROV-CONSTRAINTS]].
<section id="dictionary-constraints-inferences">
<h3>Inferences</h3>
- <p id="dmembership-cmembership-inference_text"><a href="#term-dictionary-membership">Dictionary membership</a> implies <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#term-membership">collection membership</a>.</p>
+ <p id="dmembership-cmembership-inference_text"><a href="#term-dictionary-membership">Dictionary membership</a> implies <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-membership">collection membership</a>.</p>
<div class='inference' id='dmembership-cmembership-inference'>
<span class='ruleTitle'><a class="internalDFN" href="#dmembership-cmembership-inference">Inference D1 (dictionary-membership-collection-membership)</a></span>
<p>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dictionary/releases/WD-prov-dictionary-20130312/prov-dictionary.html Thu Feb 28 00:12:50 2013 +0100
@@ -0,0 +1,2945 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head>
+ <title>PROV Dictionary</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<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: #52e052; }
+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: 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="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-dictionary">
+
+
+
+
+
+
+
+
+
+
+
+<style type="text/css">
+ .note { font-size:small; margin-left:50px }
+
+ .entity {
+ border: 1px solid navy;
+ margin:5px 0px 5px 0px;
+ padding: 5px;
+ }
+
+
+
+ .description {
+ border-top: 1px dashed gray;
+ border-bottom: 1px dashed gray;
+ background-color: rgb(242, 243, 244);
+ margin-top:5px;
+ padding-bottom:5px;
+ }
+
+ .description dl {
+ background-color: rgb(242, 243, 244);
+ }
+
+ .description ul {
+ padding-left: 12px;
+ margin-top: 0px;
+ }
+
+code {
+ color: black !important;
+}
+
+.diamond {
+ font-weight: normal;
+ font-style: normal;
+ font-size:100%;
+ font-family: sans-serif;
+}
+
+table.thinborder {
+ border-width: 1px;
+ border-spacing: 0px;
+ border-style: none;
+ border-color: gray;
+ border-collapse: collapse;
+}
+table.thinborder th {
+ border-width: 1px;
+ padding: 0px;
+ border-style: solid;
+ border-color: gray;
+}
+table.thinborder td {
+ border-width: 1px;
+ padding: 2px;
+ border-style: solid;
+ border-color: gray;
+}
+
+/* --- EDITORIAL NOTES --- */
+.pending {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #BFEFFF;
+}
+
+.pending::before {
+ content: "Pending Review";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+
+.resolved {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #9BCD9B;
+}
+
+.resolved::before {
+ content: "Resolved";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.inference {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+
+.inference-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.syntax {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.syntax[id]::before {
+ content: "Syntax: " attr(id);
+ width: 380px; /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.syntax::before {
+ content: "Syntax";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.unamedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+
+.unamedconstraint::before {
+ content: "Constraint";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+.constraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.constraint-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+
+.interpretation {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.interpretation[id]::before {
+ content: "Interpretation: " attr(id);
+ width: 380px; /* How can we compute the length of "Interpretation: " attr(id) */
+}
+
+
+.interpretation::before {
+ content: "Interpretation";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.definition {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #777;
+ background: #fff;
+}
+
+.definition-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #777;
+ background: #fff;
+}
+
+.deprecatedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.deprecatedconstraint[id]::before {
+ content: "Deprecated: " attr(id);
+ width: 380px; /* How can we compute the length of "Deprecatedconstraint: " attr(id) */
+}
+
+
+.deprecatedconstraint::before {
+ content: "Deprecated";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.glossary-ref {
+ font-style: italic;
+}
+
+.dfn {
+ font-weight: bold;
+}
+
+
+.attribute {
+ font-style: italic;
+}
+
+
+.conditional {
+ color: blue;
+}
+
+.grammar {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ font-size: 95%;
+}
+.nonterminal {
+ font-weight: bold;
+ font-family: sans-serif;
+ font-size: 95%;
+}
+
+.name {
+ font-family: monospace;
+}
+
+.math {
+ font-family: roman;
+ font-style:italic;
+}
+
+
+.xmpl {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.xmpl::before {
+ content: "Example";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.anexample {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ background-color: #f9f9f9;
+}
+.anexample table {
+ background-color: #f9f9f9;
+}
+
+.conceptexample:before {
+ content: "Example:";
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+.conceptexample {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ background-color: #f9f9f9;
+}
+
+.pnExpression {
+ font-weight: normal;
+ font-size:120%;
+ font-family: monospace;
+}
+
+
+div[class="grammar"] span[class="name"]:before {
+ content: '"';
+}
+
+div[class="grammar"] span[class="name"]:after {
+ content: '"';
+}
+
+
+div[class="grammar"] span[class="optional"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="optional"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")?";
+}
+
+
+div[class="grammar"] span[class="plus"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="plus"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")+";
+}
+
+
+div[class="grammar"] span[class="star"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="star"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")*";
+}
+
+div[class="grammar"] span[class="choice"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="choice"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+div[class="grammar"] span[class="group"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="group"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+table {
+ background-color: #f9f9f9;
+}
+
+.component1-color {
+ background-color: rgba(255,42,42,0.2);
+}
+
+.component2-color {
+ background-color: rgba(0,68,170,0.2);
+}
+
+.component3-color {
+ background-color: rgba(0,170,0,0.2);
+}
+.component4-color {
+ background-color: rgba(204,255,0,0.2);
+}
+
+.component5-color {
+ background-color: rgba(11,40,40,0.2);
+}
+
+.component6-color {
+ background-color: rgba(244,105,14,0.2);
+}
+
+.interpretation-forward::before {
+ content: "Interpretation: ";
+ font-weight: bold;
+}
+
+.structural-forward::before {
+ content: "Structural constraint: ";
+ font-weight: bold;
+}
+
+
+code {
+ color: black;
+}
+
+.ruleTitle {
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+
+
+
+
+
+.remark {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px dashed #000;
+ background: #F0F0F0;
+}
+
+.remark::before {
+ content: "Remark";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #000;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+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>
+
+
+ <script type="text/javascript">
+/*
+ Written by Jonathan Snook, http://www.snook.ca/jonathan
+ Add-ons by Robert Nyman, http://www.robertnyman.com
+ Author says "The credit comment is all it takes, no license. Go crazy with it!"
+ From http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
+*/
+
+function getElementsByClassName(oElm, strTagName, oClassNames){
+ var arrElements = (! (! (strTagName == "*") || ! (oElm.all)))? oElm.all : oElm.getElementsByTagName(strTagName);
+ var arrReturnElements = new Array();
+ var arrRegExpClassNames = new Array();
+ if(typeof oClassNames == "object"){
+ for(var i=0; !(i>=oClassNames.length); i++){ /*>*/
+ arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames[i].replace(/\-/g, "\-") + "(\s|$)"));
+ }
+ }
+ else{
+ arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames.replace(/\-/g, "\-") + "(\s|$)"));
+ }
+ var oElement;
+ var bMatchesAll;
+ for(var j=0; !(j>=arrElements.length); j++){ /*>*/
+ oElement = arrElements[j];
+ bMatchesAll = true;
+ for(var k=0; !(k>=arrRegExpClassNames.length); k++){ /*>*/
+ if(!arrRegExpClassNames[k].test(oElement.className)){
+ bMatchesAll = false;
+ break;
+ }
+ }
+ if(bMatchesAll){
+ arrReturnElements.push(oElement);
+ }
+ }
+ return (arrReturnElements)
+}
+
+function set_display_by_class(el, cls, newValue) {
+ var e = getElementsByClassName(document, el, cls);
+ if (e != null) {
+ for (var i=0; !(i>=e.length); i++) {
+ e[i].style.display = newValue;
+ }
+ }
+}
+
+function set_display_by_id(id, newValue) {
+ var e = document.getElementById(id);
+ if (e != null) {
+ e.style.display = newValue;
+ }
+}
+</script>
+
+
+
+
+
+ <style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 {
+ text-transform: lowercase;
+ font-variant: small-caps;
+ font-style: normal;
+ color: #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+ border: none;
+}
+
+dfn {
+ font-weight: bold;
+}
+
+a.internalDFN {
+ color: inherit;
+ border-bottom: 1px solid #99c;
+ text-decoration: none;
+}
+
+a.externalDFN {
+ color: inherit;
+ border-bottom: 1px dotted #ccc;
+ text-decoration: none;
+}
+
+a.bibref {
+ text-decoration: none;
+}
+
+cite .bibref {
+ font-style: normal;
+}
+
+code {
+ color: #ff4500;
+}
+
+
+/* --- --- */
+ol.algorithm { counter-reset:numsection; list-style-type: none; }
+ol.algorithm li { margin: 0.5em 0; }
+ol.algorithm li:before { font-weight: bold; counter-increment: numsection; content: counters(numsection, ".") ") "; }
+
+/* --- TOC --- */
+.toc a, .tof a {
+ text-decoration: none;
+}
+
+a .secno, a .figno {
+ color: #000;
+}
+
+ul.tof, ol.tof {
+ list-style: none outside none;
+}
+
+.caption {
+ margin-top: 0.5em;
+ font-style: italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+ border-spacing: 0;
+ border-collapse: collapse;
+ border-bottom: 3px solid #005a9c;
+}
+
+.simple th {
+ background: #005a9c;
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+}
+
+.simple th[scope="row"] {
+ background: inherit;
+ color: inherit;
+ border-top: 1px solid #ddd;
+}
+
+.simple td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+ background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+ margin-top: 0;
+}
+
+.section dd > p:last-child {
+ margin-bottom: 0;
+}
+
+.section dd {
+ margin-bottom: 1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+ margin-bottom: 0;
+}
+</style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-WD"><!--[if lt IE 9]><script src='http://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head>
+ <body><div class="head">
+ <p>
+
+ <a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+
+ </p>
+ <h1 class="title" id="title">PROV Dictionary</h1>
+
+ <h2 id="w3c-working-draft-12-march-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Working Draft 12 March 2013</h2>
+ <dl>
+
+ <dt>This version:</dt>
+ <dd><a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/</a></dd>
+ <dt>Latest published version:</dt>
+ <dd><a href="http://www.w3.org/TR/prov-dictionary/">http://www.w3.org/TR/prov-dictionary/</a></dd>
+
+
+ <dt>Latest editor's draft:</dt>
+ <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/dictionary/prov-dictionary.html">http://dvcs.w3.org/hg/prov/raw-file/default/dictionary/prov-dictionary.html</a></dd>
+
+
+
+
+
+ <dt>Previous version:</dt>
+ <dd><a href=""></a></dd>
+
+
+ <dt>Editors:</dt>
+ <dd><a href="http://users.ugent.be/~tdenies/">Tom De Nies</a>, iMinds - Ghent University</dd>
+<dd><span>Sam Coppens</span>, iMinds - Ghent University</dd>
+
+
+ <dt>Authors:</dt>
+ <dd><a href="http://www.cs.ncl.ac.uk/people/Paolo.Missier">Paolo Missier</a>, Newcastle University</dd>
+<dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd>
+<dd><a href="http://homepages.inf.ed.ac.uk/jcheney/">James Cheney</a>, University of Edinburgh</dd>
+<dd><a href="http://tw.rpi.edu/instances/TimLebo">Timothy Lebo</a>, Rensselaer Polytechnic Institute</dd>
+<dd><a href="http://soiland-reyes.com/stian/">Stian Soiland-Reyes</a>, University of Manchester</dd>
+
+
+ </dl>
+
+
+
+
+
+ <p class="copyright">
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
+ 2013
+
+ <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+ (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+ <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+ <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved.
+ <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+ <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+ </p>
+
+
+ <hr>
+</div>
+
+ <section id="abstract" class="introductory"><h2>Abstract</h2>
+<p>
+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. This document describes extensions to PROV to facilitate the modeling of provenance for dictionary data structures. [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] specifies a <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/Overview.html#component6">Collection</a> as an entity that provides a structure to some constituents, which are themselves entities. However, some applications may need a mechanism to specify more structure to a Collection, in order to accurately describe its provenance.
+Therefore, in this document, we introduce Dictionary, a specific type of Collection with a logical structure consisting of key-value pairs.
+</p>
+
+<p>The <a href="http://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="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
+ index</a> at http://www.w3.org/TR/.</em>
+ </p>
+
+<h4 id="prov-family-of-documents">PROV Family of Documents</h4>
+This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
+interchange of provenance information in heterogeneous environments such as the Web. These documents are listed below. Please consult the [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>] for a guide to reading these documents.
+<ul>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [<cite><a class="bibref" href="#bib-PROV-PRIMER">PROV-PRIMER</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> (Proposed Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> (Proposed Recommendation), the PROV data model for provenance [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> (Proposed Recommendation), a notation for provenance aimed at human consumption [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> (Proposed Recommendation), a set of constraints applying to the PROV data model [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note), an XML schema for the PROV data model [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>]; </li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [<cite><a class="bibref" href="#bib-PROV-DC">PROV-DC</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/">PROV-SEM</a> (To be published as Note), a declarative specification in terms of first-order logic of the PROV data model [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles (this document).</li>
+</ul>
+
+
+ <p>
+ This document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as a Working Draft.
+
+
+ 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 Draft does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+ This is a draft document and may be updated, replaced or obsoleted by other documents at
+ any time. It is inappropriate to cite this document as other than work in progress.
+ </p>
+
+
+ <p>
+
+ This document was produced by a group operating under the
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+ The group does not expect this document to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
+
+
+ <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a>
+
+ made in connection with the deliverables of the group; that page also includes instructions for
+ disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
+ information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+ 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+ </p>
+
+
+
+
+</section><section id="toc"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a href="#dictionary-conceptual-definition" class="tocxref"><span class="secno">2. </span>Conceptual Definition of Dictionary</a><ul class="toc"><li class="tocline"><a href="#term-dictionary-membership" class="tocxref"><span class="secno">2.1 </span>Dictionary Membership</a></li><li class="tocline"><a href="#term-dictionary-insertion" class="tocxref"><span class="secno">2.2 </span>Dictionary Insertion</a></li><li class="tocline"><a href="#term-dictionary-removal" class="tocxref"><span class="secno">2.3 </span>Dictionary Removal</a></li></ul></li><li class="tocline"><a href="#dictionary-notation" class="tocxref"><span class="secno">3. </span>PROV-N Notation of Dictionary Concepts</a><ul class="toc"><li class="tocline"><a href="#expression-dictionary" class="tocxref"><span class="secno">3.1 </span>Dictionary and EmptyDictionary Expression</a></li><li class="tocline"><a href="#expression-dictionary-membership" class="tocxref"><span class="secno">3.2 </span>Membership</a></li><li class="tocline"><a href="#expression-dictionary-insertion" class="tocxref"><span class="secno">3.3 </span>Insertion</a></li><li class="tocline"><a href="#expression-dictionary-removal" class="tocxref"><span class="secno">3.4 </span>Removal</a></li><li class="tocline"><a href="#expression-dictionary-other" class="tocxref"><span class="secno">3.5 </span>Other expressions</a></li></ul></li><li class="tocline"><a href="#dictionary-ontological-definition" class="tocxref"><span class="secno">4. </span>PROV-O Representation of Dictionary</a><ul class="toc"><li class="tocline"><a href="#prov-dictionary-owl-terms-at-a-glance" class="tocxref"><span class="secno">4.1 </span>Overview</a></li><li class="tocline"><a href="#Classes" class="tocxref"><span class="secno">4.2 </span>Dictionary Classes</a></li><li class="tocline"><a href="#Properties" class="tocxref"><span class="secno">4.3 </span>Dictionary Properties</a></li></ul></li><li class="tocline"><a href="#dictionary-xml-schema" class="tocxref"><span class="secno">5. </span>PROV-XML Representation of Dictionary</a><ul class="toc"><li class="tocline"><a href="#term-Dictionary" class="tocxref"><span class="secno">5.1 </span>Dictionary</a></li><li class="tocline"><a href="#term-KeyValuePair" class="tocxref"><span class="secno">5.2 </span>Key-Value Pair</a></li><li class="tocline"><a href="#term-DictionaryMembership" class="tocxref"><span class="secno">5.3 </span>Dictionary Membership</a></li><li class="tocline"><a href="#term-Insertion" class="tocxref"><span class="secno">5.4 </span>Insertion</a></li><li class="tocline"><a href="#term-Removal" class="tocxref"><span class="secno">5.5 </span>Removal</a></li></ul></li><li class="tocline"><a href="#dictionary-constraints" class="tocxref"><span class="secno">6. </span>Constraints Associated with Dictionary</a><ul class="toc"><li class="tocline"><a href="#dictionary-constraints-inferences" class="tocxref"><span class="secno">6.1 </span>Inferences</a></li><li class="tocline"><a href="#dictionary-constraints-constraints" class="tocxref"><span class="secno">6.2 </span>Constraints</a></li><li class="tocline"><a href="#dictionary-typing" class="tocxref"><span class="secno">6.3 </span>Typing</a></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.1 </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+
+
+
+
+
+
+
+
+
+ <section id="introduction">
+<!--OddPage--><h2><span class="secno">1. </span>Introduction</h2>
+
+<p>
+<a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/">Provenance</a>
+is a record that describes the people, institutions, entities, and
+activities involved in producing, influencing, or delivering a piece
+of data or a thing. The specifications [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>], [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>],
+[<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>], and [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>] have respectively defined the PROV
+ontology, the PROV conceptual model, the PROV notation, and the PROV
+XML schema, allowing provenance descriptions to be expressed,
+represented in various representations, and interchanged between systems across the Web.
+</p>
+<p>[<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] specifies Collection as an entity that provides a structure to some constituents, which are themselves entities. However, some applications may need a mechanism to specify more structure to a Collection, in order to accurately describe its provenance.</p>
+
+<p>Therefore, this document introduces a new concept, <a>Dictionary</a>, that has a logical structure consisting of key-entity pairs.</p>
+</section>
+
+
+
+<section id="dictionary-conceptual-definition">
+<!--OddPage--><h2><span class="secno">2. </span>Conceptual Definition of Dictionary</h2>
+<p>In this section a specific type of collection, as specified in [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>], is introduced. This new type of collection, Dictionary, is specified as follows.</p>
+
+
+<span class="glossary-ref"></span>
+
+<p>Conceptually, a dictionary has a logical structure consisting of key-value pairs. This structure is often referred to as a <em>map</em>, and is a generic indexing mechanism that can abstract commonly used data structures, including associative lists, relational tables, ordered lists, and more.
+ This document provides a mechanism to assert the provenance for these types of data structures, in the most general way, as a collection of key-value pairs, modified through insertions and deletions. Any more specialized structures can be modeled to some extent in terms of these key-value pairs.
+ Here, we will discuss the provenance of dictionaries structured in terms of key-value pairs. However, how this key-value pair structure is translated to more specialized data structures, is beyond the scope of this document.</p>
+
+<p>In this document, a dictionary is viewed as a snapshot of a data structure with key-value pairs, following a sequence of state-changing insertion and removal operations. These operations result in new snapshots, each snapshot forming a distinct and identifiable dictionary entity. Thus, when the structure of a dictionary changes (through insertions or removals), a new dictionary entity is defined, whereas the older dictionary entity remains the same.</p>
+
+<!--
+<span class="glossary-ref" data-ref="glossary-empty-dictionary"></span>
+-->
+
+
+<p>Following the earlier definitions for generic collections, PROV-Dictionary defines the following types related to dictionaries:</p>
+
+<ul>
+ <li> <span class="name">prov:Dictionary</span> is a subtype of <span class="name">prov:Collection</span>. It denotes an entity of type dictionary, i.e. an entity that can participate in relations that involve dictionaries and their member entities;</li>
+
+ <li><span class="name">prov:EmptyDictionary</span> is a subtype of both <span class="name">prov:EmptyCollection</span> and <span class="name">prov:Dictionary</span>. It denotes an empty dictionary.</li>
+</ul>
+
+<p>Note that the complete content of a dictionary is unknown unless it can be traced back to an empty dictionary through a series of insertions and removals. If an asserter wants to explicitly state that a dictionary is empty, it is recommended that the <span class="name">prov:type</span> <span class="name">prov:EmptyCollection</span> is used.
+
+</p><div class="anexample" id="example_1"><div class="anexampleTitle">Example 1<sup><a class="internalDFN" href="#example_1"><span class="diamond"> ◊</span></a></sup></div>
+<pre class="codeexample">entity(d0, [prov:type='prov:EmptyDictionary' ]) // d0 is an empty dictionary
+entity(d1, [prov:type='prov:Dictionary' ]) // d1 is a dictionary, with (so far) unknown content
+</pre>
+</div>
+
+
+<section id="term-dictionary-membership">
+<h3><span class="secno">2.1 </span>Dictionary Membership</h3>
+
+<span class="glossary-ref"></span>
+
+<p>Similar to the <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-membership">collection membership</a> relation, the <strong>dictionary membership</strong> allows stating the members of a Dictionary. However, it provides additional structure.
+ Note that <a href="#term-dictionary-membership">dictionary membership</a> implies <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-membership">collection membership</a>, but not vice versa. This implication is formalized in <a href="#dmembership-cmembership-inference">Inference D1</a>.
+ </p>
+
+<div class="attributes" id="attributes-hadMember-d">
+ A <dfn title="hadMember-d" id="dfn-hadmember-d" class="internalDFN">dictionary membership</dfn><sup><a class="internalDFN" href="#dfn-hadmember-d"><span class="diamond"> ◊</span></a></sup> relation, written <span class="pnExpression">hadDictionaryMember(d, e_1, key_1)</span>, has:
+<ul>
+<li><span class="attribute" id="membership-d.dictionary">dictionary</span>: an identifier (<span class="name">d</span>) for the dictionary whose members are asserted; </li>
+<li><span class="attribute" id="membership-d.entity">entity</span>: an entity <span class="name">e_1</span> that is associated with the key and is a member of the dictionary;</li>
+<li><span class="attribute" id="membership-d.key">key</span>: a key <span class="name">key_1</span> that is associated with the specified entity. <span class="name">key_1 is a <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-value">value</a> ;</span></li>
+</ul>
+<p>Keys cannot be repeated in the same dictionary. However, a dictionary can contain the same entity more than once, as long as it is associated with different keys.</p>
+<p>Note that the <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-membership">collection membership</a> relation, written <span class="name">hadMember(c, e)</span>, can be used when <span class="name">c</span> has <span class="name">prov:type = 'prov:Collection'</span> or <span class="name">prov:type = 'prov:Dictionary'</span>. However, the <a href="#term-dictionary-membership">dictionary membership</a>, written <span class="name">hadDictionaryMember(d, e, "k")</span>, can only be used when <span class="name">d</span> has <span class="name">prov:type = 'prov:Dictionary'</span>. </p>
+
+</div>
+
+<div class="anexample" id="example_2"><div class="anexampleTitle">Example 2<sup><a class="internalDFN" href="#example_2"><span class="diamond"> ◊</span></a></sup></div>
+<pre class="codeexample">entity(d, [prov:type='prov:Dictionary' ]) // d1 is a dictionary, with (so far) unknown content
+
+entity(e1)
+entity(e2)
+
+hadDictionaryMember(d, e1, "k1")
+hadDictionaryMember(d, e2, "k2")
+
+</pre>
+From these descriptions, we conclude:
+<ul>
+<li> <span class="name">d</span> had the following key-entity pairs as members: <span class="name">("k1", e1), ("k2", e2)</span>, and may have contained others.</li>
+</ul>
+<p> Thus, the membership of <span class="name">d</span> is only partially known, unless it was derived through insertions and removals from an empty dictionary (See <a href="#insertion-removal-membership-inference_text">Completeness constraints</a>).</p>
+</div>
+
+</section> <!-- end membership -->
+
+
+<section id="term-dictionary-insertion">
+<h3><span class="secno">2.2 </span>Dictionary Insertion</h3>
+
+<span class="glossary-ref"></span>
+
+<div class="attributes" id="attributes-derivedByInsertionFrom">
+<p>An <dfn title="derivedByInsertionFrom" id="dfn-derivedbyinsertionfrom" class="internalDFN">Insertion</dfn><sup><a class="internalDFN" href="#dfn-derivedbyinsertionfrom"><span class="diamond"> ◊</span></a></sup> relation<span class="withPn">, written <span class="pnExpression">derivedByInsertionFrom(id; d2, d1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</span>,</span> has:</p>
+<ul>
+<li><span class="attribute" id="insertion.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
+<li><span class="attribute" id="insertion.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> insertion; </li>
+<li><span class="attribute" id="insertion.before">before</span>: an identifier (<span class="name">d1</span>) for the dictionary <em>before</em> insertion;</li>
+<li><span class="attribute" id="insertion.key-entity-set">key-entity-set</span>: all inserted key-entity pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span>. Here, each <span class="name">key_i</span> is a <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-value">value</a>, and <span class="name">e_i</span> is an identifier for the entity that has been inserted with the key;
+ each <span class="name">key_i</span> is expected to be unique for the key-entity-set, as formalized in <a href="#key-single-entity-inference">Inference D2</a>;
+</li>
+<li><span class="attribute" id="insertion.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+</div>
+
+<p>
+An Insertion relation <span class="name">derivedByInsertionFrom(id; d2, d1, {(key_1, e_1), ..., (key_n, e_n)})</span> states that <span class="name">d2</span> is the dictionary
+following the insertion of pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span> into dictionary <span class="name">d1</span>.
+Note that insertion and the specified key-entity-set are considered to be complete. This means that we assume that no unknown keys were inserted in or removed from a dictionary after an insertion. This is formalized in <a href="#insertion-removal-membership-inference">Inference D7</a>.</p>
+
+
+
+<div class="anexample" id="example_3"><div class="anexampleTitle">Example 3<sup><a class="internalDFN" href="#example_3"><span class="diamond"> ◊</span></a></sup></div>
+<pre class="codeexample">entity(d0, [prov:type='prov:EmptyDictionary' ]) // d0 is an empty dictionary
+entity(e1)
+entity(e2)
+entity(e3)
+entity(d1, [prov:type='prov:Dictionary' ])
+entity(d2, [prov:type='prov:Dictionary' ])
+
+derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)})
+derivedByInsertionFrom(d2, d1, {("k3", e3)}, [ dcterms:description ="A second insertion" ]) //an insertion with optional attribute dcterms:description
+</pre>
+From this set of descriptions, we conclude:
+<ul>
+<li> <span class="name">d0</span> was the dictionary <span class="name">{ }</span> </li>
+<li> <span class="name">d1</span> was the dictionary <span class="name">{ ("k1", e1), ("k2", e2) }</span> </li>
+<li> <span class="name">d2</span> was the dictionary <span class="name">{ ("k1", e1), ("k2", e2), ("k3", e3) }</span> </li>
+</ul>
+</div>
+<p>Futhermore, insertion provides an "update semantics" for the keys that are already present in a dictionary,
+since a new pair replaces an existing pair with the same key in the new dictionary. This is illustrated by the following example.</p>
+
+<div class="anexample" id="example_4"><div class="anexampleTitle">Example 4<sup><a class="internalDFN" href="#example_4"><span class="diamond"> ◊</span></a></sup></div>
+<pre class="codeexample">entity(d0, [prov:type='prov:EmptyDictionary' ]) // d0 is an empty dictionary
+entity(e1)
+entity(e2)
+entity(e3)
+entity(d1, [prov:type='prov:Dictionary' ])
+entity(d2, [prov:type='prov:Dictionary' ])
+
+derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)})
+derivedByInsertionFrom(d2, d1, {("k1", e3)})
+</pre>
+ This is a case of <em>update</em> of <span class="name">e1</span> to <span class="name">e3</span> for the same key, <span class="name">"k1"</span>. <br>
+ From this set of descriptions, we conclude:
+<ul>
+<li> <span class="name">d0</span> was the dictionary <span class="name">{ }</span> </li>
+<li> <span class="name">d1</span> was the dictionary <span class="name">{ ("k1", e1), ("k2", e2) }</span> </li>
+<li> <span class="name">d2</span> was the dictionary <span class="name">{ ("k1", e3), ("k2", e2) }</span> </li>
+</ul>
+</div>
+
+</section> <!-- end insertion -->
+
+
+<section id="term-dictionary-removal">
+<h3><span class="secno">2.3 </span>Dictionary Removal</h3>
+
+<span class="glossary-ref"></span>
+
+
+<div class="attributes" id="attributes-derivedByRemovalFrom">
+<p> A <dfn title="derivedByRemovalFrom" id="dfn-derivedbyremovalfrom" class="internalDFN">Removal</dfn><sup><a class="internalDFN" href="#dfn-derivedbyremovalfrom"><span class="diamond"> ◊</span></a></sup> relation, written <span class="pnExpression">derivedByRemovalFrom(id; d2, d1, {key_1, ... key_n}, attrs)</span>, has:</p>
+<ul>
+<li><span class="attribute" id="removal.id">id</span>: an <em class="rfc2119" title="optional">optional</em> identifier identifying the relation;</li>
+<li><span class="attribute" id="removal.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> the deletion; </li>
+<li><span class="attribute" id="removal.before">before</span>: an identifier (<span class="name">d1</span>) for the dictionary <em>before</em> the deletion;</li>
+<li><span class="attribute" id="removal.key-set">key-set</span>: the set of deleted keys <span class="name">key_1</span>, ..., <span class="name">key_n</span>. Here, each <span class="name">key_i</span> is a <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-value">value</a>;</li>
+<li><span class="attribute" id="removal.attributes">attributes</span>: an <em class="rfc2119" title="optional">optional</em> set (<span class="name">attrs</span>) of attribute-value pairs representing additional information about this relation.</li>
+</ul>
+</div>
+
+<p>A Removal relation <span class="name">derivedByRemovalFrom(id; d2,d1, {key_1, ..., key_n})</span> states that <span class="name">d2</span> is the dictionary following the removal of the set of pairs corresponding to keys <span class="name">key_1...key_n</span> from <span class="name">d1</span>. If a key that is not present in the dictionary is removed, the dictionary remains unchanged.
+ Note that removal and the specified key-set are considered to be complete. This means that we assume that no unknown keys were inserted in or removed from a dictionary after a removal. This is formalized in <a href="#insertion-removal-membership-inference">Inference D7</a>.
+</p>
+
+<div class="anexample" id="example_5"><div class="anexampleTitle">Example 5<sup><a class="internalDFN" href="#example_5"><span class="diamond"> ◊</span></a></sup></div>
+<pre class="codeexample">entity(d0, [prov:type="prov:EmptyDictionary"]) // d0 is an empty dictionary
+entity(e1)
+entity(e2)
+entity(e3)
+entity(d1, [prov:type="prov:Dictionary"])
+entity(d2, [prov:type="prov:Dictionary"])
+entity(d3, [prov:type="prov:Dictionary"])
+entity(d4, [prov:type="prov:Dictionary"])
+
+derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2",e2)})
+derivedByInsertionFrom(d2, d1, {("k3", e3)})
+derivedByRemovalFrom(d3, d2, {"k1", "k3"})
+derivedByRemovalFrom(d4, d3, {"k1"})
+</pre>
+From this set of descriptions, we conclude:
+<ul>
+<li><span class="name">d0</span> was the dictionary <span class="name">{ }</span> </li>
+<li><span class="name">d1</span> was the dictionary <span class="name">{ ("k1", e1), ("k2", e2) }</span> </li>
+<li><span class="name">d2</span> was the dictionary <span class="name">{ ("k1", e1), ("k2", e2), ("k3", e3) }</span> </li>
+<li><span class="name">d3</span> was the dictionary <span class="name">{ ("k2", e2) }</span> </li>
+<li><span class="name">d4</span> was the dictionary <span class="name">{ ("k2", e2) }</span> </li>
+</ul>
+Note that "k1" was not present in d3, and thus its removal to obtain d4 did not change the contents of the dictionary.
+</div>
+
+</section> <!-- end removal -->
+
+</section> <!-- end conceptual definition dictionary -->
+
+<section id="dictionary-notation">
+<!--OddPage--><h2><span class="secno">3. </span>PROV-N Notation of Dictionary Concepts</h2>
+The notation used for dictionaries in this document extends the standard PROV-N according to the principles described in <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#extensibility">the PROV-N extensibility chapter</a>.
+However, because dictionaries are defined in the same namespace as the rest of PROV-N, the terms in this document do not have a non-empty prefix. For the remainder of this document, we will assume that the default namespace http://www.w3.org/ns/prov# is used, and thus, no prefix is specified for the terms associated with dictionaries.
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">Note that the use of a non-empty prefix for extensions of PROV-N is technically not valid. The terms used in this document can be made valid by the addition of a prefix "prov:" to all PROV-Dictionary terms. However, this would greatly reduce the readability of this document.
+ The Working Group is currently discussing how to address this issue before the next Working Draft of this document.</div></div>
+The [<a href="http://dvcs.w3.org/hg/prov/raw-file/default/dictionary/prov-dictionary-grammar.txt">Grammar for PROV-Dictionary</a>] is available for download.
+
+<section id="expression-dictionary">
+ <h3><span class="secno">3.1 </span>Dictionary and EmptyDictionary Expression</h3>
+ PROV-Dictionary provides no dedicated syntax for Collection and EmptyCollection. Dictionaries are declared in <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#expression-collection">the same way</a> as Collections. A Dictionary or an EmptyDictionary <em class="rfc2119" title="must">must</em> be expressed as an
+<code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-entityExpression">entityExpression</a></code> with attribute
+<span id="provn-type-Dictionary"><code>prov:type='prov:Dictionary'</code></span>, or
+<span id="provn-type-EmptyDictionary"><code>prov:type='prov:EmptyDictionary'</code></span>, respectively.
+<div class="anexample" id="example_6"><div class="anexampleTitle">Example 6<sup><a class="internalDFN" href="#example_6"><span class="diamond"> ◊</span></a></sup></div>
+<p>The following two expressions are about a dictionary and an empty dictionary, respectively.
+</p><pre class="codeexample"> entity(ex:d1, [ prov:type='prov:Dictionary' ])
+ entity(ex:d2, [ prov:type='prov:EmptyDictionary' ])
+</pre>
+</div>
+</section>
+<section id="expression-dictionary-membership">
+<h3><span class="secno">3.2 </span>Membership</h3>
+
+<div class="grammar">
+ <span class="nonterminal">membershipExpression</span> ::=
+<span class="name">hadDictionaryMember</span>
+ <span class="name">(</span>
+<span class="nonterminal">dIdentifier</span>
+ <span class="name">,</span>
+ <span class="nonterminal">eIdentifier</span>
+ <span class="name">,</span>
+ <span class="nonterminal">key</span>
+ <span class="name">)</span>
+ <br>
+</div>
+
+<p>The following table summarizes how each constituent of a PROV-DM Membership maps to a non-terminal.</p>
+
+<div style="text-align: left; ">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<tbody><tr><td><b>Dictionary Membership</b></td><td><b>Non-Terminal</b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr><td><a href="#term-dictionary-membership"><span class="attribute" id="provn-membership-d.dictionary">dictionary</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-dIdentifier">dIdentifier</a></code></td></tr>
+
+<tr><td><a href="#term-dictionary-membership"><span class="attribute" id="provn-membership-d.entity">entity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></code></td></tr>
+
+<tr><td><a href="#term-dictionary-membership"><span class="attribute" id="provn-membership-d.key">key</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-key">key</a></code></td></tr>
+
+</tbody></table>
+</div>
+
+
+
+<div class="anexample" id="example_7"><div class="anexampleTitle">Example 7<sup><a class="internalDFN" href="#example_7"><span class="diamond"> ◊</span></a></sup></div>
+ <p>In this example, d is a dictionary known to have <span class="name">e0</span> as member, and may have other members.</p>
+<pre class="codeexample">entity(e0)
+
+entity(d, [prov:type='prov:Dictionary' ])
+hadDictionaryMember(d, e0, "k0")
+</pre>
+</div>
+
+</section> <!-- membership -->
+<section id="expression-dictionary-insertion">
+<h3><span class="secno">3.3 </span>Insertion</h3>
+<div class="grammar">
+ <span class="nonterminal">derivationByInsertionFromExpression</span> ::=
+<span class="name">derivedByInsertionFrom</span>
+ <span class="name">(</span>
+ <span class="optional"><span class="nonterminal">optionalIdentifier</span>
+ <span class="name">;</span></span>
+<span class="nonterminal">dIdentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">dIdentifier</span>
+ <span class="name">,</span>
+ <span class="name">{</span>
+ <span class="nonterminal">keyValuePairs</span>
+ <span class="name">}</span>
+ <span class="name">,</span>
+<span class="nonterminal">optionalAttributeValuePairs</span>
+ <span class="name">)</span>
+</div>
+
+
+<p>The following table summarizes how each constituent of a PROV-Dictionary Insertion maps to a non-terminal.</p>
+<div style="text-align: left; ">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<tbody><tr><td><b>Insertion</b></td><td><b>Non-Terminal</b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr><td><a href="#term-dictionary-insertion"><span class="attribute" id="provn-insertion.id">id</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-optionalIdentifier">optionalIdentifier</a></code></td></tr>
+
+<tr><td><a href="#term-dictionary-insertion"><span class="attribute" id="provn-insertion.after">after</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-dIdentifier">dIdentifier</a></code></td></tr>
+
+<tr><td><a href="#term-dictionary-insertion"><span class="attribute" id="provn-insertion.before">before</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-dIdentifier">dIdentifier</a></code></td></tr>
+
+
+<tr><td><a href="#term-dictionary-insertion"><span class="attribute" id="provn-insertion.key-value-pairs">key-value-pairs</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-keyValuePairs">keyValuePairs</a></code></td></tr>
+
+<tr><td><a href="#term-dictionary-insertion"><span class="attribute" id="provn-insertion.attributes">attributes</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-optionalAttributeValuePairs">optionalAttributeValuePairs</a></code></td></tr>
+</tbody></table>
+</div>
+
+
+<div class="anexample" id="example_8"><div class="anexampleTitle">Example 8<sup><a class="internalDFN" href="#example_8"><span class="diamond"> ◊</span></a></sup></div>
+ <pre class="codeexample"> derivedByInsertionFrom(id; d1, d, {("k1", e1), ("k2", e2)}, [])
+ </pre>
+<p> Here
+ <span class="name">id</span> is the optional insertion identifier,
+ <span class="name">d1</span> is the identifier for the dictionary after the insertion,
+ <span class="name">d</span> is the identifier for the dictionary before the insertion,
+ <span class="name"> {("k1", e1), ("k2", e2)}</span> is the set of key-entity pairs that have been inserted in
+ <span class="name">d</span>,
+ and <span class="name">[]</span> is the optional (empty) set of attributes. </p>
+The remaining examples show cases where some of the optionals are omitted.
+
+ <pre class="codeexample"> derivedByInsertionFrom(d1, d, {("k1", e1), ("k2", e2)})
+ derivedByInsertionFrom(d1, d, {("k1", e1)})
+ derivedByInsertionFrom(d1, d, {("k1", e1), ("k2", e2)}, [])
+</pre>
+</div>
+
+
+</section> <!-- Insertion -->
+<section id="expression-dictionary-removal">
+ <h3><span class="secno">3.4 </span>Removal</h3>
+<div class="grammar">
+ <span class="nonterminal">derivationByRemovalFromExpression</span> ::=
+<span class="name">derivedByRemovalFrom</span>
+ <span class="name">(</span>
+ <span class="optional"><span class="nonterminal">optionalIdentifier</span>
+ <span class="name">;</span></span>
+<span class="nonterminal">dIdentifier</span>
+ <span class="name">,</span>
+<span class="nonterminal">dIdentifier</span>
+ <span class="name">,</span>
+ <span class="name">{</span>
+ <span class="nonterminal">keySet</span>
+ <span class="name">}</span>
+ <span class="name">,</span>
+<span class="nonterminal">optionalAttributeValuePairs</span>
+ <span class="name">)</span>
+ <br>
+</div>
+
+<p>The following table summarizes how each constituent of a PROV-Dictionary Removal maps to a non-terminal.</p>
+<div style="text-align: left; ">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<tbody><tr><td><b>Removal</b></td><td><b>Non-Terminal</b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr><td><a href="#term-dictionary-removal"><span class="attribute" id="provn-removal.id">id</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-optionalIdentifier">optionalIdentifier</a></code></td></tr>
+
+<tr><td><a href="#term-dictionary-removal"><span class="attribute" id="provn-removal.after">after</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-dIdentifier">dIdentifier</a></code></td></tr>
+
+<tr><td><a href="#term-dictionary-removal"><span class="attribute" id="provn-removal.before">before</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-dIdentifier">dIdentifier</a></code></td></tr>
+
+
+<tr><td><a href="#term-dictionary-removal"><span class="attribute" id="provn-removal.key-set">key-set</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-keySet">keySet</a></code></td></tr>
+
+<tr><td><a href="#term-dictionary-removal"><span class="attribute" id="provn-removal.attributes">attributes</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-optionalAttributeValuePairs">optionalAttributeValuePairs</a></code></td></tr>
+</tbody></table>
+</div>
+
+
+
+
+<div class="anexample" id="example_9"><div class="anexampleTitle">Example 9<sup><a class="internalDFN" href="#example_9"><span class="diamond"> ◊</span></a></sup></div>
+ <pre class="codeexample"> derivedByRemovalFrom(id; d3, d, {"k1", "k2"}, [])
+ </pre>
+<p> Here
+ <span class="name">id</span> is the optional removal identifier,
+ <span class="name">d1</span> is the identifier for the collection after the removal,
+ <span class="name">d</span> is the identifier for the collection before the removal,
+ <span class="name"> {"k1", "k2"}</span> is the set of keys that have been removed from
+ <span class="name">d</span>,
+ and <span class="name">[]</span> is the optional (empty) set of attributes. </p>
+ The remaining examples show cases where some of the optionals are omitted.
+
+ <pre class="codeexample"> derivedByRemovalFrom(d2, d, {"k1", "k2"})
+ derivedByRemovalFrom(d2, d, {"k1"})
+ derivedByRemovalFrom(d2, d, {"k1", "k2"}, [])
+</pre>
+ </div>
+
+
+</section> <!-- removal -->
+
+<section id="expression-dictionary-other">
+ <h3><span class="secno">3.5 </span>Other expressions</h3>
+ For the notation of dictionaries, we used some new non-terminals. We provide their production rules here.
+
+<div class="grammar">
+<p id="prod-dIdentifier"><span class="nonterminal">dIdentifier</span> ::=
+ <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-identifier" class="nonterminal">identifier</a> </p>
+
+<p id="prod-key"><span class="nonterminal">key</span> ::=
+ <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-literal" class="nonterminal">literal</a> </p>
+
+ <p id="prod-keyValuePairs"><span class="nonterminal">keyValuePairs</span> ::=
+ <a href="#prod-keyValuePair" class="nonterminal">keyValuePair</a> <span class="star"><span class="name">,</span> <a href="#prod-keyValuePair" class="nonterminal">keyValuePair</a></span> </p>
+
+ <p id="prod-keyValuePair"><span class="nonterminal">keyValuePair</span> ::=
+ <span class="name">(</span> <a href="#prod-key" class="nonterminal">key</a> <span class="name">,</span> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier" class="nonterminal">eIdentifier</a> <span class="name">)</span> </p>
+
+ <p id="prod-keySet"><span class="nonterminal">keySet</span> ::=
+ <a href="#prod-key" class="nonterminal">key</a> <span class="star"><span class="name">,</span> <a href="#prod-key" class="nonterminal">key</a></span> </p>
+
+</div>
+</section> <!-- other -->
+
+</section>
+
+<section id="dictionary-ontological-definition">
+<!--OddPage--><h2><span class="secno">4. </span>PROV-O Representation of Dictionary</h2>
+<p>In this section, the ontological definition of <code>prov:Dictionary</code> is given, in order to extend [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>] with dictionaries. For more information on the terminology, syntax and conventions used in this section, we refer to [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>].</p>
+<p>The classes and properties defined in this document will be included in the default namespace of PROV.
+ Users of the ontology have the option of importing <code><http://www.w3.org/ns/prov#></code>, which includes all extensions, including PROV-Dictionary, or if they wish to have only [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>] terms, they can import <code><http://www.w3.org/ns/prov-o#></code>. Similarly, <code><http://www.w3.org/ns/prov-dictionary#></code> holds only the PROV-Dictionary terms.
+The [<a href="https://dvcs.w3.org/hg/prov/raw-file/default/dictionary/prov-dictionary.owl">OWL file for PROV-Dictionary</a>] is available for download. (Note that this file is unfinished at the time of this working draft, and may be subject to change.)</p>
+
+ <p> A <code><a class="qname" href="#Dictionary">prov:Dictionary</a></code> is a <code class="repeated">prov:Entity</code> that acts as a container to some members,
+which are themselves entities.
+Specifically, a dictionary is composed of set of key-value pairs, where a
+literal key is used to identify a constituent entity within the dictionary.
+
+
+</p>
+<div about="#narrative-example-dictionaries-1" typeof="prov:Entity" class="exampleOuter" xmlns:prov="http://www.w3.org/ns/prov#">
+ <div class="example"><div class="example-title"><span>Example 1</span></div><pre class="example">@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix : <http://example.org/> .
+
+:e1 a prov:Entity .
+:e2 a prov:Entity .
+
+:d1 a prov:Dictionary;
+ prov:hadDictionaryMember [
+ a prov:KeyValuePair;
+ prov:pairKey "k1"^^xsd:string;
+ prov:pairValue :e1
+ ], [
+ a prov:KeyValuePair;
+ prov:pairKey "k2"^^xsd:string;
+ prov:pairValue :e2
+ ];
+.</pre></div>
+</div>
+
+<p>It is worth noting that <code>:d1</code> <em class="rfc2119" title="may">may</em> also
+have other members. If one wants to explicitly state that a dictionary has no members, that dictionary can be described as an instance of the
+subclass <a class="qname" href="#EmptyDictionary"><code>prov:EmptyDictionary</code></a>.
+</p>
+
+ <p> To describe the provenance of a dictionary, PROV-Dictionary provides two
+kinds of influence: <code><a class="qname" href="#qualifiedInsertion">prov:qualifiedInsertion</a></code> is used to
+describe that a dictionary was obtained from an existing dictionary by
+<a href="#term-dictionary-insertion">inserting</a> a set of key-value pairs. <code><a class="qname" href="#qualifiedRemoval">prov:qualifiedRemoval</a></code> is used to specify
+that a given dictionary was obtained from an existing dictionary by
+ <a href="#term-dictionary-removal">removing</a> a set of key-value pairs. The example below specifies that
+the dictionary <code>:d1</code> was obtained from the empty dictionary
+<code>:d</code> by <em>inserting</em> the key-value pairs <code>("k1",
+:e1)</code> and <code>("k2", :e2)</code>.
+</p>
+
+<div about="#narrative-example-dictionaries-2" typeof="prov:Entity" class="exampleOuter" xmlns:prov="http://www.w3.org/ns/prov#">
+<div class="example"><div class="example-title"><span>Example 2</span></div><pre class="example">@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix : <http://example.org/> .
+
+:e1 a prov:Entity .
+:e2 a prov:Entity .
+
+:d a prov:EmptyDictionary .
+
+:d1 a prov:Dictionary;
+ prov:derivedByInsertionFrom :d;
+ prov:qualifiedInsertion [
+ a prov:Insertion;
+ prov:dictionary :d;
+ prov:insertedKeyValuePair [
+ a prov:KeyValuePair;
+ prov:pairKey "k1"^^xsd:string;
+ prov:pairValue :e1;
+ ], [
+ a prov:KeyValuePair;
+ prov:pairKey "k2"^^xsd:string;
+ prov:pairValue :e2;
+ ];
+ ];
+. </pre></div>
+</div>
+
+
+ <p>
+ Similarly, the example below specifies that the dictionary
+ <code>:d3</code> was obtained by <em>removing</em> the key-value pairs associated with
+ the keys <code>"k1"</code> and <code>"k2"</code> from the dictionary
+ <code>:d2</code>. Thus, <code>:d3</code> does not contain the
+ members <code>("k1", :e1)</code> and <code>("k2",
+ :e2)</code> from <code>:d2</code>.
+ </p>
+
+<div about="#narrative-example-dictionaries-3" typeof="prov:Entity" class="exampleOuter" xmlns:prov="http://www.w3.org/ns/prov#">
+ <div class="example"><div class="example-title"><span>Example 3</span></div><pre class="example">@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix : <http://example.org/> .
+
+:d2 a prov:Dictionary .
+
+:d3 a prov:Dictionary;
+ prov:derivedByRemovalFrom :d2;
+ prov:qualifiedRemoval [
+ a prov:Removal;
+ prov:dictionary :d2;
+ prov:removedKey "k1"^^xsd:string,
+ "k3"^^xsd:string;
+ ];
+.</pre></div>
+</div>
+<section id="prov-dictionary-owl-terms-at-a-glance">
+ <h3><span class="secno">4.1 </span>Overview</h3>
+ <p>These terms are used to describe the provenance of dictionaries.</p>
+
+ <ul class="hlist">
+ <li>
+ <a href="#Dictionary">prov:Dictionary</a>
+ </li>
+ <li>
+ <a href="#EmptyDictionary">prov:EmptyDictionary</a>
+ </li>
+ <li>
+ <a href="#Insertion">prov:Insertion</a>
+ </li>
+ <li>
+ <a href="#KeyValuePair">prov:KeyValuePair</a>
+ </li>
+ <li>
+ <a href="#Removal">prov:Removal</a>
+ </li>
+ <li class="object-property">
+ <a href="#derivedByInsertionFrom">prov:derivedByInsertionFrom</a>
+ </li>
+ <li class="object-property">
+ <a href="#derivedByRemovalFrom">prov:derivedByRemovalFrom</a>
+ </li>
+ <li class="object-property">
+ <a href="#dictionary">prov:dictionary</a>
+ </li>
+ <li class="object-property">
+ <a href="#insertedKeyValuePair">prov:insertedKeyValuePair</a>
+ </li>
+ <li class="object-property">
+ <a href="#hadDictionaryMember">prov:hadDictionaryMember</a>
+ </li>
+ <li class="datatype-property">
+ <a href="#pairKey">prov:pairKey</a>
+ </li>
+ <li class="object-property">
+ <a href="#pairValue">prov:pairValue</a>
+ </li>
+ <li class="object-property">
+ <a href="#qualifiedInsertion">prov:qualifiedInsertion</a>
+ </li>
+ <li class="object-property">
+ <a href="#qualifiedRemoval">prov:qualifiedRemoval</a>
+ </li>
+ <li class="datatype-property">
+ <a href="#removedKey">prov:removedKey</a>
+ </li>
+ </ul>
+ </section>
+
+<section id="Classes">
+ <h3><span class="secno">4.2 </span>Dictionary Classes</h3>
+ <div id="Dictionary" class="entity">
+ <h3 id="class-prov-dictionary-back-to-overview">
+ Class: <a href="#Dictionary"><span class="dotted" title="http://www.w3.org/ns/prov#Dictionary">prov:Dictionary</span></a>
+ <span class="backlink">
+ back to <a href="#prov-dictionary-owl-terms-at-a-glance">overview</a>
+ </span>
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#Dictionary</p>
+ <div class="definition"><p>A dictionary is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be member of the dictionary.</p>
+ </div>
+
+ <div about="#example-for-class-Dictionary" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#Dictionary"></span>
+ <strong>Example</strong>
+ <pre>@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix my: <http://example.org/ontology#> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+@prefix : <http://example.org/> .
+
+:seating_chart_2012
+ a prov:Dictionary, prov:Collection, prov:Entity, my:SeatingChart;
+ prov:derivedByInsertionFrom :seating_chart_2011;
+ dcterms:date "2012";
+ my:hasTotalStudents 45;
+.
+</pre>
+ </div>
+
+ <dl class="description">
+ <dd class="comment"><p>This concept allows for the provenance of the dictionary, but also of its constituents to be expressed. Such a notion of dictionary corresponds to a wide variety of concrete data structures, such as a maps or associative arrays.</p>
+ </dd>
+ <dd class="comment"><p>A given dictionary forms a given structure for its members. A different structure (obtained either by insertion or removal of members) constitutes a different dictionary.</p>
+ </dd>
+
+ <dt>is subclass of</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#Collection" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#Collection" class="owlclass">prov:Collection</a>
+ </dd>
+
+ <dt>described with properties</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#hadDictionaryMember" href="#hadDictionaryMember">prov:hadDictionaryMember</a><sup class="type-op" title="object property">op</sup>
+ <a title="http://www.w3.org/ns/prov#derivedByInsertionFrom" href="#derivedByInsertionFrom">prov:derivedByInsertionFrom</a><sup class="type-op" title="object property">op</sup>
+ <a title="http://www.w3.org/ns/prov#qualifiedRemoval" href="#qualifiedRemoval">prov:qualifiedRemoval</a><sup class="type-op" title="object property">op</sup>
+ <a title="http://www.w3.org/ns/prov#qualifiedInsertion" href="#qualifiedInsertion">prov:qualifiedInsertion</a><sup class="type-op" title="object property">op</sup>
+ <a title="http://www.w3.org/ns/prov#derivedByRemovalFrom" href="#derivedByRemovalFrom">prov:derivedByRemovalFrom</a><sup class="type-op" title="object property">op</sup>
+ </dd>
+
+ <dt>in range of</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#derivedByInsertionFrom" href="#derivedByInsertionFrom">prov:derivedByInsertionFrom</a><sup class="type-op" title="object property">op</sup>
+ <a title="http://www.w3.org/ns/prov#derivedByRemovalFrom" href="#derivedByRemovalFrom">prov:derivedByRemovalFrom</a><sup class="type-op" title="object property">op</sup>
+ <a title="http://www.w3.org/ns/prov#dictionary" href="#dictionary">prov:dictionary</a><sup class="type-op" title="object property">op</sup>
+ </dd>
+
+ <dt>has subclass</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#EmptyDictionary" href="#EmptyDictionary" class="owlclass">prov:EmptyDictionary</a>
+ </dd>
+ </dl>
+ </div>
+
+ <div id="EmptyDictionary" class="entity">
+ <h3 id="class-prov-emptydictionary-back-to-overview">
+ Class: <a href="#EmptyDictionary"><span class="dotted" title="http://www.w3.org/ns/prov#EmptyDictionary">prov:EmptyDictionary</span></a>
+ <span class="backlink">
+ back to <a href="#prov-dictionary-owl-terms-at-a-glance">overview</a>
+ </span>
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#EmptyDictionary</p>
+
+ <div about="#example-for-class-EmptyDictionary" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#EmptyDictionary"></span>
+ <strong>Example</strong>
+ <pre>@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix : <http://example.org/> .
+
+:e1 a prov:Entity .
+:e2 a prov:Entity .
+
+:d a prov:EmptyDictionary
+.</pre>
+ </div>
+
+ <dl class="description">
+ <dd class="comment"><p>An empty dictionary (i.e. has no members).</p>
+ </dd>
+
+ <dt>is subclass of</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#Dictionary" href="#Dictionary" class="owlclass">prov:Dictionary</a>
+ <a title="http://www.w3.org/ns/prov#EmptyCollection" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#EmptyCollection" class="owlclass">prov:EmptyCollection</a>
+ </dd>
+ </dl>
+ </div>
+
+ <div id="Insertion" class="entity">
+ <h3 id="class-prov-insertion-back-to-overview">
+ Class: <a href="#Insertion"><span class="dotted" title="http://www.w3.org/ns/prov#Insertion">prov:Insertion</span></a>
+ <span class="backlink">
+ back to <a href="#prov-dictionary-owl-terms-at-a-glance">overview</a>
+ </span>
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#Insertion</p>
+ <div class="definition"><p>Insertion is a derivation that transforms a dictionary into another, by insertion of one or more key-value pairs.</p>
+ </div>
+
+ <div about="#example-for-class-Insertion" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#Insertion"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/class_Insertion.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+:our-NEW-baseball-team-field-positions
+ a prov:Dictionary,
+ :FieldPositions;
+ prov:derivedByInsertionFrom :our-old-baseball-team-field-positions;
+ prov:qualifiedInsertion [
+ a prov:Insertion;
+ prov:dictionary :our-old-baseball-team-field-positions;
+ prov:insertedKeyValuePair [
+ a prov:KeyValuePair;
+ prov:pairKey "first-baseman"^^xsd:string;
+ prov:pairValue <http://dbpedia.org/resource/Jim_Thorpe>;
+ ];
+ ];
+.
+
+<http://dbpedia.org/resource/Jim_Thorpe> a prov:Entity .
+
+:our-old-baseball-team-field-positions a prov:Dictionary .
+</pre>
+ </div>
+
+ <dl class="description">
+ <dd class="comment"><p>Insertion is a derivation that transforms a dictionary into another, by insertion of one or more key-value pairs.</p>
+ </dd>
+
+ <dt>is subclass of</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#Derivation" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#Derivation" class="owlclass">prov:Derivation</a>
+ </dd>
+ <dt>described with properties</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#dictionary" href="#dictionary" class="owlclass">prov:dictionary</a>
+ <a title="http://www.w3.org/ns/prov#insertedKeyValuePair" href="#insertedKeyValuePair" class="owlclass">prov:insertedKeyValuePair</a>
+ </dd>
+
+ <dt>in range of</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#qualifiedInsertion" href="#qualifiedInsertion">prov:qualifiedInsertion</a><sup class="type-op" title="object property">op</sup>
+ </dd>
+
+ <dt>qualifies</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#derivedByInsertionFrom" href="#derivedByInsertionFrom" class="owlproperty">prov:derivedByInsertionFrom</a>
+ </dd>
+ </dl>
+ </div>
+
+ <div id="KeyValuePair" class="entity">
+ <h3 id="class-prov-keyvaluepair-back-to-overview">
+ Class: <a href="#KeyValuePair"><span class="dotted" title="http://www.w3.org/ns/prov#KeyValuePair">prov:KeyValuePair</span></a>
+ <span class="backlink">
+ back to <a href="#prov-dictionary-owl-terms-at-a-glance">overview</a>
+ </span>
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#KeyValuePair</p>
+
+ <div about="#example-for-class-KeyValuePair" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#KeyValuePair"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/class_KeyValuePair.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+
+:our-baseball-team-field-positions
+ a prov:Dictionary,
+ :FieldPositions;
+ prov:hadDictionaryMember [
+ a prov:KeyValuePair;
+ prov:pairKey "first-baseman"^^xsd:string;
+ prov:pairValue :george;
+ ];
+ prov:hadDictionaryMember [
+ a prov:KeyValuePair;
+ prov:pairKey "pitcher"^^xsd:string;
+ prov:pairValue :carl;
+ ];
+.
+
+:george a prov:Entity .
+:carl a prov:Entity .
+</pre>
+ </div>
+
+ <dl class="description">
+ <dd class="comment"><p>A key-value pair. Part of a prov:Dictionary through prov:hadDictionaryMember. The key is any RDF Literal, the value is a prov:Entity.</p>
+ </dd>
+
+ <dt>described with properties</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#pairKey" href="#pairKey">prov:pairKey</a><sup class="type-dp" title="data property">dp</sup>
+ <a title="http://www.w3.org/ns/prov#pairValue" href="#pairValue">prov:pairValue</a><sup class="type-op" title="object property">op</sup>
+ </dd>
+
+ <dt>in range of</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#hadDictionaryMember" href="#hadDictionaryMember">prov:hadDictionaryMember</a><sup class="type-op" title="object property">op</sup>
+ <a title="http://www.w3.org/ns/prov#insertedKeyValuePair" href="#insertedKeyValuePair">prov:insertedKeyValuePair</a><sup class="type-op" title="object property">op</sup>
+ </dd>
+ </dl>
+ </div>
+
+ <div id="Removal" class="entity">
+ <h3 id="class-prov-removal-back-to-overview">
+ Class: <a href="#Removal"><span class="dotted" title="http://www.w3.org/ns/prov#Removal">prov:Removal</span></a>
+ <span class="backlink">
+ back to <a href="#prov-dictionary-owl-terms-at-a-glance">overview</a>
+ </span>
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#Removal</p>
+ <div class="definition"><p>Removal is a derivation that transforms a dictionary into another, by removing one or more key-value pairs.</p>
+ </div>
+
+ <div about="#example-for-class-Removal" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#Removal"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/class_Removal.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+:d1 a prov:Dictionary .
+
+:d2
+ a prov:Dictionary,
+ prov:Entity;
+ prov:derivedByRemovalFrom :d1;
+ prov:qualifiedRemoval [
+ a prov:Removal, prov:DictionaryInvolvement;
+ prov:dictionary :d1;
+ prov:removedKey "k1"^^xsd:string,
+ "k2"^^xsd:string;
+ ];
+.
+</pre>
+ </div>
+
+ <dl class="description">
+ <dd class="comment"><p>Removal is a derivation that transforms a dictionary into another, by removing one or more key-value pairs specified by <a title="http://www.w3.org/ns/prov#removedKey" href="#removedKey">prov:removedKey</a>.</p>
+ </dd>
+
+ <dt>is subclass of</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#Derivation" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#Derivation" class="owlclass">prov:Derivation</a>
+ </dd>
+
+ <dt>described with properties</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#dictionary" href="#dictionary" class="owlclass">prov:dictionary</a>
+ <a title="http://www.w3.org/ns/prov#removedKey" href="#removedKey">prov:removedKey</a><sup class="type-dp" title="data property">dp</sup>
+ </dd>
+
+ <dt>in range of</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#qualifiedRemoval" href="#qualifiedRemoval">prov:qualifiedRemoval</a><sup class="type-op" title="object property">op</sup>
+ </dd>
+
+ <dt>qualifies</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#derivedByRemovalFrom" href="#derivedByRemovalFrom" class="owlproperty">prov:derivedByRemovalFrom</a>
+ </dd>
+ </dl>
+ </div>
+
+</section>
+<section id="Properties">
+ <h3><span class="secno">4.3 </span>Dictionary Properties</h3>
+<div class="prov-collections owl-properties crossreference" xmlns:prov="http://www.w3.org/ns/prov#">
+ <div id="derivedByInsertionFrom" class="entity">
+ <h3 id="property-prov-derivedbyinsertionfromop">
+ Property: <a href="#derivedByInsertionFrom"><span class="dotted" title="http://www.w3.org/ns/prov#derivedByInsertionFrom">prov:derivedByInsertionFrom</span></a><sup class="type-op" title="object property">op</sup>
+
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#derivedByInsertionFrom</p>
+
+ <div about="#example-for-property-derivedByInsertionFrom" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#derivedByInsertionFrom"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_derivedByInsertionFrom.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+
+:e1 a prov:Entity .
+:e2 a prov:Entity .
+
+:d a prov:EmptyDictionary .
+
+:d1 a prov:Dictionary;
+ prov:derivedByInsertionFrom :d;
+ prov:qualifiedInsertion [
+ a prov:Insertion;
+ prov:dictionary :d;
+ prov:insertedKeyValuePair [
+ a prov:KeyValuePair;
+ prov:pairKey "k1"^^xsd:string;
+ prov:pairValue :e1;
+ ], [
+ a prov:KeyValuePair;
+ prov:pairKey "k2"^^xsd:string;
+ prov:pairValue :e2;
+ ];
+ ];
+. </pre>
+ </div>
+
+ <div class="description">
+ <div class="comment"><p>The dictionary was derived from the other by insertion. prov:qualifiedInsertion shows details of the insertion, in particular the inserted key-value pairs.</p>
+ </div>
+ <dl>
+
+ <dt>has super-properties</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#wasDerivedFrom" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#wasDerivedFrom" class="owlclass">prov:wasDerivedFrom</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Dictionary" href="#Dictionary" class="owlclass">prov:Dictionary</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Dictionary" href="#Dictionary" class="owlclass">prov:Dictionary</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>can be qualified with</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#qualifiedInsertion" href="#qualifiedInsertion" class="owlproperty">prov:qualifiedInsertion</a>
+ </li>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Insertion" href="#Insertion" class="owlclass">prov:Insertion</a>
+ </li>
+ </ul>
+ </dd>
+
+ </dl>
+ </div>
+ </div>
+
+ <div id="derivedByRemovalFrom" class="entity">
+ <h3 id="property-prov-derivedbyremovalfromop">
+ Property: <a href="#derivedByRemovalFrom"><span class="dotted" title="http://www.w3.org/ns/prov#derivedByRemovalFrom">prov:derivedByRemovalFrom</span></a><sup class="type-op" title="object property">op</sup>
+
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#derivedByRemovalFrom</p>
+
+ <div about="#example-for-property-derivedByRemovalFrom" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#derivedByRemovalFrom"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_derivedByRemovalFrom.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+:d1 a prov:Dictionary .
+
+:d2
+ a prov:Dictionary, prov:Entity;
+ prov:derivedByRemovalFrom :d1;
+ prov:qualifiedRemoval [
+ a prov:Removal;
+ prov:dictionary :d1;
+ prov:removedKey "k1"^^xsd:string,
+ "k2"^^xsd:string;
+ ];
+.
+</pre>
+ </div>
+
+ <div class="description">
+ <div class="comment"><p>The dictionary was derived from the other by removal. prov:qualifiedRemoval shows details of the removal, in particular the removed key-value pairs.</p>
+ </div>
+ <dl>
+
+ <dt>has super-properties</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#wasDerivedFrom" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#wasDerivedFrom" class="owlclass">prov:wasDerivedFrom</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Dictionary" href="#Dictionary" class="owlclass">prov:Dictionary</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Dictionary" href="#Dictionary" class="owlclass">prov:Dictionary</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>can be qualified with</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#qualifiedRemoval" href="#qualifiedRemoval" class="owlproperty">prov:qualifiedRemoval</a>
+ </li>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Removal" href="#Removal" class="owlclass">prov:Removal</a>
+ </li>
+ </ul>
+ </dd>
+
+ </dl>
+ </div>
+ </div>
+
+ <div id="dictionary" class="entity">
+ <h3 id="property-prov-dictionaryop">
+ Property: <a href="#dictionary"><span class="dotted" title="http://www.w3.org/ns/prov#dictionary">prov:dictionary</span></a><sup class="type-op" title="object property">op</sup>
+
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#dictionary</p>
+
+ <div about="#example-for-property-dictionary" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#dictionary"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_dictionary.ttl" property="prov:pairValue">@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix : <http://example.org/> .
+
+:e1 a prov:Entity .
+
+:d a prov:EmptyDictionary .
+
+:d1 a prov:Dictionary;
+ prov:derivedByInsertionFrom :d;
+ prov:qualifiedInsertion [
+ a prov:Insertion;
+ prov:dictionary :d;
+ prov:insertedKeyValuePair [
+ a prov:KeyValuePair;
+ prov:pairKey "k1"^^xsd:string;
+ prov:pairValue :e1;
+ ];
+ ];
+.
+</pre>
+ </div>
+
+ <div class="description">
+ <div class="comment"><p>The property used by a prov:Insertion and prov:Removal to cite the prov:Dictionary that was prov:derivedByInsertionFrom or prov:derivedByRemovalFrom another dictionary. </p>
+ </div>
+ <dl>
+
+ <dt>has super-properties</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#entity" href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#entity" class="owlclass">prov:entity</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Insertion" href="#Insertion" class="owlclass">prov:Insertion</a> or
+ <a title="http://www.w3.org/ns/prov#Removal" href="#Removal" class="owlclass">prov:Removal</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Dictionary" href="#Dictionary" class="owlclass">prov:Dictionary</a>
+ </li>
+ </ul>
+ </dd>
+
+ </dl>
+ </div>
+ </div>
+
+ <div id="insertedKeyValuePair" class="entity">
+ <h3 id="property-prov-insertedkeyvaluepairop">
+ Property: <a href="#insertedKeyValuePair"><span class="dotted" title="http://www.w3.org/ns/prov#insertedKeyValuePair">prov:insertedKeyValuePair</span></a><sup class="type-op" title="object property">op</sup>
+
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#insertedKeyValuePair</p>
+
+ <div about="#example-for-property-inserted" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#insertedKeyValuePair"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_inserted.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+:our-NEW-baseball-team-field-positions
+ a prov:Dictionary,
+ :FieldPositions;
+ prov:derivedByInsertionFrom :our-old-baseball-team-field-positions;
+ prov:qualifiedInsertion [
+ a prov:Insertion;
+ prov:dictionary :our-old-baseball-team-field-positions;
+ prov:insertedKeyValuePair [
+ a prov:KeyValuePair;
+ prov:pairKey "first-baseman"^^xsd:string;
+ prov:pairValue <http://dbpedia.org/resource/Jim_Thorpe>;
+ ];
+ ];
+.
+
+<http://dbpedia.org/resource/Jim_Thorpe> a prov:Entity .
+
+:our-old-baseball-team-field-positions a prov:Dictionary .
+</pre>
+ </div>
+
+ <div class="description">
+ <div class="comment"><p>An object property to refer to the prov:KeyValuePair inserted into a prov:Dictionary.</p>
+ </div>
+ <dl>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Insertion" href="#Insertion" class="owlclass">prov:Insertion</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#KeyValuePair" href="#KeyValuePair" class="owlclass">prov:KeyValuePair</a>
+ </li>
+ </ul>
+ </dd>
+
+ </dl>
+ </div>
+ </div>
+
+ <div id="hadDictionaryMember" class="entity">
+ <h3 id="property-prov-haddictionarymemberop">
+ Property: <a href="#hadDictionaryMember"><span class="dotted" title="http://www.w3.org/ns/prov#hadDictionaryMember">prov:hadDictionaryMember</span></a><sup class="type-op" title="object property">op</sup>
+
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#hadDictionaryMember</p>
+
+ <div about="#example-for-property-member" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#hadDictionaryMember"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_member.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+:our-old-baseball-team-field-positions
+ a prov:Dictionary,
+ :FieldPositions;
+ prov:hadDictionaryMember [
+ a prov:KeyValuePair;
+ prov:pairKey "first-baseman"^^xsd:string;
+ prov:pairValue :george;
+ ], [
+ a prov:KeyValuePair;
+ prov:pairKey "pitcher"^^xsd:string;
+ prov:pairValue :carl;
+ ];
+.
+
+:george a prov:Entity .
+:carl a prov:Entity .
+</pre>
+ </div>
+
+ <div class="description">
+ <div class="comment"><p>Describes the key-value pair that was member of a prov:Dictionary. A dictionary can have multiple members.</p>
+ </div>
+ <dl>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Dictionary" href="#Dictionary" class="owlclass">prov:Dictionary</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#KeyValuePair" href="#KeyValuePair" class="owlclass">prov:KeyValuePair</a>
+ </li>
+ </ul>
+ </dd>
+
+ </dl>
+ </div>
+ </div>
+
+
+ <div id="pairKey" class="entity">
+ <h3 id="property-prov-pairkeydp">
+ Property: <a href="#pairKey"><span class="dotted" title="http://www.w3.org/ns/prov#pairKey">prov:pairKey</span></a><sup class="type-dp" title="data property">dp</sup>
+
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#pairKey</p>
+
+ <div about="#example-for-property-key" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#pairKey"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_key.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+:our-old-baseball-team-field-positions
+ a prov:Dictionary,
+ :FieldPositions;
+ prov:hadDictionaryMember [
+ a prov:KeyValuePair;
+ prov:pairKey "first-baseman"^^xsd:string;
+ prov:pairValue :george;
+ ], [
+ a prov:KeyValuePair;
+ prov:pairKey "pitcher"^^xsd:string;
+ prov:pairValue :carl;
+ ];
+.
+
+:george a prov:Entity .
+:carl a prov:Entity .
+</pre>
+ </div>
+
+ <div class="description">
+ <div class="comment"><p>The key of a KeyValuePair, which is an element of a prov:Dictionary.</p>
+ </div>
+ <p><strong>has characteristics</strong> <a href="http://www.w3.org/TR/owl2-syntax/#Functional_Object_Properties"> Functional</a> </p>
+ <dl>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#KeyValuePair" href="#KeyValuePair" class="owlclass">prov:KeyValuePair</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ http://www.w3.org/2000/01/rdf-schema#Literal
+ </li>
+ </ul>
+ </dd>
+
+ </dl>
+ </div>
+ </div>
+
+ <div id="pairValue" class="entity">
+ <h3 id="property-prov-pairvalueop">
+ Property: <a href="#pairValue"><span class="dotted" title="http://www.w3.org/ns/prov#pairValue">prov:pairValue</span></a><sup class="type-op" title="object property">op</sup>
+
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#pairValue</p>
+
+ <div about="#example-for-property-pairValue" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#pairValue"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_value.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+:our-old-baseball-team-field-positions
+ a prov:Dictionary,
+ :FieldPositions;
+ prov:hadDictionaryMember [
+ a prov:KeyValuePair;
+ prov:pairKey "first-baseman"^^xsd:string;
+ prov:pairValue :george;
+ ], [
+ a prov:KeyValuePair;
+ prov:pairKey "pitcher"^^xsd:string;
+ prov:pairValue :carl;
+ ];
+.
+
+:george a prov:Entity .
+:carl a prov:Entity .
+</pre>
+ </div>
+
+ <div class="description">
+ <div class="comment"><p>The value of a KeyValuePair.</p>
+ </div>
+ <p><strong>has characteristics</strong> <a href="http://www.w3.org/TR/owl2-syntax/#Functional_Object_Properties"> Functional</a> </p>
+ <dl>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#KeyValuePair" href="#KeyValuePair" class="owlclass">prov:KeyValuePair</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Entity" href="#Entity" class="owlclass">prov:Entity</a>
+ </li>
+ </ul>
+ </dd>
+
+ </dl>
+ </div>
+ </div>
+
+ <div id="qualifiedInsertion" class="entity">
+ <h3 id="property-prov-qualifiedinsertionop">
+ Property: <a href="#qualifiedInsertion"><span class="dotted" title="http://www.w3.org/ns/prov#qualifiedInsertion">prov:qualifiedInsertion</span></a><sup class="type-op" title="object property">op</sup>
+
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#qualifiedInsertion</p>
+
+ <div about="#example-for-property-qualifiedInsertion" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#qualifiedInsertion"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_qualifiedInsertion.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+:our-NEW-baseball-team-field-positions
+ a prov:Dictionary,
+ :FieldPositions;
+ prov:derivedByInsertionFrom :our-old-baseball-team-field-positions;
+ prov:qualifiedInsertion [
+ a prov:Insertion;
+ prov:dictionary :our-old-baseball-team-field-positions;
+ prov:insertedKeyValuePair [
+ a prov:KeyValuePair;
+ prov:pairKey "first-baseman"^^xsd:string;
+ prov:pairValue <http://dbpedia.org/resource/Jim_Thorpe>;
+ ];
+ ];
+.
+
+<http://dbpedia.org/resource/Jim_Thorpe> a prov:Entity .
+
+:our-old-baseball-team-field-positions
+ a prov:Dictionary,
+ :FieldPositions .
+
+</pre>
+ </div>
+
+ <div class="description">
+ <div class="comment"><p>The dictionary was derived from the other by insertion. prov:qualifiedInsertion shows details of the insertion, in particular the inserted key-value pairs.</p>
+ </div>
+ <dl>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Dictionary" href="#Dictionary" class="owlclass">prov:Dictionary</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Insertion" href="#Insertion" class="owlclass">prov:Insertion</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>qualifies</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#derivedByInsertionFrom" href="#derivedByInsertionFrom" class="owlproperty">prov:derivedByInsertionFrom</a>
+ </dd>
+
+ </dl>
+ </div>
+ </div>
+
+ <div id="qualifiedRemoval" class="entity">
+ <h3 id="property-prov-qualifiedremovalop">
+ Property: <a href="#qualifiedRemoval"><span class="dotted" title="http://www.w3.org/ns/prov#qualifiedRemoval">prov:qualifiedRemoval</span></a><sup class="type-op" title="object property">op</sup>
+
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#qualifiedRemoval</p>
+
+ <div about="#example-for-property-qualifiedRemoval" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#qualifiedRemoval"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_qualifiedRemoval.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+:d1 a prov:Dictionary .
+
+:d2
+ a prov:Dictionary, prov:Entity;
+ prov:derivedByRemovalFrom :d1;
+ prov:qualifiedRemoval [
+ a prov:Removal;
+ prov:dictionary :d1;
+ prov:removedKey "k1"^^xsd:string,
+ "k2"^^xsd:string;
+ ];
+.
+</pre>
+ </div>
+
+ <div class="description">
+ <div class="comment"><p>The dictionary was derived from the other by removal. prov:qualifiedRemoval shows details of the removal, in particular the removed keys.</p>
+ </div>
+ <dl>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Dictionary" href="#Dictionary" class="owlclass">prov:Dictionary</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Removal" href="#Removal" class="owlclass">prov:Removal</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>qualifies</dt>
+ <dd>
+ <a title="http://www.w3.org/ns/prov#derivedByRemovalFrom" href="#derivedByRemovalFrom" class="owlproperty">prov:derivedByRemovalFrom</a>
+ </dd>
+
+ </dl>
+ </div>
+ </div>
+
+ <div id="removedKey" class="entity">
+ <h3 id="property-prov-removedkeydp">
+ Property: <a href="#removedKey"><span class="dotted" title="http://www.w3.org/ns/prov#removedKey">prov:removedKey</span></a><sup class="type-dp" title="data property">dp</sup>
+
+ </h3>
+ <p><strong>IRI:</strong>http://www.w3.org/ns/prov#removedKey</p>
+
+ <div about="#example-for-property-removedKey" typeof="prov:Entity" class="example">
+ <span rel="dcterms:subject" resource="http://www.w3.org/ns/prov#removedKey"></span>
+ <strong>Example</strong>
+ <pre rel="prov:wasQuotedFrom" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_removedKey.ttl" property="prov:pairValue">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix : <http://example.com/> .
+
+:d2
+ a prov:Dictionary,
+ prov:Entity;
+ prov:derivedByRemovalFrom :d1;
+ prov:qualifiedRemoval [
+ a prov:Removal,
+ prov:DictionaryInvolvement;
+ prov:dictionary :d1;
+ prov:removedKey "k1"^^xsd:string,
+ 1337,
+ 3.14;
+ ];
+.
+</pre>
+ </div>
+
+ <div class="description">
+ <div class="comment"><p>The key removed in a Removal.</p>
+ </div>
+ <dl>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a title="http://www.w3.org/ns/prov#Removal" href="#Removal" class="owlclass">prov:Removal</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ http://www.w3.org/2000/01/rdf-schema#Literal
+ </li>
+ </ul>
+ </dd>
+
+ </dl>
+ </div>
+ </div>
+ </div>
+</section>
+
+</section>
+
+<section id="dictionary-xml-schema">
+<!--OddPage--><h2><span class="secno">5. </span>PROV-XML Representation of Dictionary</h2>
+This section details how to describe dictionaries with
+the [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>] serialization. The [<a href="http://dvcs.w3.org/hg/prov/raw-file/default/xml/schema/extensions/prov-dictionary.xsd">XML schema for PROV-Dictionary</a>] is available for download.
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">The Working Group is currently discussing the best way of disseminating the XML Schema for PROV-DM and its extensions. For now, we recommend importing both the [<a href="https://dvcs.w3.org/hg/prov/raw-file/default/xml/prov-xml.html#prov-xml-schema">PROV-XML Schema</a>] and the [<a href="https://dvcs.w3.org/hg/prov/raw-file/default/dictionary/prov-dictionary.xsd">XML schema for PROV-Dictionary</a>].</div></div>
+<section id="term-Dictionary">
+<h3><span class="secno">5.1 </span>Dictionary</h3>
+<div class="glossary-ref"></div>
+<p>To specialize an Entity as a Dictionary, include a <code>prov:type</code> with the value "prov:Dictionary".</p>
+<p>An EmptyDictionary is asserted with the <code>prov:type</code> "prov:EmptyDictionary" and denotes a Dictionary with no members.</p>
+<div class="example"><div class="example-title"><span>Example 4</span></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#">
+
+ <!-- d0 is an empty dictionary -->
+ <b><prov:entity prov:id="d0">
+ <prov:type xsi:type="xsd:QName">prov:EmptyDictionary</prov:type>
+ </prov:entity></b>
+
+ <!-- d1 is a dictionary, with (so far) unknown content -->
+ <b><prov:entity prov:id="d1">
+ <prov:type xsi:type="xsd:QName">prov:Dictionary</prov:type>
+ </prov:entity></b>
+
+</prov:document></pre></div>
+</section> <!-- end XML:Dictionary -->
+
+
+<section id="term-KeyValuePair">
+<h3><span class="secno">5.2 </span>Key-Value Pair</h3>
+<div class="glossary-ref"></div>
+<p>Key-value pairs are used to identify the members of a dictionary.</p>
+<pre class="schema-type"><xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="KeyValuePair" >
+ <xs:element name="entity" type="prov:IDRef" />
+ <xs:element name="key" type="xs:anySimpleType" />
+</xs:complexType>
+</pre>
+<pre class="schema-usage"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="keyValuePair" type="prov:KeyValuePair"/>
+</pre>
+<div class="example"><div class="example-title"><span>Example 5</span></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="e0"/>
+ <prov:entity prov:id="e1"/>
+
+ <b><prov:keyValuePair>
+ <prov:entity prov:ref="e0"/>
+ <prov:key>k0</prov:key>
+ </prov:keyValuePair>
+
+ <prov:keyValuePair>
+ <prov:entity prov:ref="e1"/>
+ <prov:key>k1</prov:key>
+ </prov:keyValuePair></b>
+</prov:document></pre></div>
+</section> <!-- end XML:KeyValuePair -->
+
+<section id="term-DictionaryMembership">
+<h3><span class="secno">5.3 </span>Dictionary Membership</h3>
+<div class="glossary-ref"></div>
+<p>The members of a dictionary are specified by listing key-value pairs inside a <code>prov:DictionaryMembership</code> element</p>
+<pre class="schema-type"><xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="DictionaryMembership">
+ <xs:sequence>
+ <xs:element name="dictionary" type="prov:IDRef"/>
+ <xs:element name="keyValuePair type="prov:KeyValuePair" maxOccurs="unbounded"/>
+ </xs:sequence>
+</xs:complexType>
+</pre>
+<pre class="schema-usage"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="hadDictionaryMember" type="prov:DictionaryMembership"/>
+</pre>
+<div class="example"><div class="example-title"><span>Example 6</span></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#">
+
+ <prov:entity prov:id="e0"/>
+ <prov:entity prov:id="e1"/>
+ <prov:entity prov:id="e2"/>
+
+ <prov:entity prov:id="d">
+ <prov:type xsi:type="xsd:QName">prov:Dictionary</prov:type>
+ </prov:entity>
+
+ <b><prov:hadDictionaryMember>
+ <prov:dictionary prov:ref="d"/>
+ <prov:keyValuePair>
+ <prov:entity prov:ref="e0"/>
+ <prov:key>k0</prov:key>
+ </prov:keyValuePair>
+ <prov:keyValuePair>
+ <prov:entity prov:ref="e1"/>
+ <prov:key>k1</prov:key>
+ </prov:keyValuePair>
+ <prov:keyValuePair>
+ <prov:entity prov:ref="e2"/>
+ <prov:key>k2</prov:key>
+ </prov:keyValuePair>
+ </prov:hadDictionaryMember></b>
+
+</prov:document></pre></div>
+</section> <!-- end term-Membership -->
+
+<section id="term-Insertion">
+<h3><span class="secno">5.4 </span>Insertion</h3>
+<div class="glossary-ref"></div>
+<p>To specify that one dictionary was derived by insertion of key-value pairs into another one, a <code>prov:Insertion</code> element is used.</p>
+<pre class="schema-type"><xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Insertion">
+ <xs:sequence>
+ <xs:element name="newDictionary" type="prov:IDRef"/>
+ <xs:element name="oldDictionary" type="prov:IDRef"/>
+ <xs:element name="keyValuePair type="prov:KeyValuePair" maxOccurs="unbounded"/>
+ </xs:sequence>
+</xs:complexType>
+</pre>
+<pre class="schema-usage"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="derivedByInsertionFrom" type="prov:Insertion"/>
+</pre>
+<div class="example"><div class="example-title"><span>Example 7</span></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#">
+
+ <prov:entity prov:id="e0"/>
+ <prov:entity prov:id="e1"/>
+ <prov:entity prov:id="e2"/>
+
+ <prov:entity prov:id="d1">
+ <prov:type xsi:type="xsd:QName">prov:Dictionary</prov:type>
+ </prov:entity>
+
+ <prov:entity prov:id="d2">
+ <prov:type xsi:type="xsd:QName">prov:Dictionary</prov:type>
+ </prov:entity>
+
+ <prov:hadDictionaryMember>
+ <prov:dictionary prov:ref="d1"/>
+ <prov:keyValuePair>
+ <prov:entity prov:ref="e0"/>
+ <prov:key>k0</prov:key>
+ </prov:keyValuePair>
+ </prov:hadDictionaryMember>
+
+ <b><prov:derivedByInsertionFrom>
+ <prov:newDictionary prov:ref="d2"/>
+ <prov:oldDictionary prov:ref="d1"/>
+ <prov:keyValuePair>
+ <prov:entity prov:ref="e1"/>
+ <prov:key>k1</prov:key>
+ </prov:keyValuePair>
+ <prov:keyValuePair>
+ <prov:entity prov:ref="e2"/>
+ <prov:key>k2</prov:key>
+ </prov:keyValuePair>
+ </prov:derivedByInsertionFrom></b>
+
+</prov:document></pre></div>
+</section> <!-- end term-Insertion -->
+<section id="term-Removal">
+<h3><span class="secno">5.5 </span>Removal</h3>
+<div class="glossary-ref"></div>
+<p>To specify that one dictionary was derived by removal of key-value pairs from another one, a <code>prov:Removal</code> element is used.</p>
+<pre class="schema-type"><xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Removal">
+ <xs:sequence>
+ <xs:element name="newDictionary" type="prov:IDRef"/>
+ <xs:element name="oldDictionary" type="prov:IDRef"/>
+ <xs:element name="key" type="xs:anySimpleType" maxOccurs="unbounded" />
+ </xs:sequence>
+</xs:complexType>
+</pre>
+<pre class="schema-usage"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="derivedByRemovalFrom" type="prov:Removal"/>
+</pre>
+<div class="example"><div class="example-title"><span>Example 8</span></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#">
+
+ <prov:entity prov:id="e0"/>
+ <prov:entity prov:id="e1"/>
+ <prov:entity prov:id="e2"/>
+
+ <prov:entity prov:id="d1">
+ <prov:type xsi:type="xsd:QName">prov:Dictionary</prov:type>
+ </prov:entity>
+
+ <prov:entity prov:id="d2">
+ <prov:type xsi:type="xsd:QName">prov:Dictionary</prov:type>
+ </prov:entity>
+
+ <prov:hadDictionaryMember>
+ <prov:dictionary prov:ref="d1"/>
+ <prov:keyValuePair>
+ <prov:entity prov:ref="e0"/>
+ <prov:key>k0</prov:key>
+ </prov:keyValuePair>
+ <prov:keyValuePair>
+ <prov:entity prov:ref="e1"/>
+ <prov:key>k1</prov:key>
+ </prov:keyValuePair>
+ <prov:keyValuePair>
+ <prov:entity prov:ref="e2"/>
+ <prov:key>k2</prov:key>
+ </prov:keyValuePair>
+ </prov:hadDictionaryMember>
+
+ <b><prov:derivedByRemovalFrom>
+ <prov:newDictionary prov:ref="d2"/>
+ <prov:oldDictionary prov:ref="d1"/>
+ <prov:key>k1</prov:key>
+ <prov:key>k2</prov:key>
+ </prov:derivedByRemovalFrom></b>
+
+</prov:document></pre></div>
+</section> <!-- end term-Removal -->
+</section>
+
+<section id="dictionary-constraints">
+<!--OddPage--><h2><span class="secno">6. </span>Constraints Associated with Dictionary</h2>
+In this section, we specify some inferences and constraints associated with dictionaries. These inferences and constraints <em class="rfc2119" title="may">may</em> be applied to obtain valid provenance when using dictionaries. For more information about valid provenance and its purpose, we refer to the <a href="/CR-prov-constraints-20121211/#purpose">disclaimer</a> in [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].
+Whereas collections were deliberately left unconstrained in [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] and [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>] to remain as general as possible, dictionaries are intended to provide more structure, and thus, are constrained more strictly.
+For more information on how to read this section, we refer to [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].
+
+<section id="dictionary-constraints-inferences">
+ <h3><span class="secno">6.1 </span>Inferences</h3>
+ <p id="dmembership-cmembership-inference_text"><a href="#term-dictionary-membership">Dictionary membership</a> implies <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-membership">collection membership</a>.</p>
+ <div class="inference" id="dmembership-cmembership-inference">
+ <span class="ruleTitle"><a class="internalDFN" href="#dmembership-cmembership-inference">Inference D1 (dictionary-membership-collection-membership)</a></span>
+<p>
+<span class="conditional">IF</span> <span class="name">hadDictionaryMember(d, e1, "k1")</span>
+ <span class="conditional">THEN</span> <span class="name">hadMember(d, e1)</span>
+</p></div>
+
+ <p id="membership-membership-inference_text">Each key maps to a single entity.</p>
+ <div class="inference" id="key-single-entity-inference">
+ <span class="ruleTitle"><a class="internalDFN" href="#key-single-entity-inference">Inference D2 (key-single-entity)</a></span>
+<p>
+<span class="conditional">IF</span> <span class="name">hadDictionaryMember(d1, e1, "k1")</span>
+ and <span class="name">hadDictionaryMember(d1, e2, "k1")</span>
+ <span class="conditional">THEN</span> <span class="name">e1 = e2</span>
+</p></div>
+
+<p id="membership-insertion-membership-inference_text">If a dictionary was derived from another dictionary by an insertion, then the former holds all key-entity pairs of the latter, except those updated by the insertion.</p>
+ <div class="inference" id="membership-insertion-membership-inference">
+ <span class="ruleTitle"><a class="internalDFN" href="#membership-insertion-membership-inference">Inference D3 (membership-insertion-membership)</a></span>
+<p>
+<span class="conditional">IF</span> <span class="name">hadDictionaryMember(d1, e, "k")</span>
+ and <span class="name">derivedByInsertionFrom(d2, d1, {("k1", e1),...,("kn", en)})</span> and <span class="name">k</span> ∉ <span class="name">{"k1",...,"kn"}</span>
+ <span class="conditional">THEN</span> <span class="name">hadDictionaryMember(d2, e, "k")</span>
+</p></div>
+<!--REMOVED CONSTRAINT <p id="membership-update-membership-inference_text">Insertion provides an "update semantics" for the keys that are already present in a dictionary. A new pair replaces an existing pair with the same key in the new dictionary. </p>
+ <div class='inference' id='membership-update-membership-inference'>
+<p>
+<span class="conditional">IF</span> <span class="name">hadDictionaryMember(d1, e1, "k1")</span>
+ and <span class="name">derivedByInsertionFrom(d2, d1, {("k1", e2)})</span>
+ <span class='conditional'>THEN</span> <span class="name">hadDictionaryMember(d2, e2, "k1"))</span>
+</p></div>
+/REMOVED CONSTRAINT-->
+
+<p id="insertion-membership-inference_text">A dictionary that was derived by an insertion of key-entity pairs, holds all these specified key-entity pairs. This inference also means that Insertion provides an "update semantics" for the keys that are already present in a dictionary.</p>
+ <div class="inference" id="insertion-membership-inference">
+ <span class="ruleTitle"><a class="internalDFN" href="#insertion-membership-inference">Inference D4 (insertion-membership)</a></span>
+<p>
+<span class="conditional">IF</span> <span class="name">derivedByInsertionFrom(d2, d1, {("k1", e1),...,("kn",en)})</span>
+ <span class="conditional">THEN</span> <span class="name">hadDictionaryMember(d2, ei, "ki") for each i ∈ [1..n]</span>
+</p></div>
+
+
+<!--REMOVED CONSTRAINT <p id="removal-membership-inference_text">Only keys that actually mapped to an entity in a dictionary can be removed from it.</p>
+ <div class='inference' id='removal-membership-inference'>
+<p>
+<span class="conditional">IF</span> <span class="name">derivedByRemovalFrom(d2, d1, {"k1"})</span>
+ <span class='conditional'>THEN</span> <span class="name">hadDictionaryMember(d1, e1, "k1")</span>
+</p></div>
+ <div class="remark"><b>Note from the editors:</b> this constraint seems too restrictive for some implementations, and the editors would like to remove it, unless there is strong consensus to keep it. Removal of this constraint would also allow for duplicate dictionaries to be derived by "removal" of a non-existing key.</div>
+/REMOVED CONSTRAINT-->
+
+<p id="insertion-derivation-inference_text">Insertion and removal are special cases of derivation.</p>
+ <div class="inference" id="insertion-derivation-inference">
+ <span class="ruleTitle"><a class="internalDFN" href="#insertion-derivation-inference">Inference D5 (insertion-derivation)</a></span>
+<p>
+<span class="conditional">IF</span> <span class="name">derivedByInsertionFrom(d2, d1, {("k1", e1),...,("kn",en)})</span>
+ <span class="conditional">THEN</span> <span class="name">wasDerivedFrom(d2, d1)</span>
+</p></div>
+ <div class="inference" id="removal-derivation-inference">
+ <span class="ruleTitle"><a class="internalDFN" href="#removal-derivation-inference">Inference D6 (removal-derivation)</a></span>
+<p>
+<span class="conditional">IF</span> <span class="name">derivedByRemovalFrom(d2, d1, {"k1",...,"kn"})</span>
+ <span class="conditional">THEN</span> <span class="name">wasDerivedFrom(d2, d1)</span>
+</p></div>
+
+
+<p id="insertion-removal-membership-inference_text">Insertions and removals do not introduce any new key-entity pairs, other than those specified.</p>
+ <div class="inference" id="insertion-removal-membership-inference">
+ <span class="ruleTitle"><a class="internalDFN" href="#insertion-removal-membership-inference">Inference D7 (insertion-removal-membership)</a></span>
+<ol>
+ <li>
+ <span class="conditional">IF</span> <span class="name">derivedByInsertionFrom(d2, d1, {("k1", _e1)})</span> and
+ <span class="name">derivedByRemovalFrom(d3, d2, {"k1"})</span> and <span class="name">hadDictionaryMember(d1, e2, "k2")</span> and
+ <span class="name">k1 ≠ k2</span> <span class="conditional">THEN</span> <span class="name">hadDictionaryMember(d3, e2, "k2")</span>
+ </li>
+ <li>
+ <span class="conditional">IF</span> <span class="name">derivedByInsertionFrom(d2, d1, {("k1", _e1)})</span> and
+ <span class="name">derivedByRemovalFrom(d3, d2, {"k1"})</span> and <span class="name">hadDictionaryMember(d3, e2, "k2")</span> and
+ <span class="name">k1 ≠ k2</span> <span class="conditional">THEN</span> <span class="name">hadDictionaryMember(d1, e2, "k2")</span>
+ </li>
+</ol>
+</div>
+ <div class="remark">
+ Note that this inference, together with constraints <a class="internalDFN" href="#impossible-removal-insertion-constraint">D9</a>, <a class="internalDFN" href="#impossible-insertion-insertion-constraint">D10</a> and <a class="internalDFN" href="#impossible-removal-removal-constraint">D11</a>, and the fact that an EmptyDictionary does not contain any key-entity pairs, guarantees <b>completeness</b> of a dictionary, if it can be traced back to an EmptyDictionary through insertions and removals.
+ Here, completeness means that all key-entity pairs of the dictionary are known through a hadDictionaryMember statement.
+ </div>
+
+</section>
+ <!-- end inferences -->
+
+<section id="dictionary-constraints-constraints">
+ <h3><span class="secno">6.2 </span>Constraints</h3>
+
+<p id="impossible-removal-membership_text">A dictionary that was derived by removal from another dictionary, cannot contain the key-entity pairs that were removed from the latter.</p>
+ <div class="constraint" id="impossible-removal-membership-constraint">
+ <span class="ruleTitle"><a class="internalDFN" href="#impossible-removal-membership-constraint">Constraint D8 (impossible-removal-membership)</a></span>
+<p>
+<span class="conditional">IF</span> <span class="name">derivedByRemovalFrom(d2, d1, {"k1",...,"kn"})</span> and
+ <span class="name">hadDictionaryMember(d2, e, "ki")</span> and <span class="name">i ∈ [1..n]</span> <span class="conditional">THEN</span> <span class="conditional">INVALID</span>
+</p></div>
+
+ <p id="impossible-removal-insertion_text">A dictionary must not be derived through multiple insertion or removal relations.</p>
+ <div class="constraint" id="impossible-removal-insertion-constraint">
+ <span class="ruleTitle"><a class="internalDFN" href="#impossible-removal-insertion-constraint">Constraint D9 (impossible-removal-insertion)</a></span>
+ <p>Here, <span class="name">KV1</span> and <span class="name">KV2</span> are sets of key-entity pairs.</p>
+<p>
+<span class="conditional">IF</span> <span class="name">derivedByRemovalFrom(d2, d1, KV1)</span> and
+ <span class="name">derivedByInsertionFrom(d2, d1, KV2)</span><span class="conditional">THEN</span> <span class="conditional">INVALID</span>
+</p></div>
+<div class="constraint" id="impossible-insertion-insertion-constraint">
+ <span class="ruleTitle"><a class="internalDFN" href="#impossible-insertion-insertion-constraint">Constraint D10 (impossible-insertion-insertion)</a></span>
+<p>Here, <span class="name">KV1</span> and <span class="name">KV2</span> are sets of key-entity pairs.</p>
+<p>
+<span class="conditional">IF</span> <span class="name">derivedByInsertionFrom(d2, d1, KV1)</span> and
+ <span class="name">derivedByInsertionFrom(d2, d1, KV2)</span><span class="conditional">THEN</span> <span class="name">KV1 = KV2</span>
+</p></div>
+<div class="constraint" id="impossible-removal-removal-constraint">
+ <span class="ruleTitle"><a class="internalDFN" href="#impossible-removal-removal-constraint">Constraint D11 (impossible-removal-removal)</a></span>
+<p>Here, <span class="name">K1</span> and <span class="name">K2</span> are sets of keys.</p>
+<p>
+<span class="conditional">IF</span> <span class="name">derivedByRemovalFrom(d2, d1, K1)</span> and
+ <span class="name">derivedByRemovalFrom(d2, d1, K2)</span><span class="conditional">THEN</span> <span class="name">K1 = K2</span>
+</p></div>
+
+<!--REMOVED CONSTRAINT <p id="impossible-removal-insertion_text">An empty dictionary cannot hold any key-entity pairs.</p>
+ <div class='constraint' id='impossible-removal-insertion'>
+<p>
+<span class="conditional">IF</span> <span class="name">hadDictionaryMember(d, e1, "k1")</span> and
+ <span class="name">'prov:EmptyDictionary' ∈ typeOf(d)</span><span class='conditional'>THEN</span> <span
+ class="conditional">INVALID</span>
+</p></div> /REMOVED CONSTRAINT-->
+
+</section> <!-- end constraints -->
+
+<section id="dictionary-typing">
+ <h3><span class="secno">6.3 </span>Typing</h3>
+ <div class="constraint" id="typing">
+ <span class="ruleTitle"><a class="internalDFN" href="#typing">Constraint D12 (typing)</a></span>
+ <ol>
+ <li>
+ <p>
+ <span class="conditional">IF</span> <span class="name">entity(d, [prov:type='prov:Dictionary'])</span> <span class="conditional">THEN</span>
+ <span class="name">'prov:Dictionary' ∈ typeOf(d)</span> and <span class="name">'prov:Collection' ∈ typeOf(d)</span>
+ and <span class="name">'entity' ∈ typeOf(d)</span>
+ </p>
+ </li>
+ <li>
+ <p>
+ <span class="conditional">IF</span> <span class="name">entity(d, [prov:type='prov:EmptyDictionary'])</span> <span class="conditional">THEN</span>
+ <span class="name">'prov:EmptyDictionary' ∈ typeOf(d)</span> and <span class="name">'prov:Dictionary' ∈ typeOf(d)</span>
+ and <span class="name">'prov:Collection' ∈ typeOf(d)</span>
+ and <span class="name">'prov:EmptyCollection' ∈ typeOf(d)</span>
+ and <span class="name">'entity' ∈ typeOf(d)</span>
+ </p>
+ </li>
+ <li>
+ <p>
+ <span class="conditional">IF</span> <span class="name">hadDictionaryMember(d, e, "k")</span> <span class="conditional">THEN</span>
+ <span class="name">'prov:Dictionary' ∈ typeOf(d)</span> and <span class="name">'prov:Collection' ∈ typeOf(d)</span> and <span class="name">'entity' ∈ typeOf(d)</span> and <span class="name">'entity' ∈ typeOf(e)</span>
+ </p>
+ </li>
+ <li>
+
+ <p>Here, KV is a set of key-entity pairs</p>
+ <p>
+ <span class="conditional">IF</span> <span class="name">derivedByInsertionFrom(d2, d1, KV)</span> <span class="conditional">THEN</span>
+ <span class="name">'prov:Dictionary' ∈ typeOf(d1)</span> and <span class="name">'prov:Dictionary' ∈ typeOf(d2)</span> and <span class="name">'prov:Collection' ∈ typeOf(d1)</span> and <span class="name">'entity' ∈ typeOf(d1)</span> and <span class="name">'prov:Collection' ∈ typeOf(d2)</span> and <span class="name">'entity' ∈ typeOf(d2)</span> and <span class="name">'entity' ∈ typeOf(e1)</span>
+ </p>
+ </li>
+ <li>
+ <p>Here, K is a set of keys</p>
+ <p>
+ <span class="conditional">IF</span> <span class="name">derivedByRemovalFrom(d2, d1, K)</span> <span class="conditional">THEN</span>
+ <span class="name">'prov:Dictionary' ∈ typeOf(d1)</span> and <span class="name">'prov:Dictionary' ∈ typeOf(d2)</span> and <span class="name">'prov:Collection' ∈ typeOf(d1)</span> and <span class="name">'entity' ∈ typeOf(d1)</span> and <span class="name">'prov:Collection' ∈ typeOf(d2)</span> and <span class="name">'entity' ∈ typeOf(d2)</span>
+ </p>
+ </li>
+ </ol>
+ </div>
+
+</section>
+
+</section>
+
+
+
+<section class="appendix" id="acknowledgements">
+ <!--OddPage--><h2><span class="secno">A. </span>Acknowledgements</h2>
+ <p>
+ Members of the Provenance Working Group at the time of publication of this document were: Ilkay Altintas (Invited expert), Reza B'Far (Oracle Corporation), Khalid Belhajjame (University of Manchester), James Cheney (University of Edinburgh, School of Informatics), Sam Coppens (iMinds - Ghent University), David Corsar (University of Aberdeen, Computing Science), Stephen Cresswell (The National Archives), Tom De Nies (iMinds - Ghent University), Helena Deus (DERI Galway at the National University of Ireland, Galway, Ireland), Simon Dobson (Invited expert), Martin Doerr (Foundation for Research and Technology - Hellas(FORTH)), Kai Eckert (Invited expert), Jean-Pierre EVAIN (European Broadcasting Union, EBU-UER), James Frew (Invited expert), Irini Fundulaki (Foundation for Research and Technology - Hellas(FORTH)), Daniel Garijo (Universidad Politécnica de Madrid), Yolanda Gil (Invited expert), Ryan Golden (Oracle Corporation), Paul Groth (Vrije Universiteit), Olaf Hartig (Invited expert), David Hau (National Cancer Institute, NCI), Sandro Hawke (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="Massachusetts Institute of Technology">MIT</abbr>), Jörn Hees (German Research Center for Artificial Intelligence (DFKI) Gmbh), Ivan Herman, (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>), Ralph Hodgson (TopQuadrant), Hook Hua (Invited expert), Trung Dong Huynh (University of Southampton), Graham Klyne (University of Oxford), Michael Lang (Revelytix, Inc.), Timothy Lebo (Rensselaer Polytechnic Institute), James McCusker (Rensselaer Polytechnic Institute), Deborah McGuinness (Rensselaer Polytechnic Institute), Simon Miles (Invited expert), Paolo Missier (School of Computing Science, Newcastle university), Luc Moreau (University of Southampton), James Myers (Rensselaer Polytechnic Institute), Vinh Nguyen (Wright State University), Edoardo Pignotti (University of Aberdeen, Computing Science), Paulo da Silva Pinheiro (Rensselaer Polytechnic Institute), Carl Reed (Open Geospatial Consortium), Adam Retter (Invited Expert), Christine Runnegar (Invited expert), Satya Sahoo (Invited expert), David Schaengold (Revelytix, Inc.), Daniel Schutzer (FSTC, Financial Services Technology Consortium), Yogesh Simmhan (Invited expert), Stian Soiland-Reyes (University of Manchester), Eric Stephan (Pacific Northwest National Laboratory), Linda Stewart (The National Archives), Ed Summers (Library of Congress), Maria Theodoridou (Foundation for Research and Technology - Hellas(FORTH)), Ted Thibodeau (OpenLink Software Inc.), Curt Tilmes (National Aeronautics and Space Administration), Craig Trim (IBM Corporation), Stephan Zednik (Rensselaer Polytechnic Institute), Jun Zhao (University of Oxford), Yuting Zhao (University of Aberdeen, Computing Science).
+ </p>
+ </section>
+
+
+
+
+
+
+<section id="references" class="appendix"><!--OddPage--><h2><span class="secno">B. </span>References</h2><section id="informative-references"><h3><span class="secno">B.1 </span>Informative references</h3><dl class="bibliography"><dt id="bib-PROV-AQ">[PROV-AQ]</dt><dd>Graham Klyne; Paul Groth; eds. <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/"><cite>Provenance Access and Query</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">http://www.w3.org/TR/2013/WD-prov-aq-20130312/</a>
+</dd><dt id="bib-PROV-CONSTRAINTS">[PROV-CONSTRAINTS]</dt><dd>James Cheney; Paolo Missier; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/"><cite>Constraints of the PROV Data Model</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">http://www.w3.org/TR/2013/PR-prov-constraints-20130312/</a>
+</dd><dt id="bib-PROV-DC">[PROV-DC]</dt><dd>Daniel Garijo; Kai Eckert; eds. <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><cite>Dublin Core to PROV Mapping</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">http://www.w3.org/TR/2013/WD-prov-dc-20130312/</a>
+</dd><dt id="bib-PROV-DICTIONARY">[PROV-DICTIONARY]</dt><dd>Tom De Nies; Sam Coppens; eds. <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><cite>PROV Dictionary</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/</a>
+</dd><dt id="bib-PROV-DM">[PROV-DM]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><cite>PROV-DM: The PROV Data Model</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">http://www.w3.org/TR/2013/PR-prov-dm-20130312/</a>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/"><cite>PROV-N: The Provenance Notation</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">http://www.w3.org/TR/2013/PR-prov-n-20130312/</a>
+</dd><dt id="bib-PROV-O">[PROV-O]</dt><dd>Timothy Lebo; Satya Sahoo; Deborah McGuinness; eds. <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/"><cite>PROV-O: The PROV Ontology</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">http://www.w3.org/TR/2013/PR-prov-o-20130312/</a>
+</dd><dt id="bib-PROV-OVERVIEW">[PROV-OVERVIEW]</dt><dd>Paul Groth; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><cite>PROV-OVERVIEW: An Overview of the PROV Family of Documents</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">http://www.w3.org/TR/2013/WD-prov-overview-20130312/</a>
+</dd><dt id="bib-PROV-PRIMER">[PROV-PRIMER]</dt><dd>Yolanda Gil; Simon Miles; eds. <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/"><cite>PROV Model Primer</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">http://www.w3.org/TR/2013/WD-prov-primer-20130312/</a>
+</dd><dt id="bib-PROV-SEM">[PROV-SEM]</dt><dd>James Cheney; ed. <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312"><cite>Semantics of the PROV Data Model</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312">http://www.w3.org/TR/2013/WD-prov-sem-20130312</a>.
+</dd><dt id="bib-PROV-XML">[PROV-XML]</dt><dd>Hook Hua; Curt Tilmes; Stephan Zednik; eds. <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><cite>PROV-XML: The PROV XML Schema</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">http://www.w3.org/TR/2013/WD-prov-xml-20130312/</a>
+</dd></dl></section></section></body></html>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/links/Makefile Thu Feb 28 00:12:50 2013 +0100
@@ -0,0 +1,14 @@
+
+
+# http://phantomjs.org/download.html
+PHANTOM_JS=$(HOME)/Downloads/phantomjs-1.8.1-linux-x86_64/bin/phantomjs
+
+
+stage.links:
+ $(MAKE) DOCUMENT_TO_STAGE=prov-links.html RELEASE_DIR=releases/WD-prov-links-20130312 stage.document.html
+ ../model/diff/htmldiff releases/WD-prov-links-20121211/Overview.html releases/WD-prov-links-20130312/Overview.html > diff.html
+ cp diff.html releases/WD-prov-links-20130312/
+
+
+stage.document.html:
+ $(PHANTOM_JS) respec2html.js $(DOCUMENT_TO_STAGE) $(RELEASE_DIR)/Overview.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/links/diff.html Thu Feb 28 00:12:50 2013 +0100
@@ -0,0 +1,1578 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head><style type="text/css"><!--
+
+.insert { background-color: #aaffaa }
+.delete { background-color: #ff8888; text-decoration: line-through }
+.tagInsert { background-color: #007700; color: #ffffff }
+.tagDelete { background-color: #770000; color: #ffffff }
+
+--></style>
+ <title>Linking Across Provenance Bundles</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+
+
+
+
+
+
+
+
+
+
+
+<style><span class="insert">/* --- 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: #52e052; }
+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: 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;
+}
+
+
+</span></style><link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-links">
+
+
+
+
+
+
+
+
+
+
+
+<style type="text/css">
+ .note { font-size:small; margin-left:50px }
+
+ .entity {
+ border: 1px solid navy;
+ margin:5px 0px 5px 0px;
+ padding: 5px;
+ }
+
+
+
+ .description {
+ border-top: 1px dashed gray;
+ border-bottom: 1px dashed gray;
+ background-color: rgb(242, 243, 244);
+ margin-top:5px;
+ padding-bottom:5px;
+ }
+
+ .description dl {
+ background-color: rgb(242, 243, 244);
+ }
+
+ .description ul {
+ padding-left: 12px;
+ margin-top: 0px;
+ }
+
+code {
+ color: black !important;
+}
+
+.diamond {
+ font-weight: normal;
+ font-style: normal;
+ font-size:100%;
+ font-family: sans-serif;
+}
+
+table.thinborder {
+ border-width: 1px;
+ border-spacing: 0px;
+ border-style: none;
+ border-color: gray;
+ border-collapse: collapse;
+}
+table.thinborder th {
+ border-width: 1px;
+ padding: 0px;
+ border-style: solid;
+ border-color: gray;
+}
+table.thinborder td {
+ border-width: 1px;
+ padding: 2px;
+ border-style: solid;
+ border-color: gray;
+}
+
+/* --- EDITORIAL NOTES --- */
+.pending {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #BFEFFF;
+}
+
+.pending::before {
+ content: "Pending Review";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+
+.resolved {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #9BCD9B;
+}
+
+.resolved::before {
+ content: "Resolved";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.inference {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+
+.inference-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.syntax {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.syntax[id]::before {
+ content: "Syntax: " attr(id);
+ width: 380px; /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.syntax::before {
+ content: "Syntax";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.unamedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+
+.unamedconstraint::before {
+ content: "Constraint";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+.constraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.constraint-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+
+.interpretation {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.interpretation[id]::before {
+ content: "Interpretation: " attr(id);
+ width: 380px; /* How can we compute the length of "Interpretation: " attr(id) */
+}
+
+
+.interpretation::before {
+ content: "Interpretation";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.definition {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #777;
+ background: #fff;
+}
+
+.definition-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #777;
+ background: #fff;
+}
+
+.deprecatedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.deprecatedconstraint[id]::before {
+ content: "Deprecated: " attr(id);
+ width: 380px; /* How can we compute the length of "Deprecatedconstraint: " attr(id) */
+}
+
+
+.deprecatedconstraint::before {
+ content: "Deprecated";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.glossary-ref {
+ font-style: italic;
+}
+
+.dfn {
+ font-weight: bold;
+}
+
+
+.attribute {
+ font-style: italic;
+}
+
+
+.conditional {
+ color: blue;
+}
+
+.grammar {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ font-size: 95%;
+}
+.nonterminal {
+ font-weight: bold;
+ font-family: sans-serif;
+ font-size: 95%;
+}
+
+.name {
+ font-family: monospace;
+}
+
+.math {
+ font-family: roman;
+ font-style:italic;
+}
+
+
+.xmpl {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.xmpl::before {
+ content: "Example";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.anexample {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ background-color: #f9f9f9;
+}
+.anexample table {
+ background-color: #f9f9f9;
+}
+
+.conceptexample:before {
+ content: "Example:";
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+.conceptexample {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ background-color: #f9f9f9;
+}
+
+.pnExpression {
+ font-weight: normal;
+ font-size:120%;
+ font-family: monospace;
+}
+
+
+div[class="grammar"] span[class="name"]:before {
+ content: "'";
+}
+
+div[class="grammar"] span[class="name"]:after {
+ content: "'";
+}
+
+
+div[class="grammar"] span[class="optional"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="optional"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")?";
+}
+
+
+div[class="grammar"] span[class="plus"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="plus"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")+";
+}
+
+
+div[class="grammar"] span[class="star"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="star"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")*";
+}
+
+div[class="grammar"] span[class="choice"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="choice"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+div[class="grammar"] span[class="group"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="group"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+table {
+ background-color: #f9f9f9;
+}
+
+.component1-color {
+ background-color: rgba(255,42,42,0.2);
+}
+
+.component2-color {
+ background-color: rgba(0,68,170,0.2);
+}
+
+.component3-color {
+ background-color: rgba(0,170,0,0.2);
+}
+.component4-color {
+ background-color: rgba(204,255,0,0.2);
+}
+
+.component5-color {
+ background-color: rgba(11,40,40,0.2);
+}
+
+.component6-color {
+ background-color: rgba(244,105,14,0.2);
+}
+
+.interpretation-forward::before {
+ content: "Interpretation: ";
+ font-weight: bold;
+}
+
+.structural-forward::before {
+ content: "Structural constraint: ";
+ font-weight: bold;
+}
+
+
+code {
+ color: black;
+}
+
+.ruleTitle {
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+
+
+
+
+.remark {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px dashed #000;
+ background: #F0F0F0;
+}
+
+.remark::before {
+ content: "Remark";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #000;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+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>
+
+
+ <script type="text/javascript">
+/*
+ Written by Jonathan Snook, http://www.snook.ca/jonathan
+ Add-ons by Robert Nyman, http://www.robertnyman.com
+ Author says "The credit comment is all it takes, no license. Go crazy with it!"
+ From http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
+*/
+
+function getElementsByClassName(oElm, strTagName, oClassNames){
+ var arrElements = (! (! (strTagName == "*") || ! (oElm.all)))? oElm.all : oElm.getElementsByTagName(strTagName);
+ var arrReturnElements = new Array();
+ var arrRegExpClassNames = new Array();
+ if(typeof oClassNames == "object"){
+ for(var i=0; !(i>=oClassNames.length); i++){ /*>*/
+ arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames[i].replace(/\-/g, "\-") + "(\s|$)"));
+ }
+ }
+ else{
+ arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames.replace(/\-/g, "\-") + "(\s|$)"));
+ }
+ var oElement;
+ var bMatchesAll;
+ for(var j=0; !(j>=arrElements.length); j++){ /*>*/
+ oElement = arrElements[j];
+ bMatchesAll = true;
+ for(var k=0; !(k>=arrRegExpClassNames.length); k++){ /*>*/
+ if(!arrRegExpClassNames[k].test(oElement.className)){
+ bMatchesAll = false;
+ break;
+ }
+ }
+ if(bMatchesAll){
+ arrReturnElements.push(oElement);
+ }
+ }
+ return (arrReturnElements)
+}
+
+function set_display_by_class(el, cls, newValue) {
+ var e = getElementsByClassName(document, el, cls);
+ if (e != null) {
+ for (var i=0; !(i>=e.length); i++) {
+ e[i].style.display = newValue;
+ }
+ }
+}
+
+function set_display_by_id(id, newValue) {
+ var e = document.getElementById(id);
+ if (e != null) {
+ e.style.display = newValue;
+ }
+}
+</script>
+
+
+
+
+
+ <style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 {
+ text-transform: lowercase;
+ font-variant: small-caps;
+ font-style: normal;
+ color: #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+ border: none;
+}
+
+dfn {
+ font-weight: bold;
+}
+
+a.internalDFN {
+ color: inherit;
+ border-bottom: 1px solid #99c;
+ text-decoration: none;
+}
+
+a.externalDFN {
+ color: inherit;
+ border-bottom: 1px dotted #ccc;
+ text-decoration: none;
+}
+
+a.bibref {
+ text-decoration: none;
+}
+
+cite .bibref {
+ font-style: normal;
+}
+
+code {
+ color: #ff4500;
+}
+
+
+/* --- --- */
+ol.algorithm { counter-reset:numsection; list-style-type: none; }
+ol.algorithm li { margin: 0.5em 0; }
+ol.algorithm li:before { font-weight: bold; counter-increment: numsection; content: counters(numsection, ".") ") "; }
+
+/* --- TOC --- */
+.toc a, .tof a {
+ text-decoration: none;
+}
+
+a .secno, a .figno {
+ color: #000;
+}
+
+ul.tof, ol.tof {
+ list-style: none outside none;
+}
+
+.caption {
+ margin-top: 0.5em;
+ font-style: italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+ border-spacing: 0;
+ border-collapse: collapse;
+ border-bottom: 3px solid #005a9c;
+}
+
+.simple th {
+ background: #005a9c;
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+}
+
+.simple th[scope="row"] {
+ background: inherit;
+ color: inherit;
+ border-top: 1px solid #ddd;
+}
+
+.simple td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+ background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+ margin-top: 0;
+}
+
+.section dd > p:last-child {
+ margin-bottom: 0;
+}
+
+.section dd {
+ margin-bottom: 1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+ margin-bottom: 0;
+}
+<span class="delete">/* --- 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: #52e052; }
+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: 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;
+}
+
+
+</span></style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-WD"></head>
+ <body><div class="head">
+ <p>
+
+ <a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+
+ </p>
+ <h1 class="title" id="title">Linking Across Provenance Bundles</h1>
+
+ <h2 id="w3c-working-draft-12-march-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Working Draft <span class="delete">11 December 2012</span><span class="insert">12 March 2013</span></h2>
+ <dl>
+
+ <dt>This version:</dt>
+ <dd><span class="delete">http://www.w3.org/TR/2012/WD-prov-links-20121211/</span><a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-links-20130312/</span></a></dd>
+ <dt>Latest published version:</dt>
+ <dd><a href="http://www.w3.org/TR/prov-links/">http://www.w3.org/TR/prov-links/</a></dd>
+
+
+ <dt>Latest editor's draft:</dt>
+ <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/links/prov-links.html">http://dvcs.w3.org/hg/prov/raw-file/default/links/prov-links.html</a></dd>
+
+
+
+
+
+ <dt>Previous version:</dt>
+ <dd><a href="http://www.w3.org/TR/2012/WD-prov-links-20121211/"><span class="insert">http://www.w3.org/TR/2012/WD-prov-links-20121211/</span></a> <a href="diff.html"><span class="insert">(color-coded diff)</span></a></dd>
+
+
+ <dt>Editors:</dt>
+ <dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd>
+<dd><a href="http://tw.rpi.edu/instances/TimLebo">Timothy Lebo</a>, Rensselaer Polytechnic Institute</dd>
+
+
+ </dl>
+
+
+
+
+
+ <p class="copyright">
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
+ <span class="delete">2012</span><span class="insert">2012-2013</span>
+
+ <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+ (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+ <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+ <a href="http://www.keio.ac.jp/">Keio</a><span class="insert">, </span><a href="http://ev.buaa.edu.cn/"><span class="insert">Beihang</span></a>), All Rights Reserved.
+ <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+ <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+ </p>
+
+
+ <hr>
+</div>
+
+ <section id="abstract" class="introductory"><h2>Abstract</h2>
+<p>
+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.
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-bundle">Bundles</a>,
+defined in [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] as sets of provenance descriptions, were
+introduced in PROV as the mechanism by which provenance of provenance
+can be expressed. Bundles, whose validity is established
+independently of each other [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>], are essentially
+independent of each other, acting as islands of provenance
+descriptions.
+</p>
+
+<p>
+In applications where provenance is created by multiple parties over time, it is useful for provenance descriptions created by one party to link to provenance descriptions created by another party. Such a mechanism would allow the "stitching" of provenance descriptions together. Given that provenance descriptions are expected to be contained in bundles, this would require a capability to link entity descriptions across bundles. To address this requirement, this document introduces a relation <a href="#concept-mention" class="internalDFN">Mention</a> allowing an entity description to be linked to another entity description occurring in another bundle.
+</p>
+
+<p>The <a href="http://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="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
+ index</a> at http://www.w3.org/TR/.</em>
+ </p>
+
+<h4 id="prov-family-of-documents">PROV Family of Documents</h4>
+This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
+interchange of provenance information in heterogeneous environments such as the Web. These documents <span class="delete">are:
+</span>
+ <span class="delete">PROV-OVERVIEW</span><span class="delete"> (To be published as Note), an overview of the PROV family of documents</span><span class="insert">are listed below. Please consult the</span> [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite><span class="insert">] for a guide to reading these documents.
+</span><ul>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><span class="insert">PROV-OVERVIEW</span></a><span class="insert"> (To be published as Note), an overview of the PROV family of documents [</span><cite><a class="bibref" href="#bib-PROV-OVERVIEW"><span class="insert">PROV-OVERVIEW</span></a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [<cite><a class="bibref" href="#bib-PROV-PRIMER">PROV-PRIMER</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> <span class="delete">(Candidate</span><span class="insert">(Proposed</span> Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> <span class="delete">(Candidate</span><span class="insert">(Proposed</span> Recommendation), the PROV data model for provenance [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> <span class="delete">(Candidate</span><span class="insert">(Proposed</span> Recommendation), a notation for provenance aimed at human consumption [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> <span class="delete">(Candidate</span><span class="insert">(Proposed</span> Recommendation), a set of constraints applying to the PROV data model [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><span class="insert">PROV-XML</span></a><span class="insert"> (To be published as Note), an XML schema for the PROV data model [</span><cite><a class="bibref" href="#bib-PROV-XML"><span class="insert">PROV-XML</span></a></cite><span class="insert">];</span></li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>]; </li>
+<li> <span class="delete">PROV-XML</span><a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><span class="insert">PROV-DICTIONARY</span></a> (To be published as <span class="delete">Note), an XML schema for the PROV data model</span><span class="insert">Note) introduces a specific type of collection, consisting of key-entity pairs</span> [<cite><span class="delete">PROV-XML</span><a class="bibref" href="#bib-PROV-DICTIONARY"><span class="insert">PROV-DICTIONARY</span></a></cite>];</li>
+<li> <span class="delete">PROV-LINKS</span><a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><span class="insert">PROV-DC</span></a> (To be published as <span class="delete">Note), introduces</span><span class="insert">Note) provides</span> a <span class="delete">mechanism to link across bundles (this document).</span>
+
+
+<span class="delete">How to read the</span><span class="insert">mapping between</span> PROV <span class="delete">Family of Documentation</span>
+
+<span class="insert">and Dublic Core Terms </span>[<cite><span class="delete">PROV-OVERVIEW</span><a class="bibref" href="#bib-PROV-DC"><span class="insert">PROV-DC</span></a></cite><span class="delete">] overviews</span><span class="insert">];</span></li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/"><span class="insert">PROV-SEM</span></a><span class="insert"> (To be published as Note), a declarative specification in terms of first-order logic of</span> the PROV <span class="delete">family of documents. </span>
+<span class="delete">The primer</span><span class="insert">data model</span> [<cite><span class="delete">PROV-PRIMER</span><a class="bibref" href="#bib-PROV-SEM"><span class="insert">PROV-SEM</span></a></cite><span class="delete">] is the entry point</span><span class="insert">];</span></li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/"><span class="insert">PROV-LINKS</span></a><span class="insert"> (To be published as Note) introduces a mechanism</span> to <span class="delete">PROV offering an introduction to the provenance model.</span>
+<span class="delete">The Linked Data and Semantic Web community should focus on [</span><span class="delete">PROV-O</span><span class="delete">] defining PROV classes and properties specified in an OWL2 ontology. For further details, [</span><span class="delete">PROV-DM</span><span class="delete">] and [</span><span class="delete">PROV-CONSTRAINTS</span><span class="delete">] specify the constraints applicable to the data model, and its interpretation. </span>
+<span class="delete">The XML community should focus on [</span><span class="delete">PROV-XML</span><span class="delete">] defining an XML schema for PROV. Further details can also be found in [</span><span class="delete">PROV-DM</span><span class="delete">] and [</span><span class="delete">PROV-CONSTRAINTS</span><span class="delete">].</span>
+<span class="delete">Developers seeking to retrieve or publish provenance should focus on [</span><span class="delete">PROV-AQ</span><span class="delete">].</span>
+<span class="delete">Readers seeking to implement other PROV serializations
+should focus on [</span><span class="delete">PROV-DM</span><span class="delete">] and [</span><span class="delete">PROV-CONSTRAINTS</span><span class="delete">]. [</span><span class="delete">PROV-O</span><span class="delete">], [</span><span class="delete">PROV-N</span><span class="delete">], and [</span><span class="delete">PROV-XML</span><span class="delete">] offer examples of mapping to RDF, text, and XML, respectively.</span><span class="insert">link across bundles (this document).</span></li>
+</ul>
+
+ <p>
+ This document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as a <span class="delete">First Public </span>Working Draft.
+
+
+
+
+ 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 <span class="delete">feedback is</span><span class="insert">comments are</span> welcome.
+
+
+
+ </p>
+
+ <p>
+ Publication as a Working Draft does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+ This is a draft document and may be updated, replaced or obsoleted by other documents at
+ any time. It is inappropriate to cite this document as other than work in progress.
+ </p>
+
+
+ <p>
+
+ This document was produced by a group operating under the
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+ The group does not expect this document to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
+
+
+ <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a>
+
+ made in connection with the deliverables of the group; that page also includes instructions for
+ disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
+ information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+ 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+ </p>
+
+
+
+
+</section><section id="toc"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><ul class="toc"><li class="tocline"><a href="#prov-namespace" class="tocxref"><span class="secno"><span class="insert">1.1 </span></span><span class="insert">PROV Namespace</span></a></li><li class="tocline"><a href="#conventions" class="tocxref"><span class="secno"><span class="insert">1.2 </span></span><span class="insert">Conventions</span></a></li></ul></li><li class="tocline"><a href="#term-mention" class="tocxref"><span class="secno">2. </span>Conceptual Definition of Mention</a></li><li class="tocline"><a href="#mention-ontology" class="tocxref"><span class="secno">3. </span>Ontological Definition of Mention</a></li><li class="tocline"><a href="#mention-xml" class="tocxref"><span class="secno">4. </span>XML Schema for Mention</a></li><li class="tocline"><a href="#mention-constraints" class="tocxref"><span class="secno">5. </span>Constraints associated with Mention</a></li><li class="tocline"><a href="#change-log-since-first-public-working-draft" class="tocxref"><span class="secno"><span class="insert">A. </span></span><span class="insert">Change Log Since First Public Working Draft</span></a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno"><span class="delete">A.</span><span class="insert">B.</span> </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno"><span class="delete">B.</span><span class="insert">C.</span> </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno"><span class="delete">B.1</span><span class="insert">C.1</span> </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+
+
+
+
+
+
+<section id="introduction">
+<h2><span class="secno">1. </span>Introduction</h2>
+
+<p>
+<span class="delete">Provenance</span><span class="delete">
+is</span><span class="insert">The PROV data model [</span><cite><a class="bibref" href="#bib-PROV-DM"><span class="insert">PROV-DM</span></a></cite><span class="insert">] defines </span><a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><span class="insert">provenance</span></a><span class="insert">
+as</span> a record that describes the people, institutions, entities, and
+activities involved in producing, influencing, or delivering a piece
+of data or a thing. The specifications [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>], [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>],
+[<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>], and [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>] have respectively defined the PROV
+ontology, the PROV conceptual model, the PROV notation, and the PROV
+XML schema, allowing provenance descriptions to be expressed,
+represented in various representations, and interchanged between systems across the Web.
+</p>
+
+<p>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. To support this, provenance itself should be trusted, and therefore, provenance of provenance is itself a critical aspect of an information infrastructure such as the Web. To this end, PROV introduces the concept of <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-bundle">Bundle</a>: defined as a set of provenance <span class="delete">descriptions,</span><span class="insert">descriptions;</span> it is a mechanism by which provenance of provenance can be expressed (see also <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#Bundle">Bundle</a> [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>] and <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/#term-Bundle">Bundle</a> [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>]). With bundles, blobs of provenance descriptions can be given names and can themselves be regarded as entities, whose provenance can in turn be described using PROV. These blobs of provenance descriptions are independent of each other, as <span class="delete">illustrated</span><span class="insert">formalized</span> by [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>] which determines their <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/#bundle-constraints">validity</a> by examining them in isolation of each other. </p>
+
+
+<p>In a distributed environment, it is common to encounter applications that involve multiple parties: it is a common situation that some party creates some data and its provenance, whereas another party consumes the data and its provenance. In such a situation, the consumer, when it in turn generates provenance, often wants to augment the descriptions of entities generated by another producer. For the consumer, it is not suitable to repeat the provenance created by the producer, and augment it according to their need. Instead, a consumer wants to <em>refer</em> to the description as created by the producer <em>in situ</em>, i.e. in its bundle, and <em>specialize it</em>, allowing the consumer to add their own view on this entity. Such a capability would allow parties to "stitch together" provenance descriptions that would otherwise be disconnected.</p>
+
+<p><span class="insert">While URIs are the Web mechanism by which entities can be assigned identities, URIs alone are not sufficient for our purpose. Indeed, the entity produced by the producer is given a URI, but the same entity, with the same URI, could also be described in other bundles, by this producer or third parties. It is the capability of referring to the description of the entity, as created by the producer in this specific bundle, that is of interest to us in this specification. </span></p>
+
+<p>This document introduces a new concept <a href="#concept-mention" class="internalDFN">Mention</a> allowing an entity to be described as the specialization of another entity, itself described in another bundle. The document provides not only a conceptual definition of <a href="#concept-mention" class="internalDFN">Mention</a>, but also the corresponding ontological, schema, and notational definitions, for the various representations of PROV. It also includes constraints that apply to this construct specifically. It is our aim to promote interoperability by defining <a href="#concept-mention" class="internalDFN">Mention</a> conceptually and in the representations of PROV.</p>
+
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">The concept <a href="#concept-mention" class="internalDFN">Mention</a> is experimental, and for this reason was not defined in PROV recommendation-track documents. The Provenance Working Group is seeking feedback from the community on its usefulness in practical scenarios.
+</div></div>
+
+
+
+<section id="prov-namespace">
+<h3><span class="secno"><span class="insert">1.1 </span></span><span class="insert">PROV Namespace</span></h3>
+<p><span class="insert">The PROV namespace URI is </span><span class="name"><span class="insert">http://www.w3.org/ns/prov#</span></span><span class="insert"> and prefix </span><span class="name"><span class="insert">prov</span></span><span class="insert">.</span></p>
+<p><span class="insert"> All the concepts, reserved names, classes, properties, attributes introduced in this specification belong to the PROV namespace.</span></p>
+</section>
+
+<section id="conventions">
+<h3><span class="secno"><span class="insert">1.2 </span></span><span class="insert">Conventions</span></h3>
+
+<p><span class="insert">The key words "</span><em class="rfc2119" title="must"><span class="insert">must</span></em><span class="insert">", "</span><em class="rfc2119" title="must not"><span class="insert">must not</span></em><span class="insert">", "</span><em class="rfc2119" title="required"><span class="insert">required</span></em><span class="insert">", "</span><em class="rfc2119" title="shall"><span class="insert">shall</span></em><span class="insert">", "</span><em class="rfc2119" title="shall
+ not"><span class="insert">shall
+ not</span></em><span class="insert">", "</span><em class="rfc2119" title="should"><span class="insert">should</span></em><span class="insert">", "</span><em class="rfc2119" title="should not"><span class="insert">should not</span></em><span class="insert">", "</span><em class="rfc2119" title="recommended"><span class="insert">recommended</span></em><span class="insert">", "</span><em class="rfc2119" title="may"><span class="insert">may</span></em><span class="insert">", and
+ "</span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert">" in this document are to be interpreted as described in
+ [</span><cite><a class="bibref" href="#bib-RFC2119"><span class="insert">RFC2119</span></a></cite><span class="insert">].</span></p>
+</section>
+
+</section>
+
+<section id="term-mention">
+<h2><span class="secno">2. </span>Conceptual Definition of Mention</h2>
+
+
+
+<p>An entity <span class="name">e1</span> may be mentioned in a bundle <span class="name">b</span>, which contains some
+ descriptions about this entity <span class="name">e1</span>: how <span class="name">e1</span> was generated and used, which activities <span class="name">e1</span> is involved with, the agents <span class="name">e1</span> is attributed to, etc.
+Other bundles may contain other descriptions about the same entity <span class="name">e1</span>.
+Some applications may want to augment
+the descriptions of entity <span class="name">e1</span> found in bundle <span class="name">b</span> with other information.
+To this end, PROV allows a new entity <span class="name">e2</span> to be created and defined as a specialization of the preceding entity <span class="name">e1</span>, and which presents at least an additional aspect: the bundle <span class="name">b</span> containing some descriptions of <span class="name">e1</span>. With this relation, applications that process <span class="name">e2</span>
+can know that the attributes of <span class="name">e2</span> may have been computed according to the descriptions of <span class="name">e1</span> in <span class="name">b</span>.
+(The term 'aspect' should be understood informally as "a particular part or feature of something"; the term is used in [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]'s definitions of
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-entity">entity</a> (Section 5.1.1),
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-specialization">specialization</a> (Section 5.5.1),
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-alternate">alternate</a> (Section 5.5.2), and in
+<a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/#entities-activities-and-agents">section 2.1</a> of [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>]).
+</p>
+
+
+<p>
+ <a href="#figure-component5">Figure 1</a> depicts
+the relation MentionOf <span class="delete">(</span><span class="insert">(concept </span><a href="#concept-mention" class="internalDFN"><span class="delete">mention</span><span class="insert">Mention</span></a>) as a ternary relation.
+</p>
+
+
+<div style="text-align: center;">
+<span class="figure" id="fig-figure-1-uml-diagram-for-mention" style="max-width: 95%; ">
+<img src="figures/component5.png" alt="mention"><br>
+<span class="figcaption" id="figure-component5">Figure 1<sup><a class="internalDFN" href="#figure-component5"><span class="diamond"> ◊:</span></a></sup> UML Diagram for Mention</span>
+</span>
+</div>
+
+
+<p>Thus, <span class="delete">Mention is </span>a <span class="delete">relation between</span><span class="insert">mention relates</span> two entities with regard to a bundle.
+It is a special case of specialization.</p>
+
+
+<span class="glossary-ref"> The <dfn id="concept-mention" title="Mention" class="internalDFN">mention</dfn><sup><a class="internalDFN" href="#concept-mention"><span class="diamond"> ◊</span></a></sup> of an entity in a bundle (containing a description of this entity) is another entity that is a specialization of the former and that presents at least the bundle as a further additional aspect. </span>
+
+
+
+<p>
+An entity is interpreted with respect to a bundle's description in a
+domain specific manner. The mention of this entity with respect to
+this bundle offers the opportunity to specialize it according to some
+domain-specific interpretation.
+</p>
+
+
+<p>A mention of an entity in a bundle results in a specialization of this entity with extra fixed aspects, including the bundle that it is described in.
+</p>
+
+
+
+
+<p></p><div class="attributes" id="attributes-mention">A <dfn title="mentionOf" id="dfn-mentionof" class="internalDFN">mention</dfn><sup><a class="internalDFN" href="#dfn-mentionof"><span class="diamond"> ◊</span></a></sup> relation<span class="withPn">, written <span class="pnExpression"><span class="delete">mentionOf(infra,</span><span class="insert">prov:mentionOf(infra,</span> supra, b)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="mention.specificEntity">specificEntity</span>: an identifier (<span class="name">infra</span>)
+of the entity that is a mention of the general entity (<span class="name">supra</span>);</li>
+<li><span class="attribute" id="mention.generalEntity">generalEntity</span>: an identifier (<span class="name">supra</span>) for an entity that appears in bundle <span class="name">b</span>.</li>
+<li><span class="attribute" id="mention.bundle">bundle</span>: an identifier (<span class="name">b</span>) of a bundle that contains a description of <span class="name">supra</span> and further constitutes one additional aspect presented by <span class="name">infra</span>.</li>
+</ul>
+</div>
+
+<p>Like <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-specialization">specialization</a>, a mention is not, as defined here, an <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-influence">influence</a>, and therefore does not have an id and attributes.
+Its grammar, in the provenance notation, is written as follows.</p>
+
+<table class="grammar">
+<tbody class="prod"> <tr style="vertical-align: baseline; "> <td><a id="prod-mentionExpression" data-name="prod-mentionExpression"></a><span class="prodNo"></span> </td> <td><code class="production prod">mentionExpression</code></td> <td> ::= </td> <td><code class="content"><span class="delete">"mentionOf"</span><span class="insert">"prov:mentionOf"</span> "(" <span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></span> "," <span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-bIdentifier">bIdentifier</a></span> ")"</code></td> </tr> </tbody>
+<tbody class="prod"> <tr style="vertical-align: baseline; "> <td><a id="prod-bIdentifier" data-name="prod-bIdentifier"></a> </td> <td><code class="production prod">bIdentifier</code></td> <td> ::= </td> <td><code class="content"><span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-identifier">identifier</a></span></code></td> </tr> </tbody>
+</table>
+
+
+<p>The following table summarizes how each constituent of a Mention maps to a syntax element, in the provenance notation.</p>
+<div style="text-align: left; ">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<tbody><tr><td><b><a href="#dfn-mentionof">Mention</a></b></td><td><b>Non-Terminal</b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+
+<tr><td><a href="#mention.specificEntity"><span class="attribute" data-id="mention.specificEntity">specificEntity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></code></td></tr>
+
+
+<tr><td><a href="#mention.generalEntity"><span class="attribute" data-id="mention.generalEntity">generalEntity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></code></td></tr>
+
+<tr><td><a href="#mention.bundle"><span class="attribute" data-id="mention.bundle">bundle</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-bIdentifier">bIdentifier</a></code></td></tr>
+
+</tbody></table>
+</div>
+
+<p><span class="insert">We note that the concept </span><a href="#concept-mention" class="internalDFN"><span class="insert">Mention</span></a><span class="insert"> is an extension of [</span><cite><a class="bibref" href="#bib-PROV-DM"><span class="insert">PROV-DM</span></a></cite><span class="insert">], and therefore has to be prefixed,
+</span><span class="name"><span class="insert">prov:mentionOf</span></span><span class="insert">, according the extensibility
+rules of the provenance notation [</span><cite><a class="bibref" href="#bib-PROV-N"><span class="insert">PROV-N</span></a></cite><span class="insert">].</span></p>
+
+
+<p>
+Let us consider a bundle and the expression <span class="name">specializationOf(e2,e1)</span> occuring in this bundle. The entity <span class="name">e1</span> may described <span class="delete">im</span><span class="insert">in</span> multiple other bundle <span class="name">b<sub>i</sub></span>.
+From <span class="name">specializationOf(e2,e1)</span>, one cannot infer <span class="name"><span class="delete">mentionOf(e2,e1,b)</span><span class="insert">prov:mentionOf(e2,e1,b)</span></span> for a given <span class="name">b</span>, since it is unknown which <span class="name">b<sub>i</sub></span>'s descriptions were used to computed additional aspects of <span class="name">e2</span>. Hence, <span class="name"><span class="delete">mentionOf</span><span class="insert">prov:mentionOf</span></span> has to be asserted. </p>
+
+<p><a href="#mention-constraints" class="section-ref"><span>Section 5.</span></a> presents constraints applicable to <a href="#concept-mention" class="internalDFN">Mention</a>, and in particular, the fact that an entity can be a <a href="#mention.specificEntity">specific entity</a> of a <a href="#concept-mention" class="internalDFN">Mention</a> at most once.</p>
+
+
+<div class="anexample" id="anexample-mention-rating"><div class="anexampleTitle">Example 1<sup><a class="internalDFN" href="#anexample-mention-rating"><span class="diamond"> ◊</span></a></sup></div>
+<p>This example is concerned with a performance rating tool that reads and processes provenance to determine the performance of agents. To keep the example simple, an agent's performance is determined by the duration of the activities it is associated with. </p>
+<p>As an illustration, we consider <span class="delete">that </span>two bundles <span class="name">ex:run1</span> and <span class="name">ex:run2</span><span class="insert"> that</span> refer to an agent <span class="name">ex:Bob</span> that controlled two activities <span class="name">ex:a1</span> and <span class="name">ex:a2</span>. </p>
+
+<pre class="codeexample">bundle ex:run1
+ activity(ex:a1, 2011-11-16T16:00:00, 2011-11-16T17:00:00) //duration: 1hour
+ wasAssociatedWith(ex:a1, ex:Bob, [prov:role="controller"])
+endBundle
+
+bundle ex:run2
+ activity(ex:a2, 2011-11-17T10:00:00, 2011-11-17T17:00:00) //duration: 7hours
+ wasAssociatedWith(ex:a2, ex:Bob, [prov:role="controller"])
+endBundle
+</pre>
+<p>The performance rating tool reads these bundles, and rates the performance of the agent described in these bundles. The performance rating tool creates a new bundle <span class="name">tool:analysis01</span> containing the following. A new agent <span class="name">tool:Bob-2011-11-16</span> is declared as a mention of <span class="name">ex:Bob</span> as described in bundle <span class="name">ex:run1</span>, and likewise for <span class="name">tool:Bob-2011-11-17</span> with respect to <span class="name">ex:run2</span>. The tool adds a domain-specific performance attribute to each of these specialized entities as follows: the performance of the agent in the first bundle is judged to be good since the duration of <span class="name">ex:a1</span> is one hour, whereas it is judged to be bad in the second bundle since <span class="name">ex:a2</span>'s duration is seven hours. The attribute <span class="name">perf:rating</span> is an example of additional attribute of the specialized agents <span class="name">tool:Bob-2011-11-16</span> and <span class="name">tool:Bob-2011-11-17</span>.</p>
+
+<pre class="codeexample">bundle tool:analysis01
+ agent(tool:Bob-2011-11-16, [perf:rating="good"])
+ <span class="delete">mentionOf(tool:Bob-2011-11-16,</span><span class="insert">prov:mentionOf(tool:Bob-2011-11-16,</span> ex:Bob, ex:run1)
+
+ agent(tool:Bob-2011-11-17, [perf:rating="bad"])
+ <span class="delete">mentionOf(tool:Bob-2011-11-17,</span><span class="insert">prov:mentionOf(tool:Bob-2011-11-17,</span> ex:Bob, ex:run2)
+endBundle
+</pre>
+</div>
+
+
+
+
+<div class="anexample" id="aexample-mention-viz"><div class="anexampleTitle">Example 2<sup><a class="internalDFN" href="#aexample-mention-viz"><span class="diamond"> ◊</span></a></sup></div>
+<p>Consider the following bundle of descriptions, in which derivation and generations have been identified.
+</p><pre class="codeexample">
+bundle obs:bundle1
+ entity(ex:report1, [ prov:type="report", ex:version=1 ])
+ wasGeneratedBy(ex:g1; ex:report1, -, 2012-05-24T10:00:01)
+ entity(ex:report2, [ prov:type="report", ex:version=2 ])
+ wasGeneratedBy(ex:g2; ex:report2, -, 2012-05-25T11:00:01)
+ wasDerivedFrom(ex:report2, ex:report1)
+endBundle
+entity(obs:bundle1, [ prov:type='prov:Bundle' ])
+wasAttributedTo(obs:bundle1, ex:observer01)
+</pre>
+Bundle <span class="name">obs:bundle1</span> is rendered by a visualisation tool. It may useful for the visualization layout of this bundle to be shared along with the provenance descriptions, so that other users can render provenance as it was originally rendered. The original bundle obviously cannot be changed. However, one can create a new bundle, as follows.
+<pre class="codeexample">
+bundle tool:bundle2
+ entity(tool:bundle2, [ prov:type='viz:Configuration', prov:type='prov:Bundle' ])
+ wasAttributedTo(tool:bundle2, viz:Visualizer)
+
+ entity(tool:report1, [ viz:color="orange" ])
+ <span class="delete">mentionOf(tool:report1,</span><span class="insert">prov:mentionOf(tool:report1,</span> ex:report1, obs:bundle1)
+
+ entity(tool:report2, [ viz:color="blue" ])
+ <span class="delete">mentionOf(tool:report2,</span><span class="insert">prov:mentionOf(tool:report2,</span> ex:report2, obs:bundle1)
+endBundle
+</pre>
+
+<p>In bundle <span class="name">tool:bundle2</span>, the prefix <span class="name">viz</span> is used for naming visualisation-specific attributes, types or values.</p>
+
+<p>This example is typical of a common situation in distributed environments, where the consumer and producer of provenance are different.</p>
+
+<p>Bundle <span class="name">tool:bundle2</span> is given type <span class="name">viz:Configuration</span> to indicate that it consists of descriptions that pertain to the configuration of the visualisation tool. This type attribute can be used for searching bundles containing visualization-related descriptions.
+</p>
+
+<p>The visualisation tool
+ created new identifiers <span class="name">tool:report1</span> and
+<span class="name">tool:report2</span>.
+They denote entities which are specializations of <span class="name">ex:report1</span> and <span class="name">ex:report2</span>, described in bundle <span class="name">obs:bundle1</span>, with visualization attribute for the color to be used when rendering these entities. </p>
+
+</div>
+
+
+
+</section>
+
+
+
+<section id="mention-ontology">
+ <h2><span class="secno">3. </span>Ontological Definition of Mention</h2>
+
+<p>The ternary relation <span class="delete">mentionOf</span><a title="mentionOf" href="#dfn-mentionof" class="internalDFN"><span class="insert">prov:mentionOf</span></a> is encoded as two properties:
+<a href="#mentionOf">prov:mentionOf</a> and
+<a href="#asInBundle">prov:asInBundle</a>, defined as follows.</p>
+
+<div class="entity" id="mentionOf">
+ <h2 id="property--prov-mentionof-op-----------------back-to-expanded-properties">
+ Property: <a href="#mentionOf"><span title="http://www.w3.org/ns/prov#mentionOf" class="dotted">prov:mentionOf</span></a> <sup title="object property" class="type-op">op</sup>
+
+ </h2>
+ <p><strong class="crossreference">IRI:</strong>http://www.w3.org/ns/prov#mentionOf</p>
+
+
+ <div class="description">
+ <div class="comment "><p>When :x prov:mentionOf :y and :y is described in Bundle :b, the triple :x prov:asInBundle :b is also asserted to cite the Bundle in which :y was described.</p>
+ </div>
+ <div class="comment "><p>prov:asInBundle is used to cite the Bundle in which the generalization was mentioned.</p>
+ </div>
+ <dl>
+
+ <dt>has super-properties</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#specializationOf" title="http://www.w3.org/ns/prov#specializationOf">prov:specializationOf</a> <sup title="object property" class="type-op">op</sup>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Entity" title="http://www.w3.org/ns/prov#Entity">prov:Entity</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Entity" title="http://www.w3.org/ns/prov#Entity">prov:Entity</a>
+ </li>
+ </ul>
+ </dd>
+
+ <span class="delete">PROV-DM term</span>
+
+ <span class="delete">mention</span>
+
+
+
+ </dl>
+ </div>
+ </div>
+
+
+<div class="entity" id="asInBundle">
+ <h2 id="property--prov-asinbundle-op-----------------back-to-expanded-properties">
+ Property: <a href="#asInBundle"><span title="http://www.w3.org/ns/prov#asInBundle" class="dotted">prov:asInBundle</span></a> <sup title="object property" class="type-op">op</sup>
+ </h2>
+ <p><strong class="crossreference">IRI:</strong>http://www.w3.org/ns/prov#asInBundle</p>
+
+
+ <div class="description">
+ <div class="comment "><p>When :x prov:mentionOf :y and :y is described in Bundle :b, the triple :x prov:asInBundle :b is also asserted to cite the Bundle in which :y was described.</p>
+ </div>
+ <dl>
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Entity" title="http://www.w3.org/ns/prov#Entity">prov:Entity</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Bundle" title="http://www.w3.org/ns/prov#Bundle">prov:Bundle</a>
+ </li>
+ </ul>
+ </dd>
+
+ <span class="delete">PROV-DM term</span>
+
+ <span class="delete">mention</span>
+
+
+
+ </dl>
+ </div>
+ </div>
+
+<div class="anexample" typeof="prov:Entity" data-about="#example-for-property-mentionOf" id="example_3"><div class="anexampleTitle">Example 3<sup><a class="internalDFN" href="#example_3"><span class="diamond"> ◊</span></a></sup></div>
+ <span resource="http://www.w3.org/ns/prov#mentionOf" data-rel="dcterms:subject"></span>
+
+<p>We revisit <a href="#anexample-mention-rating" class="anexample-ref"><span>Example 1</span></a>, encoding in RDF the rating of Bob in the context of the second activity.<span class="insert"> For this, we use teh TRIG notation to express bundles
+</span><span class="name"><span class="insert">:run2</span></span><span class="insert"> and
+</span><span class="name"><span class="insert">tool:analysis01</span></span><span class="insert">.</span></p>
+
+ <pre property="prov:value" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_mentionOf.ttl" data-rel="prov:wasQuotedFrom">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix tool: <http://example.com/tool/> .
+@prefix perf: <http://example.com/performance/> .
+@prefix : <http://example.com/> .
+
+:run2 {
+ :activity_2
+ a prov:Activity;
+ prov:startedAtTime "2011-11-17T10:00:00"^^xsd:dateTime;
+ prov:endedAtTime "2011-11-17T17:00:00"^^xsd:dateTime;
+ prov:wasAssociatedWith :bob;
+ .
+}
+
+<span class="delete">tool:analysis_01</span><span class="insert">tool:analysis01</span> {
+ tool:bob-2011-11-17
+ a prov:Agent;
+ prov:mentionOf :bob;
+ prov:asInBundle :run2;
+ perf:rating perf:very-slow;
+ .<span class="delete">
+}
+
+</span>
+
+ # This is inferred from prov:mentionOf
+
+ tool:bob-2011-11-17 prov:specializationOf :bob .
+
+
+
+ # This is inferred from prov:specializationOf
+
+ tool:bob-2011-11-17 prov:alternateOf :bob .
+<span class="insert">}
+
+</span></pre>
+ </div>
+</section>
+
+
+<section id="mention-xml">
+ <h2><span class="secno">4. </span>XML Schema for Mention</h2>
+
+
+
+<p>Type definition in XML Schema:</p><pre class="schema-type"><xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Mention">
+ <xs:sequence>
+ <xs:element name="specificEntity" <span class="delete">type="prov:EntityRef"/></span><span class="insert">type="prov:IDRef"/></span>
+ <xs:element name="generalEntity" <span class="delete">type="prov:EntityRef"/></span><span class="insert">type="prov:IDRef"/></span>
+ <xs:element name="bundle" <span class="delete">type="prov:EntityRef"/></span><span class="insert">type="prov:IDRef"/></span>
+ </xs:sequence>
+</xs:complexType>
+</pre>
+<p>Usage in XML:</p><pre class="schema-usage"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="mentionOf" <span class="delete">type="prov:Mention"/></span><span class="insert">type="prov:Mention" substitutionGroup="prov:internalElement"/></span>
+</pre>
+<div class="anexample" id="example_4"><div class="anexampleTitle">Example 4<sup><a class="internalDFN" href="#example_4"><span class="diamond"> ◊</span></a></sup></div>
+<pre><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:perf="http://example.com/ns/perf#"
+ xmlns:tool="http://example.com/ns/tool#">
+
+ <span class="delete"><prov:bundle</span><span class="insert"><prov:bundleContent</span> prov:id="ex:run1">
+ <prov:activity prov:id="ex:a1">
+ <prov:startTime>2011-11-16T16:00:00</prov:startTime>
+ <prov:endTime>2011-11-16T17:00:00</prov:endTime>
+ </prov:activity>
+
+ <prov:wasAssociatedWith>
+ <prov:activity prov:ref="ex:a1" />
+ <prov:agent prov:ref="ex:Bob" />
+ <prov:role xsi:type="xsd:QName">controller</prov:role>
+ </prov:wasAssociatedWith>
+ <span class="delete"></prov:bundle></span><span class="insert"></prov:bundleContent></span>
+
+ <span class="delete"><prov:bundle</span><span class="insert"><prov:bundleContent</span> prov:id="ex:run2">
+ <prov:activity prov:id="ex:a2">
+ <prov:startTime>2011-11-17T10:00:00</prov:startTime>
+ <prov:endTime>2011-11-17T17:00:00</prov:endTime>
+ </prov:activity>
+
+ <prov:wasAssociatedWith>
+ <prov:activity prov:ref="ex:a2" />
+ <prov:agent prov:ref="ex:Bob" />
+ <prov:role xsi:type="xsd:QName">controller</prov:role>
+ </prov:wasAssociatedWith>
+ <span class="delete"></prov:bundle></span><span class="insert"></prov:bundleContent></span>
+
+ <span class="delete"><prov:bundle</span><span class="insert"><prov:bundleContent</span> prov:id="tool:analysis01">
+ <prov:agent prov:id="tool:Bob-2011-11-16">
+ <ex:perfrating>good</ex:perfrating>
+ </prov:agent>
+
+ <b><prov:mentionOf>
+ <prov:specificEntity prov:ref="tool:Bob-2011-11-16" />
+ <prov:generalEntity prov:ref="ex:Bob" />
+ <prov:bundle prov:ref="ex:run1" />
+ </prov:mentionOf></b>
+
+ <prov:agent prov:id="tool:Bob-2011-11-17">
+ <ex:perfrating>bad</ex:perfrating>
+ </prov:agent>
+
+ <b><prov:mentionOf>
+ <prov:specificEntity prov:ref="tool:Bob-2011-11-17" />
+ <prov:generalEntity prov:ref="ex:Bob" />
+ <prov:bundle prov:ref="ex:run2" />
+ </prov:mentionOf></b>
+ <span class="delete"></prov:bundle></span><span class="insert"></prov:bundleContent></span>
+
+</prov:document></pre></div>
+</section>
+
+
+
+
+
+
+<section id="mention-constraints">
+ <h2><span class="secno">5. </span>Constraints associated with Mention</h2>
+
+
+
+
+
+ <p id="mention-specialization-inference_text">If one entity is a mention of another in a bundle, then the former is also a specialization of the latter:</p>
+
+ <div class="inference" id="mention-specialization-inference">
+<p>
+<span class="conditional">IF</span> <span class="name">mentionOf(e2,e1,b)</span> <span class="conditional">THEN</span> <span class="name">specializationOf(e2,e1)</span>.</p>
+ </div>
+
+
+
+
+<div id="unique-mention_text">
+<p>An entity can be the subject of at most one mention relation.</p>
+</div>
+
+
+<div class="constraint" id="unique-mention">
+<p>
+<span class="conditional">IF</span> <span class="name">mentionOf(e, e1, b1)</span> and <span class="name">mentionOf(e, e2, b2)</span>,
+<span class="conditional">THEN</span> <span class="name">e1</span>=<span class="name">e2</span> and <span class="name">b1</span>=<span class="name">b2</span>.</p>
+</div>
+
+
+
+</section>
+
+
+
+
+
+<section class="appendix" id="change-log-since-first-public-working-draft">
+ <h2><span class="secno"><span class="insert">A. </span></span><span class="insert">Change Log Since First Public Working Draft</span></h2>
+<ul>
+<li><span class="insert"> Checked all internal fragments resolved.
+</span></li><li><span class="insert"> 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.
+</span></li><li><span class="insert"> Changed all URLs to PROV documents.
+</span></li><li><span class="insert"> Updated XML schema definition.
+</span></li><li><span class="insert"> Updated affiliations.
+</span></li><li><span class="insert"> Added namespace and convention sections.
+</span></li><li><span class="insert"> Updated grammar to make prov prefix explicit.
+</span></li><li><span class="insert"> Added new paragraph in introduction.
+</span></li><li><span class="insert"> Moved "inferred statements" into named graph tool:analysis01 in Example 3.
+</span></li><li><span class="insert"> Added comment on TRIG notation.
+</span></li><li><span class="insert"> Updated xml example with new syntax of bundles.
+</span></li></ul>
+</section>
+
+<section class="appendix" id="acknowledgements">
+ <h2><span class="secno"><span class="delete">A.</span><span class="insert">B.</span> </span>Acknowledgements</h2>
+ <p>
+
+This document has been produced by the PROV Working Group, and its contents reflect extensive discussion within the Working Group as a whole. The editors extend special thanks to Ivan Herman (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>).
+ </p>
+
+<p>
+Members of the PROV Working Group at the time of publication of this document were:
+
+Ilkay Altintas (Invited expert),
+Reza B'Far (Oracle Corporation),
+Khalid Belhajjame (University of Manchester),
+James Cheney (University of Edinburgh, School of Informatics),
+Sam Coppens <span class="delete">(IBBT),</span><span class="insert">(iMinds - Ghent University),</span>
+David Corsar (University of Aberdeen, Computing Science),
+Stephen Cresswell (The National Archives),
+Tom De Nies <span class="delete">(IBBT),</span><span class="insert">(iMinds - Ghent University),</span>
+Helena Deus (DERI Galway at the National University of Ireland, Galway, Ireland),
+Simon Dobson (Invited expert),
+Martin Doerr (Foundation for Research and Technology - Hellas(FORTH)),
+Kai Eckert (Invited expert),
+Jean-Pierre EVAIN (European Broadcasting Union, EBU-UER),
+James Frew (Invited expert),
+Irini Fundulaki (Foundation for Research and Technology - Hellas(FORTH)),
+Daniel Garijo (Universidad Politécnica de Madrid),
+Yolanda Gil (Invited expert),
+Ryan Golden (Oracle Corporation),
+Paul Groth (Vrije Universiteit),
+Olaf Hartig (Invited expert),
+David Hau (National Cancer Institute, NCI),
+Sandro Hawke (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="Massachusetts Institute of Technology">MIT</abbr>),
+Jörn Hees (German Research Center for Artificial Intelligence (DFKI) Gmbh),
+Ivan Herman, (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>),
+Ralph Hodgson (TopQuadrant),
+Hook Hua (Invited expert),
+Trung Dong Huynh (University of Southampton),
+Graham Klyne (University of Oxford),
+Michael Lang (Revelytix, Inc.),
+Timothy Lebo (Rensselaer Polytechnic Institute),
+James McCusker (Rensselaer Polytechnic Institute),
+Deborah McGuinness (Rensselaer Polytechnic Institute),
+Simon Miles (Invited expert),
+Paolo Missier (School of Computing Science, Newcastle university),
+Luc Moreau (University of Southampton),
+James Myers (Rensselaer Polytechnic Institute),
+Vinh Nguyen (Wright State University),
+Edoardo Pignotti (University of Aberdeen, Computing Science),
+Paulo da Silva Pinheiro (Rensselaer Polytechnic Institute),
+Carl Reed (Open Geospatial Consortium),
+Adam Retter (Invited Expert),
+Christine Runnegar (Invited expert),
+Satya Sahoo (Invited expert),
+David Schaengold (Revelytix, Inc.),
+Daniel Schutzer (FSTC, Financial Services Technology Consortium),
+Yogesh Simmhan (Invited expert),
+Stian Soiland-Reyes (University of Manchester),
+Eric Stephan (Pacific Northwest National Laboratory),
+Linda Stewart (The National Archives),
+Ed Summers (Library of Congress),
+Maria Theodoridou (Foundation for Research and Technology - Hellas(FORTH)),
+Ted Thibodeau (OpenLink Software Inc.),
+Curt Tilmes (National Aeronautics and Space Administration),
+Craig Trim (IBM Corporation),
+Stephan Zednik (Rensselaer Polytechnic Institute),
+Jun Zhao (University of Oxford),
+Yuting Zhao (University of Aberdeen, Computing Science).
+</p>
+ </section>
+
+
+
+
+<section id="references" class="appendix"><h2><span class="secno"><span class="delete">B.</span><span class="insert">C.</span> </span>References</h2><section id="informative-references"><h3><span class="secno"><span class="delete">B.1</span><span class="insert">C.1</span> </span>Informative references</h3><dl class="bibliography"><dt id="bib-PROV-AQ">[PROV-AQ]</dt><dd>Graham Klyne; Paul Groth; eds. <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/"><cite>Provenance Access and Query</cite></a>. <span class="delete">19 June 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-aq-20120619/</span><a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-aq-20130312/</span></a>
+</dd><dt id="bib-PROV-CONSTRAINTS">[PROV-CONSTRAINTS]</dt><dd>James Cheney; Paolo Missier; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/"><cite>Constraints of the PROV Data Model</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> W3C <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation. URL: <span class="delete">http://www.w3.org/TR/2012/CR-prov-constraints-20121211/</span><a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-constraints-20130312/</span></a>
+</dd><dt id="bib-PROV-DC"><span class="insert">[PROV-DC]</span></dt><dd><span class="insert">Daniel Garijo; Kai Eckert; eds. </span><a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><cite><span class="insert">Dublin Core to PROV Mapping</span></cite></a><span class="insert">. 12 March 2013, Working Draft. URL: </span><a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-dc-20130312/</span></a>
+</dd><dt id="bib-PROV-DICTIONARY"><span class="insert">[PROV-DICTIONARY]</span></dt><dd><span class="insert">Tom De Nies; Sam Coppens; eds. </span><a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><cite><span class="insert">PROV Dictionary</span></cite></a><span class="insert">. 12 March 2013, Working Draft. URL: </span><a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/</span></a>
+</dd><dt id="bib-PROV-DM">[PROV-DM]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><cite>PROV-DM: The PROV Data Model</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> W3C <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation. URL: <span class="delete">http://www.w3.org/TR/2012/CR-prov-dm-20121211/</span><a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-dm-20130312/</span></a>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/"><cite>PROV-N: The Provenance Notation</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> W3C <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation. URL: <span class="delete">http://www.w3.org/TR/2012/CR-prov-n-20121211/</span><a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-n-20130312/</span></a>
+</dd><dt id="bib-PROV-O">[PROV-O]</dt><dd>Timothy Lebo; Satya Sahoo; Deborah McGuinness; eds. <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/"><cite>PROV-O: The PROV Ontology</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> W3C <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation. URL: <span class="delete">http://www.w3.org/TR/2012/CR-prov-o-20121211/</span><a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-o-20130312/</span></a>
+</dd><dt id="bib-PROV-OVERVIEW">[PROV-OVERVIEW]</dt><dd>Paul Groth; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><cite>PROV-OVERVIEW: An Overview of the PROV Family of Documents</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-overview-20121211/</span><a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-overview-20130312/</span></a>
+</dd><dt id="bib-PROV-PRIMER">[PROV-PRIMER]</dt><dd>Yolanda Gil; Simon Miles; eds. <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/"><cite>PROV Model Primer</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-primer-20121211/</span><a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-primer-20130312/</span></a>
+</dd><dt id="bib-PROV-SEM"><span class="insert">[PROV-SEM]</span></dt><dd><span class="insert">James Cheney; ed. </span><a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312"><cite><span class="insert">Semantics of the PROV Data Model</span></cite></a><span class="insert">. 12 March 2013, Working Draft. URL: </span><a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312"><span class="insert">http://www.w3.org/TR/2013/WD-prov-sem-20130312</span></a><span class="insert">.</span>
+</dd><dt id="bib-PROV-XML">[PROV-XML]</dt><dd>Hook Hua; Curt Tilmes; Stephan Zednik; eds. <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><cite>PROV-XML: The PROV XML Schema</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-xml-20121211/</span>
+<a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-xml-20130312/</span></a>
+</dd><dt id="bib-RFC2119"><span class="insert">[RFC2119]</span></dt><dd><span class="insert">S. Bradner. </span><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite><span class="insert">Key words for use in RFCs to Indicate Requirement Levels.</span></cite></a><span class="insert"> March 1997. Internet RFC 2119. URL: </span><a href="http://www.ietf.org/rfc/rfc2119.txt"><span class="insert">http://www.ietf.org/rfc/rfc2119.txt</span></a>
+</dd></dl></section></section></body></html>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/links/examples/Makefile Thu Feb 28 00:12:50 2013 +0100
@@ -0,0 +1,4 @@
+SCHEMA = ../../examples/eg-40-xml-examples-by-term/xml/ex.xsd
+
+validate:
+ xmllint --noout --schema $(SCHEMA) *.provx
--- a/links/examples/Mention_45.provx Mon Feb 25 17:07:43 2013 +0100
+++ b/links/examples/Mention_45.provx Thu Feb 28 00:12:50 2013 +0100
@@ -10,7 +10,7 @@
xmlns:perf="http://example.com/ns/perf#"
xmlns:tool="http://example.com/ns/tool#">
- <prov:bundle prov:id="ex:run1">
+ <prov:bundleContent prov:id="ex:run1">
<prov:activity prov:id="ex:a1">
<prov:startTime>2011-11-16T16:00:00</prov:startTime>
<prov:endTime>2011-11-16T17:00:00</prov:endTime>
@@ -21,9 +21,9 @@
<prov:agent prov:ref="ex:Bob" />
<prov:role xsi:type="xsd:QName">controller</prov:role>
</prov:wasAssociatedWith>
- </prov:bundle>
+ </prov:bundleContent>
- <prov:bundle prov:id="ex:run2">
+ <prov:bundleContent prov:id="ex:run2">
<prov:activity prov:id="ex:a2">
<prov:startTime>2011-11-17T10:00:00</prov:startTime>
<prov:endTime>2011-11-17T17:00:00</prov:endTime>
@@ -34,9 +34,9 @@
<prov:agent prov:ref="ex:Bob" />
<prov:role xsi:type="xsd:QName">controller</prov:role>
</prov:wasAssociatedWith>
- </prov:bundle>
+ </prov:bundleContent>
- <prov:bundle prov:id="tool:analysis01">
+ <prov:bundleContent prov:id="tool:analysis01">
<prov:agent prov:id="tool:Bob-2011-11-16">
<ex:perfrating>good</ex:perfrating>
</prov:agent>
@@ -56,6 +56,6 @@
<prov:generalEntity prov:ref="ex:Bob" />
<prov:bundle prov:ref="ex:run2" />
</prov:mentionOf>
- </prov:bundle>
+ </prov:bundleContent>
</prov:document>
--- a/links/examples/Mention_46.provx Mon Feb 25 17:07:43 2013 +0100
+++ b/links/examples/Mention_46.provx Thu Feb 28 00:12:50 2013 +0100
@@ -11,7 +11,7 @@
xmlns:viz="http://example.com/ns/viz#"
xmlns:obs="http://example.com/ns/obs#">
- <prov:bundle prov:id="obs:bundle1">
+ <prov:bundleContent prov:id="obs:bundle1">
<prov:entity prov:id="ex:report1">
<prov:type xsi:type="xsd:QName">report</prov:type>
<ex:version>1</ex:version>
@@ -36,7 +36,7 @@
<prov:generatedEntity prov:ref="ex:report2"/>
<prov:usedEntity prov:ref="ex:report1"/>
</prov:wasDerivedFrom>
- </prov:bundle>
+ </prov:bundleContent>
<prov:entity prov:id="obs:bundle1">
<prov:type xsi:type="xsd:QName">prov:Bundle</prov:type>
@@ -47,7 +47,7 @@
<prov:agent prov:ref="ex:observer01"/>
</prov:wasAttributedTo>
- <prov:bundle prov:id="tool:bundle2">
+ <prov:bundleContent prov:id="tool:bundle2">
<prov:entity prov:id="tool:bundle2">
<prov:type xsi:type="xsd:QName">viz:Configuration</prov:type>
<prov:type xsi:type="xsd:QName">prov:Bundle</prov:type>
@@ -78,6 +78,6 @@
<prov:bundle prov:ref="obs:bundle1"/>
</prov:mentionOf>
- </prov:bundle>
+ </prov:bundleContent>
</prov:document>
--- a/links/prov-links.html Mon Feb 25 17:07:43 2013 +0100
+++ b/links/prov-links.html Thu Feb 28 00:12:50 2013 +0100
@@ -4,6 +4,7 @@
<html><head>
<title>Linking Across Provenance Bundles</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-links"/>
<script src="../model/prov-magic.js" class="remove"></script>
@@ -596,6 +597,12 @@
updateGrammarRefs();
updateExamples();
updateExamplesRefs();
+ if (typeof String.prototype.contains != 'function') {
+ String.prototype.contains = function (str) {
+ return this.indexOf(str) >= 0;
+ };
+ }
+
if (typeof String.prototype.startsWith != 'function') {
String.prototype.startsWith = function (str){
@@ -631,18 +638,18 @@
};
var respecConfig = {
// specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
- specStatus: "ED", //FPWD-NOTE
+ specStatus: "WD-NOTE", //FPWD-NOTE
// the specification's short name, as in http://www.w3.org/TR/short-name/
shortName: "prov-links",
// if your specification has a subtitle that goes below the main
// formal title, define it here
- subtitle : "Preparing second WD",
+ //subtitle : "Preparing second WD",
// if you wish the publication date to be other than today, set this
- //publishDate: "2012-12-11",
+ publishDate: "2013-03-12",
// if the specification's copyright date is a range of years, specify
// the start date here:
@@ -651,7 +658,7 @@
// if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
// and its maturity status
previousPublishDate: "2012-12-11",
- previousMaturity: "FPWD-NOTE",
+ previousMaturity: "WD-NOTE",
// if there a publicly available Editor's Draft, this is the link
edDraftURI: "http://dvcs.w3.org/hg/prov/raw-file/default/links/prov-links.html",
@@ -698,7 +705,7 @@
// Add extraReferences to bibliography database
preProcess: [addExtraReferences, addProvReferences],
- postProcess: [updateSectionRefs, updateDfn, updateFigures],
+ postProcess: [updateSectionRefs, updateDfn, updateFigures, setColoredDiffs, checkFragments, checkLinksToW3CReports],
};
</script>
</head>
@@ -709,7 +716,7 @@
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.
-<a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#dfn-bundle">Bundles</a>,
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-bundle">Bundles</a>,
defined in [[PROV-DM]] as sets of provenance descriptions, were
introduced in PROV as the mechanism by which provenance of provenance
can be expressed. Bundles, whose validity is established
@@ -722,35 +729,27 @@
In applications where provenance is created by multiple parties over time, it is useful for provenance descriptions created by one party to link to provenance descriptions created by another party. Such a mechanism would allow the "stitching" of provenance descriptions together. Given that provenance descriptions are expected to be contained in bundles, this would require a capability to link entity descriptions across bundles. To address this requirement, this document introduces a relation <a>Mention</a> allowing an entity description to be linked to another entity description occurring in another bundle.
</p>
-<p>The <a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/">PROV Document Overview</a> describes the overall state of PROV, and should be read before other PROV documents.</p>
+<p>The <a href="http://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">
<h4>PROV Family of Documents</h4>
This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
-interchange of provenance information in heterogeneous environments such as the Web. These documents are:
+interchange of provenance information in heterogeneous environments such as the Web. These documents are listed below. Please consult the [[PROV-OVERVIEW]] for a guide to reading these documents.
<ul>
-<li> <a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [[PROV-OVERVIEW]];</li>
-<li> <a href="http://www.w3.org/TR/2012/WD-prov-primer-20121211/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [[PROV-PRIMER]];</li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-o-20121211/">PROV-O</a> (Candidate Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [[PROV-O]];</li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/">PROV-DM</a> (Candidate Recommendation), the PROV data model for provenance [[PROV-DM]];</li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/">PROV-N</a> (Candidate Recommendation), a notation for provenance aimed at human consumption [[PROV-N]];</li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-constraints-20121211/">PROV-CONSTRAINTS</a> (Candidate Recommendation), a set of constraints applying to the PROV data model [[PROV-CONSTRAINTS]];</li>
-<li> <a href="http://www.w3.org/TR/2012/WD-prov-aq-20120619/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [[PROV-AQ]]; </li>
-<li> <a href="http://www.w3.org/TR/2012/WD-prov-xml-20121211/">PROV-XML</a> (To be published as Note), an XML schema for the PROV data model [[PROV-XML]];</li>
-<li> <a href="http://www.w3.org/TR/2012/WD-prov-links-20121211/">PROV-LINKS</a> (To be published as Note), introduces a mechanism to link across bundles (this document).</li>
-
-</ul>
-<h4>How to read the PROV Family of Documentation</h4>
-<ul>
-<li>[[PROV-OVERVIEW]] overviews the PROV family of documents. </li>
-<li>The primer [[PROV-PRIMER]] is the entry point to PROV offering an introduction to the provenance model.</li>
-<li>The Linked Data and Semantic Web community should focus on [[PROV-O]] defining PROV classes and properties specified in an OWL2 ontology. For further details, [[PROV-DM]] and [[PROV-CONSTRAINTS]] specify the constraints applicable to the data model, and its interpretation. </li>
-<li>The XML community should focus on [[PROV-XML]] defining an XML schema for PROV. Further details can also be found in [[PROV-DM]] and [[PROV-CONSTRAINTS]].</li>
-<li>Developers seeking to retrieve or publish provenance should focus on [[PROV-AQ]].</li>
-<li>Readers seeking to implement other PROV serializations
-should focus on [[PROV-DM]] and [[PROV-CONSTRAINTS]]. [[PROV-O]], [[PROV-N]], and [[PROV-XML]] offer examples of mapping to RDF, text, and XML, respectively.</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [[PROV-OVERVIEW]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [[PROV-PRIMER]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> (Proposed Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [[PROV-O]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> (Proposed Recommendation), the PROV data model for provenance [[PROV-DM]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> (Proposed Recommendation), a notation for provenance aimed at human consumption [[PROV-N]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> (Proposed Recommendation), a set of constraints applying to the PROV data model [[PROV-CONSTRAINTS]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note), an XML schema for the PROV data model [[PROV-XML]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [[PROV-AQ]]; </li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [[PROV-DICTIONARY]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [[PROV-DC]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/">PROV-SEM</a> (To be published as Note), a declarative specification in terms of first-order logic of the PROV data model [[PROV-SEM]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles (this document).</li>
</ul>
</section>
@@ -764,8 +763,8 @@
<h2>Introduction</h2>
<p>
-<a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/">Provenance</a>
-is a record that describes the people, institutions, entities, and
+The PROV data model [[PROV-DM]] defines <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">provenance</a>
+as a record that describes the people, institutions, entities, and
activities involved in producing, influencing, or delivering a piece
of data or a thing. The specifications [[PROV-O]], [[PROV-DM]],
[[PROV-N]], and [[PROV-XML]] have respectively defined the PROV
@@ -774,15 +773,34 @@
represented in various representations, and interchanged between systems across the Web.
</p>
-<p>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. To support this, provenance itself should be trusted, and therefore, provenance of provenance is itself a critical aspect of an information infrastructure such as the Web. To this end, PROV introduces the concept of <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#concept-bundle">Bundle</a>: defined as a set of provenance descriptions, it is a mechanism by which provenance of provenance can be expressed (see also <a href="http://www.w3.org/TR/2012/CR-prov-o-20121211/#Bundle">Bundle</a> [[PROV-O]] and <a href="http://www.w3.org/TR/2012/WD-prov-xml-20121211/#term-Bundle">Bundle</a> [[PROV-XML]]). With bundles, blobs of provenance descriptions can be given names and can themselves be regarded as entities, whose provenance can in turn be described using PROV. These blobs of provenance descriptions are independent of each other, as illustrated by [[PROV-CONSTRAINTS]] which determines their <a href="http://www.w3.org/TR/2012/CR-prov-constraints-20121211/#bundle-constraints">validity</a> by examining them in isolation of each other. </p>
+<p>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. To support this, provenance itself should be trusted, and therefore, provenance of provenance is itself a critical aspect of an information infrastructure such as the Web. To this end, PROV introduces the concept of <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-bundle">Bundle</a>: defined as a set of provenance descriptions; it is a mechanism by which provenance of provenance can be expressed (see also <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#Bundle">Bundle</a> [[PROV-O]] and <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/#term-Bundle">Bundle</a> [[PROV-XML]]). With bundles, blobs of provenance descriptions can be given names and can themselves be regarded as entities, whose provenance can in turn be described using PROV. These blobs of provenance descriptions are independent of each other, as formalized by [[PROV-CONSTRAINTS]] which determines their <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/#bundle-constraints">validity</a> by examining them in isolation of each other. </p>
<p>In a distributed environment, it is common to encounter applications that involve multiple parties: it is a common situation that some party creates some data and its provenance, whereas another party consumes the data and its provenance. In such a situation, the consumer, when it in turn generates provenance, often wants to augment the descriptions of entities generated by another producer. For the consumer, it is not suitable to repeat the provenance created by the producer, and augment it according to their need. Instead, a consumer wants to <em>refer</em> to the description as created by the producer <em>in situ</em>, i.e. in its bundle, and <em>specialize it</em>, allowing the consumer to add their own view on this entity. Such a capability would allow parties to "stitch together" provenance descriptions that would otherwise be disconnected.</p>
+<p>While URIs are the Web mechanism by which entities can be assigned identities, URIs alone are not sufficient for our purpose. Indeed, the entity produced by the producer is given a URI, but the same entity, with the same URI, could also be described in other bundles, by this producer or third parties. It is the capability of referring to the description of the entity, as created by the producer in this specific bundle, that is of interest to us in this specification. </p>
+
<p>This document introduces a new concept <a>Mention</a> allowing an entity to be described as the specialization of another entity, itself described in another bundle. The document provides not only a conceptual definition of <a>Mention</a>, but also the corresponding ontological, schema, and notational definitions, for the various representations of PROV. It also includes constraints that apply to this construct specifically. It is our aim to promote interoperability by defining <a>Mention</a> conceptually and in the representations of PROV.</p>
<div class="note">The concept <a>Mention</a> is experimental, and for this reason was not defined in PROV recommendation-track documents. The Provenance Working Group is seeking feedback from the community on its usefulness in practical scenarios.
</div>
+
+
+<section id="prov-namespace">
+<h3>PROV Namespace</h3>
+<p>The PROV namespace URI is <span class="name">http://www.w3.org/ns/prov#</span> and prefix <span class="name">prov</span>.</p>
+<p> All the concepts, reserved names, classes, properties, attributes introduced in this specification belong to the PROV namespace.</p>
+</section> <!-- end prov-namespace -->
+
+<section id="conventions">
+<h3>Conventions</h3>
+
+<p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
+ NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
+ "OPTIONAL" in this document are to be interpreted as described in
+ [[RFC2119]].</p>
+</section> <!-- end conventions -->
+
</section>
<section id="term-mention">
@@ -798,16 +816,16 @@
To this end, PROV allows a new entity <span class="name">e2</span> to be created and defined as a specialization of the preceding entity <span class="name">e1</span>, and which presents at least an additional aspect: the bundle <span class="name">b</span> containing some descriptions of <span class="name">e1</span>. With this relation, applications that process <span class="name">e2</span>
can know that the attributes of <span class="name">e2</span> may have been computed according to the descriptions of <span class="name">e1</span> in <span class="name">b</span>.
(The term 'aspect' should be understood informally as "a particular part or feature of something"; the term is used in [[PROV-DM]]'s definitions of
-<a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#concept-entity">entity</a> (Section 5.1.1),
-<a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#concept-specialization">specialization</a> (Section 5.5.1),
-<a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#concept-alternate">alternate</a> (Section 5.5.2), and in
-<a href="http://www.w3.org/TR/2012/CR-prov-constraints-20121211/#entities-activities-and-agents">section 2.1</a> of [[PROV-CONSTRAINTS]]).
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-entity">entity</a> (Section 5.1.1),
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-specialization">specialization</a> (Section 5.5.1),
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-alternate">alternate</a> (Section 5.5.2), and in
+<a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/#entities-activities-and-agents">section 2.1</a> of [[PROV-CONSTRAINTS]]).
</p>
<p>
<a href="#figure-component5">Figure 1</a> depicts
-the relation MentionOf (<a>mention</a>) as a ternary relation.
+the relation MentionOf (concept <a>Mention</a>) as a ternary relation.
</p>
@@ -819,7 +837,7 @@
</div>
-<p>Thus, Mention is a relation between two entities with regard to a bundle.
+<p>Thus, a mention relates two entities with regard to a bundle.
It is a special case of specialization.</p>
@@ -841,7 +859,7 @@
-<p><div class="attributes" id="attributes-mention">A <dfn title="mentionOf">mention</dfn> relation<span class="withPn">, written <span class="pnExpression">mentionOf(infra, supra, b)</span> in PROV-N,</span> has:
+<p><div class="attributes" id="attributes-mention">A <dfn title="mentionOf">mention</dfn> relation<span class="withPn">, written <span class="pnExpression">prov:mentionOf(infra, supra, b)</span> in PROV-N,</span> has:
<ul>
<li><span class='attribute' id="mention.specificEntity">specificEntity</span>: an identifier (<span class="name">infra</span>)
of the entity that is a mention of the general entity (<span class="name">supra</span>);</li>
@@ -850,12 +868,12 @@
</ul>
</div>
-<p>Like <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#dfn-specialization">specialization</a>, a mention is not, as defined here, an <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#dfn-influence">influence</a>, and therefore does not have an id and attributes.
+<p>Like <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-specialization">specialization</a>, a mention is not, as defined here, an <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-influence">influence</a>, and therefore does not have an id and attributes.
Its grammar, in the provenance notation, is written as follows.</p>
<table class="grammar">
-<tbody class="prod"> <tr style="vertical-align: baseline; "> <td><a id="prod-mentionExpression" data-name="prod-mentionExpression"></a><span class="prodNo"></span> </td> <td><code class="production prod">mentionExpression</code></td> <td> ::= </td> <td><code class="content">"mentionOf" "(" <span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-eIdentifier">eIdentifier</a></span> "," <span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-eIdentifier">eIdentifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-bIdentifier">bIdentifier</a></span> ")"</code></td> </tr> </tbody>
-<tbody class="prod"> <tr style="vertical-align: baseline; "> <td><a id="prod-bIdentifier" data-name="prod-bIdentifier"></a> </td> <td><code class="production prod">bIdentifier</code></td> <td> ::= </td> <td><code class="content"><span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-identifier">identifier</a></span></code></td> </tr> </tbody>
+<tbody class="prod"> <tr style="vertical-align: baseline; "> <td><a id="prod-mentionExpression" data-name="prod-mentionExpression"></a><span class="prodNo"></span> </td> <td><code class="production prod">mentionExpression</code></td> <td> ::= </td> <td><code class="content">"prov:mentionOf" "(" <span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></span> "," <span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-bIdentifier">bIdentifier</a></span> ")"</code></td> </tr> </tbody>
+<tbody class="prod"> <tr style="vertical-align: baseline; "> <td><a id="prod-bIdentifier" data-name="prod-bIdentifier"></a> </td> <td><code class="production prod">bIdentifier</code></td> <td> ::= </td> <td><code class="content"><span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-identifier">identifier</a></span></code></td> </tr> </tbody>
</table>
@@ -866,27 +884,31 @@
<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
-<tr><td><a href="#mention.specificEntity"><span class='attribute' data-id="mention.specificEntity">specificEntity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-eIdentifier">eIdentifier</a></code></td></tr>
+<tr><td><a href="#mention.specificEntity"><span class='attribute' data-id="mention.specificEntity">specificEntity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></code></td></tr>
-<tr><td><a href="#mention.generalEntity"><span class='attribute' data-id="mention.generalEntity">generalEntity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-eIdentifier">eIdentifier</a></code></td></tr>
+<tr><td><a href="#mention.generalEntity"><span class='attribute' data-id="mention.generalEntity">generalEntity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></code></td></tr>
<tr><td><a href="#mention.bundle"><span class='attribute' data-id="mention.bundle">bundle</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-bIdentifier">bIdentifier</a></code></td></tr>
</table>
</div>
+<p>We note that the concept <a>Mention</a> is an extension of [[PROV-DM]], and therefore has to be prefixed,
+<span class="name">prov:mentionOf</span>, according the extensibility
+rules of the provenance notation [[PROV-N]].</p>
+
<p>
-Let us consider a bundle and the expression <span class="name">specializationOf(e2,e1)</span> occuring in this bundle. The entity <span class="name">e1</span> may described im multiple other bundle <span class="name">b<sub>i</sub></span>.
-From <span class="name">specializationOf(e2,e1)</span>, one cannot infer <span class="name">mentionOf(e2,e1,b)</span> for a given <span class="name">b</span>, since it is unknown which <span class="name">b<sub>i</sub></span>'s descriptions were used to computed additional aspects of <span class="name">e2</span>. Hence, <span class="name">mentionOf</span> has to be asserted. </p>
+Let us consider a bundle and the expression <span class="name">specializationOf(e2,e1)</span> occuring in this bundle. The entity <span class="name">e1</span> may described in multiple other bundle <span class="name">b<sub>i</sub></span>.
+From <span class="name">specializationOf(e2,e1)</span>, one cannot infer <span class="name">prov:mentionOf(e2,e1,b)</span> for a given <span class="name">b</span>, since it is unknown which <span class="name">b<sub>i</sub></span>'s descriptions were used to computed additional aspects of <span class="name">e2</span>. Hence, <span class="name">prov:mentionOf</span> has to be asserted. </p>
<p><a href="#mention-constraints" class="section-ref"><span>TBD</span></a> presents constraints applicable to <a>Mention</a>, and in particular, the fact that an entity can be a <a href="#mention.specificEntity">specific entity</a> of a <a>Mention</a> at most once.</p>
<div class="anexample" id="anexample-mention-rating">
<p>This example is concerned with a performance rating tool that reads and processes provenance to determine the performance of agents. To keep the example simple, an agent's performance is determined by the duration of the activities it is associated with. </p>
-<p>As an illustration, we consider that two bundles <span class="name">ex:run1</span> and <span class="name">ex:run2</span> refer to an agent <span class="name">ex:Bob</span> that controlled two activities <span class="name">ex:a1</span> and <span class="name">ex:a2</span>. </p>
+<p>As an illustration, we consider two bundles <span class="name">ex:run1</span> and <span class="name">ex:run2</span> that refer to an agent <span class="name">ex:Bob</span> that controlled two activities <span class="name">ex:a1</span> and <span class="name">ex:a2</span>. </p>
<pre class="codeexample">
bundle ex:run1
@@ -904,10 +926,10 @@
<pre class="codeexample">
bundle tool:analysis01
agent(tool:Bob-2011-11-16, [perf:rating="good"])
- mentionOf(tool:Bob-2011-11-16, ex:Bob, ex:run1)
+ prov:mentionOf(tool:Bob-2011-11-16, ex:Bob, ex:run1)
agent(tool:Bob-2011-11-17, [perf:rating="bad"])
- mentionOf(tool:Bob-2011-11-17, ex:Bob, ex:run2)
+ prov:mentionOf(tool:Bob-2011-11-17, ex:Bob, ex:run2)
endBundle
</pre>
</div>
@@ -935,10 +957,10 @@
wasAttributedTo(tool:bundle2, viz:Visualizer)
entity(tool:report1, [ viz:color="orange" ])
- mentionOf(tool:report1, ex:report1, obs:bundle1)
+ prov:mentionOf(tool:report1, ex:report1, obs:bundle1)
entity(tool:report2, [ viz:color="blue" ])
- mentionOf(tool:report2, ex:report2, obs:bundle1)
+ prov:mentionOf(tool:report2, ex:report2, obs:bundle1)
endBundle
</pre>
@@ -965,7 +987,7 @@
<section id="mention-ontology">
<h2>Ontological Definition of Mention</h2>
-<p>The ternary relation <a>mentionOf</a> is encoded as two properties:
+<p>The ternary relation <a title="mentionOf">prov:mentionOf</a> is encoded as two properties:
<a href="#mentionOf">prov:mentionOf</a> and
<a href="#asInBundle">prov:asInBundle</a>, defined as follows.</p>
@@ -1011,11 +1033,6 @@
</ul>
</dd>
- <dt>PROV-DM term</dt>
- <dd>
- <a href="#term-mention" title="prov-dm">mention</a> </dd>
-
- </dl>
</div>
</div>
@@ -1049,18 +1066,15 @@
</ul>
</dd>
- <dt>PROV-DM term</dt>
- <dd>
- <a href="#term-mention" title="prov-dm">mention</a> </dd>
-
- </dl>
</div>
</div>
<div class="anexample" typeof="prov:Entity" data-about="#example-for-property-mentionOf">
<span resource="http://www.w3.org/ns/prov#mentionOf" data-rel="dcterms:subject"></span>
-<p>We revisit <a href="#anexample-mention-rating" class="anexample-ref"><span>Example REF</span></a>, encoding in RDF the rating of Bob in the context of the second activity.</p>
+<p>We revisit <a href="#anexample-mention-rating" class="anexample-ref"><span>Example REF</span></a>, encoding in RDF the rating of Bob in the context of the second activity. For this, we use teh TRIG notation to express bundles
+<span class="name">:run2</span> and
+<span class="name">tool:analysis01</span>.</p>
<pre property="prov:value" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_mentionOf.ttl" data-rel="prov:wasQuotedFrom">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@@ -1079,20 +1093,21 @@
.
}
-tool:analysis_01 {
+tool:analysis01 {
tool:bob-2011-11-17
a prov:Agent;
prov:mentionOf :bob;
prov:asInBundle :run2;
perf:rating perf:very-slow;
.
+
+ # This is inferred from prov:mentionOf
+ tool:bob-2011-11-17 prov:specializationOf :bob .
+
+ # This is inferred from prov:specializationOf
+ tool:bob-2011-11-17 prov:alternateOf :bob .
}
-# This is inferred from prov:mentionOf
-tool:bob-2011-11-17 prov:specializationOf :bob .
-
-# This is inferred from prov:specializationOf
-tool:bob-2011-11-17 prov:alternateOf :bob .
</pre>
</div>
</section>
@@ -1105,13 +1120,13 @@
<p>Type definition in XML Schema:</p><pre class="schema-type"><xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Mention">
<xs:sequence>
- <xs:element name="specificEntity" type="prov:EntityRef"/>
- <xs:element name="generalEntity" type="prov:EntityRef"/>
- <xs:element name="bundle" type="prov:EntityRef"/>
+ <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>
</pre>
-<p>Usage in XML:</p><pre class="schema-usage"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="mentionOf" type="prov:Mention"/>
+<p>Usage in XML:</p><pre class="schema-usage"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="mentionOf" type="prov:Mention" substitutionGroup="prov:internalElement"/>
</pre>
<div class="anexample">
<pre><prov:document
@@ -1122,7 +1137,7 @@
xmlns:perf="http://example.com/ns/perf#"
xmlns:tool="http://example.com/ns/tool#">
- <prov:bundle prov:id="ex:run1">
+ <prov:bundleContent prov:id="ex:run1">
<prov:activity prov:id="ex:a1">
<prov:startTime>2011-11-16T16:00:00</prov:startTime>
<prov:endTime>2011-11-16T17:00:00</prov:endTime>
@@ -1133,9 +1148,9 @@
<prov:agent prov:ref="ex:Bob" />
<prov:role xsi:type="xsd:QName">controller</prov:role>
</prov:wasAssociatedWith>
- </prov:bundle>
+ </prov:bundleContent>
- <prov:bundle prov:id="ex:run2">
+ <prov:bundleContent prov:id="ex:run2">
<prov:activity prov:id="ex:a2">
<prov:startTime>2011-11-17T10:00:00</prov:startTime>
<prov:endTime>2011-11-17T17:00:00</prov:endTime>
@@ -1146,9 +1161,9 @@
<prov:agent prov:ref="ex:Bob" />
<prov:role xsi:type="xsd:QName">controller</prov:role>
</prov:wasAssociatedWith>
- </prov:bundle>
+ </prov:bundleContent>
- <prov:bundle prov:id="tool:analysis01">
+ <prov:bundleContent prov:id="tool:analysis01">
<prov:agent prov:id="tool:Bob-2011-11-16">
<ex:perfrating>good</ex:perfrating>
</prov:agent>
@@ -1168,7 +1183,7 @@
<prov:generalEntity prov:ref="ex:Bob" />
<prov:bundle prov:ref="ex:run2" />
</prov:mentionOf></b>
- </prov:bundle>
+ </prov:bundleContent>
</prov:document></pre></div>
</section>
@@ -1218,7 +1233,22 @@
</section>
-
+<section class="appendix">
+ <h2>Change Log Since First Public Working Draft</h2>
+<ul>
+<li> Checked all internal fragments resolved.
+<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> Changed all URLs to PROV documents.
+<li> Updated XML schema definition.
+<li> Updated affiliations.
+<li> Added namespace and convention sections.
+<li> Updated grammar to make prov prefix explicit.
+<li> Added new paragraph in introduction.
+<li> Moved "inferred statements" into named graph tool:analysis01 in Example 3.
+<li> Added comment on TRIG notation.
+<li> Updated xml example with new syntax of bundles.
+</ul>
+</section>
<section class="appendix">
<h2>Acknowledgements</h2>
@@ -1234,10 +1264,10 @@
Reza B'Far (Oracle Corporation),
Khalid Belhajjame (University of Manchester),
James Cheney (University of Edinburgh, School of Informatics),
-Sam Coppens (IBBT),
+Sam Coppens (iMinds - Ghent University),
David Corsar (University of Aberdeen, Computing Science),
Stephen Cresswell (The National Archives),
-Tom De Nies (IBBT),
+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)),
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/links/releases/WD-prov-links-20130312/Overview.html Thu Feb 28 00:12:50 2013 +0100
@@ -0,0 +1,1470 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head>
+ <title>Linking Across Provenance Bundles</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<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: #52e052; }
+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: 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="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-links">
+
+
+
+
+
+
+
+
+
+
+
+<style type="text/css">
+ .note { font-size:small; margin-left:50px }
+
+ .entity {
+ border: 1px solid navy;
+ margin:5px 0px 5px 0px;
+ padding: 5px;
+ }
+
+
+
+ .description {
+ border-top: 1px dashed gray;
+ border-bottom: 1px dashed gray;
+ background-color: rgb(242, 243, 244);
+ margin-top:5px;
+ padding-bottom:5px;
+ }
+
+ .description dl {
+ background-color: rgb(242, 243, 244);
+ }
+
+ .description ul {
+ padding-left: 12px;
+ margin-top: 0px;
+ }
+
+code {
+ color: black !important;
+}
+
+.diamond {
+ font-weight: normal;
+ font-style: normal;
+ font-size:100%;
+ font-family: sans-serif;
+}
+
+table.thinborder {
+ border-width: 1px;
+ border-spacing: 0px;
+ border-style: none;
+ border-color: gray;
+ border-collapse: collapse;
+}
+table.thinborder th {
+ border-width: 1px;
+ padding: 0px;
+ border-style: solid;
+ border-color: gray;
+}
+table.thinborder td {
+ border-width: 1px;
+ padding: 2px;
+ border-style: solid;
+ border-color: gray;
+}
+
+/* --- EDITORIAL NOTES --- */
+.pending {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #BFEFFF;
+}
+
+.pending::before {
+ content: "Pending Review";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+
+.resolved {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #9BCD9B;
+}
+
+.resolved::before {
+ content: "Resolved";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.inference {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+
+.inference-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.syntax {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.syntax[id]::before {
+ content: "Syntax: " attr(id);
+ width: 380px; /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.syntax::before {
+ content: "Syntax";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.unamedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+
+.unamedconstraint::before {
+ content: "Constraint";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+.constraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.constraint-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+
+.interpretation {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.interpretation[id]::before {
+ content: "Interpretation: " attr(id);
+ width: 380px; /* How can we compute the length of "Interpretation: " attr(id) */
+}
+
+
+.interpretation::before {
+ content: "Interpretation";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.definition {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #777;
+ background: #fff;
+}
+
+.definition-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #777;
+ background: #fff;
+}
+
+.deprecatedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.deprecatedconstraint[id]::before {
+ content: "Deprecated: " attr(id);
+ width: 380px; /* How can we compute the length of "Deprecatedconstraint: " attr(id) */
+}
+
+
+.deprecatedconstraint::before {
+ content: "Deprecated";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.glossary-ref {
+ font-style: italic;
+}
+
+.dfn {
+ font-weight: bold;
+}
+
+
+.attribute {
+ font-style: italic;
+}
+
+
+.conditional {
+ color: blue;
+}
+
+.grammar {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ font-size: 95%;
+}
+.nonterminal {
+ font-weight: bold;
+ font-family: sans-serif;
+ font-size: 95%;
+}
+
+.name {
+ font-family: monospace;
+}
+
+.math {
+ font-family: roman;
+ font-style:italic;
+}
+
+
+.xmpl {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.xmpl::before {
+ content: "Example";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.anexample {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ background-color: #f9f9f9;
+}
+.anexample table {
+ background-color: #f9f9f9;
+}
+
+.conceptexample:before {
+ content: "Example:";
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+.conceptexample {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ background-color: #f9f9f9;
+}
+
+.pnExpression {
+ font-weight: normal;
+ font-size:120%;
+ font-family: monospace;
+}
+
+
+div[class="grammar"] span[class="name"]:before {
+ content: "'";
+}
+
+div[class="grammar"] span[class="name"]:after {
+ content: "'";
+}
+
+
+div[class="grammar"] span[class="optional"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="optional"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")?";
+}
+
+
+div[class="grammar"] span[class="plus"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="plus"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")+";
+}
+
+
+div[class="grammar"] span[class="star"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="star"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")*";
+}
+
+div[class="grammar"] span[class="choice"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="choice"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+div[class="grammar"] span[class="group"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="group"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+table {
+ background-color: #f9f9f9;
+}
+
+.component1-color {
+ background-color: rgba(255,42,42,0.2);
+}
+
+.component2-color {
+ background-color: rgba(0,68,170,0.2);
+}
+
+.component3-color {
+ background-color: rgba(0,170,0,0.2);
+}
+.component4-color {
+ background-color: rgba(204,255,0,0.2);
+}
+
+.component5-color {
+ background-color: rgba(11,40,40,0.2);
+}
+
+.component6-color {
+ background-color: rgba(244,105,14,0.2);
+}
+
+.interpretation-forward::before {
+ content: "Interpretation: ";
+ font-weight: bold;
+}
+
+.structural-forward::before {
+ content: "Structural constraint: ";
+ font-weight: bold;
+}
+
+
+code {
+ color: black;
+}
+
+.ruleTitle {
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+
+
+
+
+.remark {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px dashed #000;
+ background: #F0F0F0;
+}
+
+.remark::before {
+ content: "Remark";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #000;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+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>
+
+
+ <script type="text/javascript">
+/*
+ Written by Jonathan Snook, http://www.snook.ca/jonathan
+ Add-ons by Robert Nyman, http://www.robertnyman.com
+ Author says "The credit comment is all it takes, no license. Go crazy with it!"
+ From http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
+*/
+
+function getElementsByClassName(oElm, strTagName, oClassNames){
+ var arrElements = (! (! (strTagName == "*") || ! (oElm.all)))? oElm.all : oElm.getElementsByTagName(strTagName);
+ var arrReturnElements = new Array();
+ var arrRegExpClassNames = new Array();
+ if(typeof oClassNames == "object"){
+ for(var i=0; !(i>=oClassNames.length); i++){ /*>*/
+ arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames[i].replace(/\-/g, "\-") + "(\s|$)"));
+ }
+ }
+ else{
+ arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames.replace(/\-/g, "\-") + "(\s|$)"));
+ }
+ var oElement;
+ var bMatchesAll;
+ for(var j=0; !(j>=arrElements.length); j++){ /*>*/
+ oElement = arrElements[j];
+ bMatchesAll = true;
+ for(var k=0; !(k>=arrRegExpClassNames.length); k++){ /*>*/
+ if(!arrRegExpClassNames[k].test(oElement.className)){
+ bMatchesAll = false;
+ break;
+ }
+ }
+ if(bMatchesAll){
+ arrReturnElements.push(oElement);
+ }
+ }
+ return (arrReturnElements)
+}
+
+function set_display_by_class(el, cls, newValue) {
+ var e = getElementsByClassName(document, el, cls);
+ if (e != null) {
+ for (var i=0; !(i>=e.length); i++) {
+ e[i].style.display = newValue;
+ }
+ }
+}
+
+function set_display_by_id(id, newValue) {
+ var e = document.getElementById(id);
+ if (e != null) {
+ e.style.display = newValue;
+ }
+}
+</script>
+
+
+
+
+
+ <style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 {
+ text-transform: lowercase;
+ font-variant: small-caps;
+ font-style: normal;
+ color: #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+ border: none;
+}
+
+dfn {
+ font-weight: bold;
+}
+
+a.internalDFN {
+ color: inherit;
+ border-bottom: 1px solid #99c;
+ text-decoration: none;
+}
+
+a.externalDFN {
+ color: inherit;
+ border-bottom: 1px dotted #ccc;
+ text-decoration: none;
+}
+
+a.bibref {
+ text-decoration: none;
+}
+
+cite .bibref {
+ font-style: normal;
+}
+
+code {
+ color: #ff4500;
+}
+
+
+/* --- --- */
+ol.algorithm { counter-reset:numsection; list-style-type: none; }
+ol.algorithm li { margin: 0.5em 0; }
+ol.algorithm li:before { font-weight: bold; counter-increment: numsection; content: counters(numsection, ".") ") "; }
+
+/* --- TOC --- */
+.toc a, .tof a {
+ text-decoration: none;
+}
+
+a .secno, a .figno {
+ color: #000;
+}
+
+ul.tof, ol.tof {
+ list-style: none outside none;
+}
+
+.caption {
+ margin-top: 0.5em;
+ font-style: italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+ border-spacing: 0;
+ border-collapse: collapse;
+ border-bottom: 3px solid #005a9c;
+}
+
+.simple th {
+ background: #005a9c;
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+}
+
+.simple th[scope="row"] {
+ background: inherit;
+ color: inherit;
+ border-top: 1px solid #ddd;
+}
+
+.simple td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+ background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+ margin-top: 0;
+}
+
+.section dd > p:last-child {
+ margin-bottom: 0;
+}
+
+.section dd {
+ margin-bottom: 1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+ margin-bottom: 0;
+}
+</style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-WD"><!--[if lt IE 9]><script src='http://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head>
+ <body><div class="head">
+ <p>
+
+ <a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+
+ </p>
+ <h1 class="title" id="title">Linking Across Provenance Bundles</h1>
+
+ <h2 id="w3c-working-draft-12-march-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Working Draft 12 March 2013</h2>
+ <dl>
+
+ <dt>This version:</dt>
+ <dd><a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">http://www.w3.org/TR/2013/WD-prov-links-20130312/</a></dd>
+ <dt>Latest published version:</dt>
+ <dd><a href="http://www.w3.org/TR/prov-links/">http://www.w3.org/TR/prov-links/</a></dd>
+
+
+ <dt>Latest editor's draft:</dt>
+ <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/links/prov-links.html">http://dvcs.w3.org/hg/prov/raw-file/default/links/prov-links.html</a></dd>
+
+
+
+
+
+ <dt>Previous version:</dt>
+ <dd><a href="http://www.w3.org/TR/2012/WD-prov-links-20121211/">http://www.w3.org/TR/2012/WD-prov-links-20121211/</a> <a href="diff.html">(color-coded diff)</a></dd>
+
+
+ <dt>Editors:</dt>
+ <dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd>
+<dd><a href="http://tw.rpi.edu/instances/TimLebo">Timothy Lebo</a>, Rensselaer Polytechnic Institute</dd>
+
+
+ </dl>
+
+
+
+
+
+ <p class="copyright">
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
+ 2012-2013
+
+ <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+ (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+ <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+ <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved.
+ <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+ <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+ </p>
+
+
+ <hr>
+</div>
+
+ <section id="abstract" class="introductory"><h2>Abstract</h2>
+<p>
+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.
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-bundle">Bundles</a>,
+defined in [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] as sets of provenance descriptions, were
+introduced in PROV as the mechanism by which provenance of provenance
+can be expressed. Bundles, whose validity is established
+independently of each other [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>], are essentially
+independent of each other, acting as islands of provenance
+descriptions.
+</p>
+
+<p>
+In applications where provenance is created by multiple parties over time, it is useful for provenance descriptions created by one party to link to provenance descriptions created by another party. Such a mechanism would allow the "stitching" of provenance descriptions together. Given that provenance descriptions are expected to be contained in bundles, this would require a capability to link entity descriptions across bundles. To address this requirement, this document introduces a relation <a href="#concept-mention" class="internalDFN">Mention</a> allowing an entity description to be linked to another entity description occurring in another bundle.
+</p>
+
+<p>The <a href="http://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="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
+ index</a> at http://www.w3.org/TR/.</em>
+ </p>
+
+<h4 id="prov-family-of-documents">PROV Family of Documents</h4>
+This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
+interchange of provenance information in heterogeneous environments such as the Web. These documents are listed below. Please consult the [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>] for a guide to reading these documents.
+<ul>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [<cite><a class="bibref" href="#bib-PROV-PRIMER">PROV-PRIMER</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> (Proposed Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> (Proposed Recommendation), the PROV data model for provenance [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> (Proposed Recommendation), a notation for provenance aimed at human consumption [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> (Proposed Recommendation), a set of constraints applying to the PROV data model [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note), an XML schema for the PROV data model [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>]; </li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [<cite><a class="bibref" href="#bib-PROV-DC">PROV-DC</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/">PROV-SEM</a> (To be published as Note), a declarative specification in terms of first-order logic of the PROV data model [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles (this document).</li>
+</ul>
+
+ <p>
+ This document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as a Working Draft.
+
+
+ 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 Draft does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+ This is a draft document and may be updated, replaced or obsoleted by other documents at
+ any time. It is inappropriate to cite this document as other than work in progress.
+ </p>
+
+
+ <p>
+
+ This document was produced by a group operating under the
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+ The group does not expect this document to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
+
+
+ <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a>
+
+ made in connection with the deliverables of the group; that page also includes instructions for
+ disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
+ information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+ 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+ </p>
+
+
+
+
+</section><section id="toc"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><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="#term-mention" class="tocxref"><span class="secno">2. </span>Conceptual Definition of Mention</a></li><li class="tocline"><a href="#mention-ontology" class="tocxref"><span class="secno">3. </span>Ontological Definition of Mention</a></li><li class="tocline"><a href="#mention-xml" class="tocxref"><span class="secno">4. </span>XML Schema for Mention</a></li><li class="tocline"><a href="#mention-constraints" class="tocxref"><span class="secno">5. </span>Constraints associated with Mention</a></li><li class="tocline"><a href="#change-log-since-first-public-working-draft" class="tocxref"><span class="secno">A. </span>Change Log Since First Public Working Draft</a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">B. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">C. </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">C.1 </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+
+
+
+
+
+
+<section id="introduction">
+<!--OddPage--><h2><span class="secno">1. </span>Introduction</h2>
+
+<p>
+The PROV data model [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] defines <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">provenance</a>
+as a record that describes the people, institutions, entities, and
+activities involved in producing, influencing, or delivering a piece
+of data or a thing. The specifications [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>], [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>],
+[<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>], and [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>] have respectively defined the PROV
+ontology, the PROV conceptual model, the PROV notation, and the PROV
+XML schema, allowing provenance descriptions to be expressed,
+represented in various representations, and interchanged between systems across the Web.
+</p>
+
+<p>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. To support this, provenance itself should be trusted, and therefore, provenance of provenance is itself a critical aspect of an information infrastructure such as the Web. To this end, PROV introduces the concept of <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-bundle">Bundle</a>: defined as a set of provenance descriptions; it is a mechanism by which provenance of provenance can be expressed (see also <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#Bundle">Bundle</a> [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>] and <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/#term-Bundle">Bundle</a> [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>]). With bundles, blobs of provenance descriptions can be given names and can themselves be regarded as entities, whose provenance can in turn be described using PROV. These blobs of provenance descriptions are independent of each other, as formalized by [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>] which determines their <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/#bundle-constraints">validity</a> by examining them in isolation of each other. </p>
+
+
+<p>In a distributed environment, it is common to encounter applications that involve multiple parties: it is a common situation that some party creates some data and its provenance, whereas another party consumes the data and its provenance. In such a situation, the consumer, when it in turn generates provenance, often wants to augment the descriptions of entities generated by another producer. For the consumer, it is not suitable to repeat the provenance created by the producer, and augment it according to their need. Instead, a consumer wants to <em>refer</em> to the description as created by the producer <em>in situ</em>, i.e. in its bundle, and <em>specialize it</em>, allowing the consumer to add their own view on this entity. Such a capability would allow parties to "stitch together" provenance descriptions that would otherwise be disconnected.</p>
+
+<p>While URIs are the Web mechanism by which entities can be assigned identities, URIs alone are not sufficient for our purpose. Indeed, the entity produced by the producer is given a URI, but the same entity, with the same URI, could also be described in other bundles, by this producer or third parties. It is the capability of referring to the description of the entity, as created by the producer in this specific bundle, that is of interest to us in this specification. </p>
+
+<p>This document introduces a new concept <a href="#concept-mention" class="internalDFN">Mention</a> allowing an entity to be described as the specialization of another entity, itself described in another bundle. The document provides not only a conceptual definition of <a href="#concept-mention" class="internalDFN">Mention</a>, but also the corresponding ontological, schema, and notational definitions, for the various representations of PROV. It also includes constraints that apply to this construct specifically. It is our aim to promote interoperability by defining <a href="#concept-mention" class="internalDFN">Mention</a> conceptually and in the representations of PROV.</p>
+
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">The concept <a href="#concept-mention" class="internalDFN">Mention</a> is experimental, and for this reason was not defined in PROV recommendation-track documents. The Provenance Working Group is seeking feedback from the community on its usefulness in practical scenarios.
+</div></div>
+
+
+<section id="prov-namespace">
+<h3><span class="secno">1.1 </span>PROV Namespace</h3>
+<p>The PROV namespace URI is <span class="name">http://www.w3.org/ns/prov#</span> and prefix <span class="name">prov</span>.</p>
+<p> All the concepts, reserved names, classes, properties, attributes introduced in this specification belong 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>
+
+<section id="term-mention">
+<!--OddPage--><h2><span class="secno">2. </span>Conceptual Definition of Mention</h2>
+
+
+
+<p>An entity <span class="name">e1</span> may be mentioned in a bundle <span class="name">b</span>, which contains some
+ descriptions about this entity <span class="name">e1</span>: how <span class="name">e1</span> was generated and used, which activities <span class="name">e1</span> is involved with, the agents <span class="name">e1</span> is attributed to, etc.
+Other bundles may contain other descriptions about the same entity <span class="name">e1</span>.
+Some applications may want to augment
+the descriptions of entity <span class="name">e1</span> found in bundle <span class="name">b</span> with other information.
+To this end, PROV allows a new entity <span class="name">e2</span> to be created and defined as a specialization of the preceding entity <span class="name">e1</span>, and which presents at least an additional aspect: the bundle <span class="name">b</span> containing some descriptions of <span class="name">e1</span>. With this relation, applications that process <span class="name">e2</span>
+can know that the attributes of <span class="name">e2</span> may have been computed according to the descriptions of <span class="name">e1</span> in <span class="name">b</span>.
+(The term 'aspect' should be understood informally as "a particular part or feature of something"; the term is used in [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]'s definitions of
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-entity">entity</a> (Section 5.1.1),
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-specialization">specialization</a> (Section 5.5.1),
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-alternate">alternate</a> (Section 5.5.2), and in
+<a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/#entities-activities-and-agents">section 2.1</a> of [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>]).
+</p>
+
+
+<p>
+ <a href="#figure-component5">Figure 1</a> depicts
+the relation MentionOf (concept <a href="#concept-mention" class="internalDFN">Mention</a>) as a ternary relation.
+</p>
+
+
+<div style="text-align: center;">
+<span class="figure" id="fig-figure-1-uml-diagram-for-mention" style="max-width: 95%; ">
+<img src="figures/component5.png" alt="mention"><br>
+<span class="figcaption" id="figure-component5">Figure 1<sup><a class="internalDFN" href="#figure-component5"><span class="diamond"> ◊:</span></a></sup> UML Diagram for Mention</span>
+</span>
+</div>
+
+
+<p>Thus, a mention relates two entities with regard to a bundle.
+It is a special case of specialization.</p>
+
+
+<span class="glossary-ref"> The <dfn id="concept-mention" title="Mention" class="internalDFN">mention</dfn><sup><a class="internalDFN" href="#concept-mention"><span class="diamond"> ◊</span></a></sup> of an entity in a bundle (containing a description of this entity) is another entity that is a specialization of the former and that presents at least the bundle as a further additional aspect. </span>
+
+
+
+<p>
+An entity is interpreted with respect to a bundle's description in a
+domain specific manner. The mention of this entity with respect to
+this bundle offers the opportunity to specialize it according to some
+domain-specific interpretation.
+</p>
+
+
+<p>A mention of an entity in a bundle results in a specialization of this entity with extra fixed aspects, including the bundle that it is described in.
+</p>
+
+
+
+
+<p></p><div class="attributes" id="attributes-mention">A <dfn title="mentionOf" id="dfn-mentionof" class="internalDFN">mention</dfn><sup><a class="internalDFN" href="#dfn-mentionof"><span class="diamond"> ◊</span></a></sup> relation<span class="withPn">, written <span class="pnExpression">prov:mentionOf(infra, supra, b)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="mention.specificEntity">specificEntity</span>: an identifier (<span class="name">infra</span>)
+of the entity that is a mention of the general entity (<span class="name">supra</span>);</li>
+<li><span class="attribute" id="mention.generalEntity">generalEntity</span>: an identifier (<span class="name">supra</span>) for an entity that appears in bundle <span class="name">b</span>.</li>
+<li><span class="attribute" id="mention.bundle">bundle</span>: an identifier (<span class="name">b</span>) of a bundle that contains a description of <span class="name">supra</span> and further constitutes one additional aspect presented by <span class="name">infra</span>.</li>
+</ul>
+</div>
+
+<p>Like <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-specialization">specialization</a>, a mention is not, as defined here, an <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-influence">influence</a>, and therefore does not have an id and attributes.
+Its grammar, in the provenance notation, is written as follows.</p>
+
+<table class="grammar">
+<tbody class="prod"> <tr style="vertical-align: baseline; "> <td><a id="prod-mentionExpression" data-name="prod-mentionExpression"></a><span class="prodNo"></span> </td> <td><code class="production prod">mentionExpression</code></td> <td> ::= </td> <td><code class="content">"prov:mentionOf" "(" <span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></span> "," <span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-bIdentifier">bIdentifier</a></span> ")"</code></td> </tr> </tbody>
+<tbody class="prod"> <tr style="vertical-align: baseline; "> <td><a id="prod-bIdentifier" data-name="prod-bIdentifier"></a> </td> <td><code class="production prod">bIdentifier</code></td> <td> ::= </td> <td><code class="content"><span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-identifier">identifier</a></span></code></td> </tr> </tbody>
+</table>
+
+
+<p>The following table summarizes how each constituent of a Mention maps to a syntax element, in the provenance notation.</p>
+<div style="text-align: left; ">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<tbody><tr><td><b><a href="#dfn-mentionof">Mention</a></b></td><td><b>Non-Terminal</b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+
+<tr><td><a href="#mention.specificEntity"><span class="attribute" data-id="mention.specificEntity">specificEntity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></code></td></tr>
+
+
+<tr><td><a href="#mention.generalEntity"><span class="attribute" data-id="mention.generalEntity">generalEntity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></code></td></tr>
+
+<tr><td><a href="#mention.bundle"><span class="attribute" data-id="mention.bundle">bundle</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-bIdentifier">bIdentifier</a></code></td></tr>
+
+</tbody></table>
+</div>
+
+<p>We note that the concept <a href="#concept-mention" class="internalDFN">Mention</a> is an extension of [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>], and therefore has to be prefixed,
+<span class="name">prov:mentionOf</span>, according the extensibility
+rules of the provenance notation [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>].</p>
+
+
+<p>
+Let us consider a bundle and the expression <span class="name">specializationOf(e2,e1)</span> occuring in this bundle. The entity <span class="name">e1</span> may described in multiple other bundle <span class="name">b<sub>i</sub></span>.
+From <span class="name">specializationOf(e2,e1)</span>, one cannot infer <span class="name">prov:mentionOf(e2,e1,b)</span> for a given <span class="name">b</span>, since it is unknown which <span class="name">b<sub>i</sub></span>'s descriptions were used to computed additional aspects of <span class="name">e2</span>. Hence, <span class="name">prov:mentionOf</span> has to be asserted. </p>
+
+<p><a href="#mention-constraints" class="section-ref"><span>Section 5.</span></a> presents constraints applicable to <a href="#concept-mention" class="internalDFN">Mention</a>, and in particular, the fact that an entity can be a <a href="#mention.specificEntity">specific entity</a> of a <a href="#concept-mention" class="internalDFN">Mention</a> at most once.</p>
+
+
+<div class="anexample" id="anexample-mention-rating"><div class="anexampleTitle">Example 1<sup><a class="internalDFN" href="#anexample-mention-rating"><span class="diamond"> ◊</span></a></sup></div>
+<p>This example is concerned with a performance rating tool that reads and processes provenance to determine the performance of agents. To keep the example simple, an agent's performance is determined by the duration of the activities it is associated with. </p>
+<p>As an illustration, we consider two bundles <span class="name">ex:run1</span> and <span class="name">ex:run2</span> that refer to an agent <span class="name">ex:Bob</span> that controlled two activities <span class="name">ex:a1</span> and <span class="name">ex:a2</span>. </p>
+
+<pre class="codeexample">bundle ex:run1
+ activity(ex:a1, 2011-11-16T16:00:00, 2011-11-16T17:00:00) //duration: 1hour
+ wasAssociatedWith(ex:a1, ex:Bob, [prov:role="controller"])
+endBundle
+
+bundle ex:run2
+ activity(ex:a2, 2011-11-17T10:00:00, 2011-11-17T17:00:00) //duration: 7hours
+ wasAssociatedWith(ex:a2, ex:Bob, [prov:role="controller"])
+endBundle
+</pre>
+<p>The performance rating tool reads these bundles, and rates the performance of the agent described in these bundles. The performance rating tool creates a new bundle <span class="name">tool:analysis01</span> containing the following. A new agent <span class="name">tool:Bob-2011-11-16</span> is declared as a mention of <span class="name">ex:Bob</span> as described in bundle <span class="name">ex:run1</span>, and likewise for <span class="name">tool:Bob-2011-11-17</span> with respect to <span class="name">ex:run2</span>. The tool adds a domain-specific performance attribute to each of these specialized entities as follows: the performance of the agent in the first bundle is judged to be good since the duration of <span class="name">ex:a1</span> is one hour, whereas it is judged to be bad in the second bundle since <span class="name">ex:a2</span>'s duration is seven hours. The attribute <span class="name">perf:rating</span> is an example of additional attribute of the specialized agents <span class="name">tool:Bob-2011-11-16</span> and <span class="name">tool:Bob-2011-11-17</span>.</p>
+
+<pre class="codeexample">bundle tool:analysis01
+ agent(tool:Bob-2011-11-16, [perf:rating="good"])
+ prov:mentionOf(tool:Bob-2011-11-16, ex:Bob, ex:run1)
+
+ agent(tool:Bob-2011-11-17, [perf:rating="bad"])
+ prov:mentionOf(tool:Bob-2011-11-17, ex:Bob, ex:run2)
+endBundle
+</pre>
+</div>
+
+
+
+
+<div class="anexample" id="aexample-mention-viz"><div class="anexampleTitle">Example 2<sup><a class="internalDFN" href="#aexample-mention-viz"><span class="diamond"> ◊</span></a></sup></div>
+<p>Consider the following bundle of descriptions, in which derivation and generations have been identified.
+</p><pre class="codeexample">
+bundle obs:bundle1
+ entity(ex:report1, [ prov:type="report", ex:version=1 ])
+ wasGeneratedBy(ex:g1; ex:report1, -, 2012-05-24T10:00:01)
+ entity(ex:report2, [ prov:type="report", ex:version=2 ])
+ wasGeneratedBy(ex:g2; ex:report2, -, 2012-05-25T11:00:01)
+ wasDerivedFrom(ex:report2, ex:report1)
+endBundle
+entity(obs:bundle1, [ prov:type='prov:Bundle' ])
+wasAttributedTo(obs:bundle1, ex:observer01)
+</pre>
+Bundle <span class="name">obs:bundle1</span> is rendered by a visualisation tool. It may useful for the visualization layout of this bundle to be shared along with the provenance descriptions, so that other users can render provenance as it was originally rendered. The original bundle obviously cannot be changed. However, one can create a new bundle, as follows.
+<pre class="codeexample">
+bundle tool:bundle2
+ entity(tool:bundle2, [ prov:type='viz:Configuration', prov:type='prov:Bundle' ])
+ wasAttributedTo(tool:bundle2, viz:Visualizer)
+
+ entity(tool:report1, [ viz:color="orange" ])
+ prov:mentionOf(tool:report1, ex:report1, obs:bundle1)
+
+ entity(tool:report2, [ viz:color="blue" ])
+ prov:mentionOf(tool:report2, ex:report2, obs:bundle1)
+endBundle
+</pre>
+
+<p>In bundle <span class="name">tool:bundle2</span>, the prefix <span class="name">viz</span> is used for naming visualisation-specific attributes, types or values.</p>
+
+<p>This example is typical of a common situation in distributed environments, where the consumer and producer of provenance are different.</p>
+
+<p>Bundle <span class="name">tool:bundle2</span> is given type <span class="name">viz:Configuration</span> to indicate that it consists of descriptions that pertain to the configuration of the visualisation tool. This type attribute can be used for searching bundles containing visualization-related descriptions.
+</p>
+
+<p>The visualisation tool
+ created new identifiers <span class="name">tool:report1</span> and
+<span class="name">tool:report2</span>.
+They denote entities which are specializations of <span class="name">ex:report1</span> and <span class="name">ex:report2</span>, described in bundle <span class="name">obs:bundle1</span>, with visualization attribute for the color to be used when rendering these entities. </p>
+
+</div>
+
+
+
+</section>
+
+
+
+<section id="mention-ontology">
+ <!--OddPage--><h2><span class="secno">3. </span>Ontological Definition of Mention</h2>
+
+<p>The ternary relation <a title="mentionOf" href="#dfn-mentionof" class="internalDFN">prov:mentionOf</a> is encoded as two properties:
+<a href="#mentionOf">prov:mentionOf</a> and
+<a href="#asInBundle">prov:asInBundle</a>, defined as follows.</p>
+
+<div class="entity" id="mentionOf">
+ <h2 id="property--prov-mentionof-op-----------------back-to-expanded-properties">
+ Property: <a href="#mentionOf"><span title="http://www.w3.org/ns/prov#mentionOf" class="dotted">prov:mentionOf</span></a> <sup title="object property" class="type-op">op</sup>
+
+ </h2>
+ <p><strong class="crossreference">IRI:</strong>http://www.w3.org/ns/prov#mentionOf</p>
+
+
+ <div class="description">
+ <div class="comment "><p>When :x prov:mentionOf :y and :y is described in Bundle :b, the triple :x prov:asInBundle :b is also asserted to cite the Bundle in which :y was described.</p>
+ </div>
+ <div class="comment "><p>prov:asInBundle is used to cite the Bundle in which the generalization was mentioned.</p>
+ </div>
+ <dl>
+
+ <dt>has super-properties</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#specializationOf" title="http://www.w3.org/ns/prov#specializationOf">prov:specializationOf</a> <sup title="object property" class="type-op">op</sup>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Entity" title="http://www.w3.org/ns/prov#Entity">prov:Entity</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Entity" title="http://www.w3.org/ns/prov#Entity">prov:Entity</a>
+ </li>
+ </ul>
+ </dd>
+
+ </dl></div>
+ </div>
+
+
+<div class="entity" id="asInBundle">
+ <h2 id="property--prov-asinbundle-op-----------------back-to-expanded-properties">
+ Property: <a href="#asInBundle"><span title="http://www.w3.org/ns/prov#asInBundle" class="dotted">prov:asInBundle</span></a> <sup title="object property" class="type-op">op</sup>
+ </h2>
+ <p><strong class="crossreference">IRI:</strong>http://www.w3.org/ns/prov#asInBundle</p>
+
+
+ <div class="description">
+ <div class="comment "><p>When :x prov:mentionOf :y and :y is described in Bundle :b, the triple :x prov:asInBundle :b is also asserted to cite the Bundle in which :y was described.</p>
+ </div>
+ <dl>
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Entity" title="http://www.w3.org/ns/prov#Entity">prov:Entity</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Bundle" title="http://www.w3.org/ns/prov#Bundle">prov:Bundle</a>
+ </li>
+ </ul>
+ </dd>
+
+ </dl></div>
+ </div>
+
+<div class="anexample" typeof="prov:Entity" data-about="#example-for-property-mentionOf" id="example_3"><div class="anexampleTitle">Example 3<sup><a class="internalDFN" href="#example_3"><span class="diamond"> ◊</span></a></sup></div>
+ <span resource="http://www.w3.org/ns/prov#mentionOf" data-rel="dcterms:subject"></span>
+
+<p>We revisit <a href="#anexample-mention-rating" class="anexample-ref"><span>Example 1</span></a>, encoding in RDF the rating of Bob in the context of the second activity. For this, we use teh TRIG notation to express bundles
+<span class="name">:run2</span> and
+<span class="name">tool:analysis01</span>.</p>
+
+ <pre property="prov:value" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_mentionOf.ttl" data-rel="prov:wasQuotedFrom">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix tool: <http://example.com/tool/> .
+@prefix perf: <http://example.com/performance/> .
+@prefix : <http://example.com/> .
+
+:run2 {
+ :activity_2
+ a prov:Activity;
+ prov:startedAtTime "2011-11-17T10:00:00"^^xsd:dateTime;
+ prov:endedAtTime "2011-11-17T17:00:00"^^xsd:dateTime;
+ prov:wasAssociatedWith :bob;
+ .
+}
+
+tool:analysis01 {
+ tool:bob-2011-11-17
+ a prov:Agent;
+ prov:mentionOf :bob;
+ prov:asInBundle :run2;
+ perf:rating perf:very-slow;
+ .
+
+ # This is inferred from prov:mentionOf
+ tool:bob-2011-11-17 prov:specializationOf :bob .
+
+ # This is inferred from prov:specializationOf
+ tool:bob-2011-11-17 prov:alternateOf :bob .
+}
+
+</pre>
+ </div>
+</section>
+
+
+<section id="mention-xml">
+ <!--OddPage--><h2><span class="secno">4. </span>XML Schema for Mention</h2>
+
+
+
+<p>Type definition in XML Schema:</p><pre class="schema-type"><xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" 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>
+</pre>
+<p>Usage in XML:</p><pre class="schema-usage"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="mentionOf" type="prov:Mention" substitutionGroup="prov:internalElement"/>
+</pre>
+<div class="anexample" id="example_4"><div class="anexampleTitle">Example 4<sup><a class="internalDFN" href="#example_4"><span class="diamond"> ◊</span></a></sup></div>
+<pre><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:perf="http://example.com/ns/perf#"
+ xmlns:tool="http://example.com/ns/tool#">
+
+ <prov:bundleContent prov:id="ex:run1">
+ <prov:activity prov:id="ex:a1">
+ <prov:startTime>2011-11-16T16:00:00</prov:startTime>
+ <prov:endTime>2011-11-16T17:00:00</prov:endTime>
+ </prov:activity>
+
+ <prov:wasAssociatedWith>
+ <prov:activity prov:ref="ex:a1" />
+ <prov:agent prov:ref="ex:Bob" />
+ <prov:role xsi:type="xsd:QName">controller</prov:role>
+ </prov:wasAssociatedWith>
+ </prov:bundleContent>
+
+ <prov:bundleContent prov:id="ex:run2">
+ <prov:activity prov:id="ex:a2">
+ <prov:startTime>2011-11-17T10:00:00</prov:startTime>
+ <prov:endTime>2011-11-17T17:00:00</prov:endTime>
+ </prov:activity>
+
+ <prov:wasAssociatedWith>
+ <prov:activity prov:ref="ex:a2" />
+ <prov:agent prov:ref="ex:Bob" />
+ <prov:role xsi:type="xsd:QName">controller</prov:role>
+ </prov:wasAssociatedWith>
+ </prov:bundleContent>
+
+ <prov:bundleContent prov:id="tool:analysis01">
+ <prov:agent prov:id="tool:Bob-2011-11-16">
+ <ex:perfrating>good</ex:perfrating>
+ </prov:agent>
+
+ <b><prov:mentionOf>
+ <prov:specificEntity prov:ref="tool:Bob-2011-11-16" />
+ <prov:generalEntity prov:ref="ex:Bob" />
+ <prov:bundle prov:ref="ex:run1" />
+ </prov:mentionOf></b>
+
+ <prov:agent prov:id="tool:Bob-2011-11-17">
+ <ex:perfrating>bad</ex:perfrating>
+ </prov:agent>
+
+ <b><prov:mentionOf>
+ <prov:specificEntity prov:ref="tool:Bob-2011-11-17" />
+ <prov:generalEntity prov:ref="ex:Bob" />
+ <prov:bundle prov:ref="ex:run2" />
+ </prov:mentionOf></b>
+ </prov:bundleContent>
+
+</prov:document></pre></div>
+</section>
+
+
+
+
+
+
+<section id="mention-constraints">
+ <!--OddPage--><h2><span class="secno">5. </span>Constraints associated with Mention</h2>
+
+
+
+
+
+ <p id="mention-specialization-inference_text">If one entity is a mention of another in a bundle, then the former is also a specialization of the latter:</p>
+
+ <div class="inference" id="mention-specialization-inference">
+<p>
+<span class="conditional">IF</span> <span class="name">mentionOf(e2,e1,b)</span> <span class="conditional">THEN</span> <span class="name">specializationOf(e2,e1)</span>.</p>
+ </div>
+
+
+
+
+<div id="unique-mention_text">
+<p>An entity can be the subject of at most one mention relation.</p>
+</div>
+
+
+<div class="constraint" id="unique-mention">
+<p>
+<span class="conditional">IF</span> <span class="name">mentionOf(e, e1, b1)</span> and <span class="name">mentionOf(e, e2, b2)</span>,
+<span class="conditional">THEN</span> <span class="name">e1</span>=<span class="name">e2</span> and <span class="name">b1</span>=<span class="name">b2</span>.</p>
+</div>
+
+
+
+</section>
+
+<section class="appendix" id="change-log-since-first-public-working-draft">
+ <!--OddPage--><h2><span class="secno">A. </span>Change Log Since First Public Working Draft</h2>
+<ul>
+<li> Checked all internal fragments resolved.
+</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> Updated XML schema definition.
+</li><li> Updated affiliations.
+</li><li> Added namespace and convention sections.
+</li><li> Updated grammar to make prov prefix explicit.
+</li><li> Added new paragraph in introduction.
+</li><li> Moved "inferred statements" into named graph tool:analysis01 in Example 3.
+</li><li> Added comment on TRIG notation.
+</li><li> Updated xml example with new syntax of bundles.
+</li></ul>
+</section>
+
+<section class="appendix" id="acknowledgements">
+ <!--OddPage--><h2><span class="secno">B. </span>Acknowledgements</h2>
+ <p>
+
+This document has been produced by the PROV Working Group, and its contents reflect extensive discussion within the Working Group as a whole. The editors extend special thanks to Ivan Herman (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>).
+ </p>
+
+<p>
+Members of the PROV Working Group at the time of publication of this document were:
+
+Ilkay Altintas (Invited expert),
+Reza B'Far (Oracle Corporation),
+Khalid Belhajjame (University of Manchester),
+James Cheney (University of Edinburgh, School of Informatics),
+Sam Coppens (iMinds - Ghent University),
+David Corsar (University of Aberdeen, Computing Science),
+Stephen Cresswell (The National Archives),
+Tom De Nies (iMinds - Ghent University),
+Helena Deus (DERI Galway at the National University of Ireland, Galway, Ireland),
+Simon Dobson (Invited expert),
+Martin Doerr (Foundation for Research and Technology - Hellas(FORTH)),
+Kai Eckert (Invited expert),
+Jean-Pierre EVAIN (European Broadcasting Union, EBU-UER),
+James Frew (Invited expert),
+Irini Fundulaki (Foundation for Research and Technology - Hellas(FORTH)),
+Daniel Garijo (Universidad Politécnica de Madrid),
+Yolanda Gil (Invited expert),
+Ryan Golden (Oracle Corporation),
+Paul Groth (Vrije Universiteit),
+Olaf Hartig (Invited expert),
+David Hau (National Cancer Institute, NCI),
+Sandro Hawke (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="Massachusetts Institute of Technology">MIT</abbr>),
+Jörn Hees (German Research Center for Artificial Intelligence (DFKI) Gmbh),
+Ivan Herman, (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>),
+Ralph Hodgson (TopQuadrant),
+Hook Hua (Invited expert),
+Trung Dong Huynh (University of Southampton),
+Graham Klyne (University of Oxford),
+Michael Lang (Revelytix, Inc.),
+Timothy Lebo (Rensselaer Polytechnic Institute),
+James McCusker (Rensselaer Polytechnic Institute),
+Deborah McGuinness (Rensselaer Polytechnic Institute),
+Simon Miles (Invited expert),
+Paolo Missier (School of Computing Science, Newcastle university),
+Luc Moreau (University of Southampton),
+James Myers (Rensselaer Polytechnic Institute),
+Vinh Nguyen (Wright State University),
+Edoardo Pignotti (University of Aberdeen, Computing Science),
+Paulo da Silva Pinheiro (Rensselaer Polytechnic Institute),
+Carl Reed (Open Geospatial Consortium),
+Adam Retter (Invited Expert),
+Christine Runnegar (Invited expert),
+Satya Sahoo (Invited expert),
+David Schaengold (Revelytix, Inc.),
+Daniel Schutzer (FSTC, Financial Services Technology Consortium),
+Yogesh Simmhan (Invited expert),
+Stian Soiland-Reyes (University of Manchester),
+Eric Stephan (Pacific Northwest National Laboratory),
+Linda Stewart (The National Archives),
+Ed Summers (Library of Congress),
+Maria Theodoridou (Foundation for Research and Technology - Hellas(FORTH)),
+Ted Thibodeau (OpenLink Software Inc.),
+Curt Tilmes (National Aeronautics and Space Administration),
+Craig Trim (IBM Corporation),
+Stephan Zednik (Rensselaer Polytechnic Institute),
+Jun Zhao (University of Oxford),
+Yuting Zhao (University of Aberdeen, Computing Science).
+</p>
+ </section>
+
+
+
+
+<section id="references" class="appendix"><!--OddPage--><h2><span class="secno">C. </span>References</h2><section id="informative-references"><h3><span class="secno">C.1 </span>Informative references</h3><dl class="bibliography"><dt id="bib-PROV-AQ">[PROV-AQ]</dt><dd>Graham Klyne; Paul Groth; eds. <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/"><cite>Provenance Access and Query</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">http://www.w3.org/TR/2013/WD-prov-aq-20130312/</a>
+</dd><dt id="bib-PROV-CONSTRAINTS">[PROV-CONSTRAINTS]</dt><dd>James Cheney; Paolo Missier; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/"><cite>Constraints of the PROV Data Model</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">http://www.w3.org/TR/2013/PR-prov-constraints-20130312/</a>
+</dd><dt id="bib-PROV-DC">[PROV-DC]</dt><dd>Daniel Garijo; Kai Eckert; eds. <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><cite>Dublin Core to PROV Mapping</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">http://www.w3.org/TR/2013/WD-prov-dc-20130312/</a>
+</dd><dt id="bib-PROV-DICTIONARY">[PROV-DICTIONARY]</dt><dd>Tom De Nies; Sam Coppens; eds. <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><cite>PROV Dictionary</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/</a>
+</dd><dt id="bib-PROV-DM">[PROV-DM]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><cite>PROV-DM: The PROV Data Model</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">http://www.w3.org/TR/2013/PR-prov-dm-20130312/</a>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/"><cite>PROV-N: The Provenance Notation</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">http://www.w3.org/TR/2013/PR-prov-n-20130312/</a>
+</dd><dt id="bib-PROV-O">[PROV-O]</dt><dd>Timothy Lebo; Satya Sahoo; Deborah McGuinness; eds. <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/"><cite>PROV-O: The PROV Ontology</cite></a>. 12 March 2013, W3C Proposed Recommendation. URL: <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">http://www.w3.org/TR/2013/PR-prov-o-20130312/</a>
+</dd><dt id="bib-PROV-OVERVIEW">[PROV-OVERVIEW]</dt><dd>Paul Groth; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><cite>PROV-OVERVIEW: An Overview of the PROV Family of Documents</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">http://www.w3.org/TR/2013/WD-prov-overview-20130312/</a>
+</dd><dt id="bib-PROV-PRIMER">[PROV-PRIMER]</dt><dd>Yolanda Gil; Simon Miles; eds. <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/"><cite>PROV Model Primer</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">http://www.w3.org/TR/2013/WD-prov-primer-20130312/</a>
+</dd><dt id="bib-PROV-SEM">[PROV-SEM]</dt><dd>James Cheney; ed. <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312"><cite>Semantics of the PROV Data Model</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312">http://www.w3.org/TR/2013/WD-prov-sem-20130312</a>.
+</dd><dt id="bib-PROV-XML">[PROV-XML]</dt><dd>Hook Hua; Curt Tilmes; Stephan Zednik; eds. <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><cite>PROV-XML: The PROV XML Schema</cite></a>. 12 March 2013, Working Draft. URL: <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">http://www.w3.org/TR/2013/WD-prov-xml-20130312/</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></dl></section></section></body></html>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/links/releases/WD-prov-links-20130312/diff.html Thu Feb 28 00:12:50 2013 +0100
@@ -0,0 +1,1578 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head><style type="text/css"><!--
+
+.insert { background-color: #aaffaa }
+.delete { background-color: #ff8888; text-decoration: line-through }
+.tagInsert { background-color: #007700; color: #ffffff }
+.tagDelete { background-color: #770000; color: #ffffff }
+
+--></style>
+ <title>Linking Across Provenance Bundles</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+
+
+
+
+
+
+
+
+
+
+
+<style><span class="insert">/* --- 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: #52e052; }
+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: 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;
+}
+
+
+</span></style><link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-links">
+
+
+
+
+
+
+
+
+
+
+
+<style type="text/css">
+ .note { font-size:small; margin-left:50px }
+
+ .entity {
+ border: 1px solid navy;
+ margin:5px 0px 5px 0px;
+ padding: 5px;
+ }
+
+
+
+ .description {
+ border-top: 1px dashed gray;
+ border-bottom: 1px dashed gray;
+ background-color: rgb(242, 243, 244);
+ margin-top:5px;
+ padding-bottom:5px;
+ }
+
+ .description dl {
+ background-color: rgb(242, 243, 244);
+ }
+
+ .description ul {
+ padding-left: 12px;
+ margin-top: 0px;
+ }
+
+code {
+ color: black !important;
+}
+
+.diamond {
+ font-weight: normal;
+ font-style: normal;
+ font-size:100%;
+ font-family: sans-serif;
+}
+
+table.thinborder {
+ border-width: 1px;
+ border-spacing: 0px;
+ border-style: none;
+ border-color: gray;
+ border-collapse: collapse;
+}
+table.thinborder th {
+ border-width: 1px;
+ padding: 0px;
+ border-style: solid;
+ border-color: gray;
+}
+table.thinborder td {
+ border-width: 1px;
+ padding: 2px;
+ border-style: solid;
+ border-color: gray;
+}
+
+/* --- EDITORIAL NOTES --- */
+.pending {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #BFEFFF;
+}
+
+.pending::before {
+ content: "Pending Review";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+
+.resolved {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #9BCD9B;
+}
+
+.resolved::before {
+ content: "Resolved";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.inference {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+
+.inference-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.syntax {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.syntax[id]::before {
+ content: "Syntax: " attr(id);
+ width: 380px; /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.syntax::before {
+ content: "Syntax";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.unamedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+
+.unamedconstraint::before {
+ content: "Constraint";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+
+.constraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.constraint-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+
+.interpretation {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.interpretation[id]::before {
+ content: "Interpretation: " attr(id);
+ width: 380px; /* How can we compute the length of "Interpretation: " attr(id) */
+}
+
+
+.interpretation::before {
+ content: "Interpretation";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.definition {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #777;
+ background: #fff;
+}
+
+.definition-example {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #777;
+ background: #fff;
+}
+
+.deprecatedconstraint {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #00f;
+ background: #fff;
+}
+
+.deprecatedconstraint[id]::before {
+ content: "Deprecated: " attr(id);
+ width: 380px; /* How can we compute the length of "Deprecatedconstraint: " attr(id) */
+}
+
+
+.deprecatedconstraint::before {
+ content: "Deprecated";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #00f;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.glossary-ref {
+ font-style: italic;
+}
+
+.dfn {
+ font-weight: bold;
+}
+
+
+.attribute {
+ font-style: italic;
+}
+
+
+.conditional {
+ color: blue;
+}
+
+.grammar {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ font-size: 95%;
+}
+.nonterminal {
+ font-weight: bold;
+ font-family: sans-serif;
+ font-size: 95%;
+}
+
+.name {
+ font-family: monospace;
+}
+
+.math {
+ font-family: roman;
+ font-style:italic;
+}
+
+
+.xmpl {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #fff;
+}
+
+.xmpl::before {
+ content: "Example";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+
+.anexample {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ background-color: #f9f9f9;
+}
+.anexample table {
+ background-color: #f9f9f9;
+}
+
+.conceptexample:before {
+ content: "Example:";
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+.conceptexample {
+ margin-top: 1ex;
+ margin-bottom: 1ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ padding-top: 1ex;
+ padding-bottom: 0.6ex;
+ border: 1px dashed #2f6fab;
+ background-color: #f9f9f9;
+}
+
+.pnExpression {
+ font-weight: normal;
+ font-size:120%;
+ font-family: monospace;
+}
+
+
+div[class="grammar"] span[class="name"]:before {
+ content: "'";
+}
+
+div[class="grammar"] span[class="name"]:after {
+ content: "'";
+}
+
+
+div[class="grammar"] span[class="optional"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="optional"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")?";
+}
+
+
+div[class="grammar"] span[class="plus"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="plus"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")+";
+}
+
+
+div[class="grammar"] span[class="star"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="star"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")*";
+}
+
+div[class="grammar"] span[class="choice"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="choice"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+div[class="grammar"] span[class="group"]:before {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: "(";
+}
+
+div[class="grammar"] span[class="group"]:after {
+ font-weight: normal;
+ font-size:130%;
+ font-family: monospace;
+ content: ")";
+}
+
+table {
+ background-color: #f9f9f9;
+}
+
+.component1-color {
+ background-color: rgba(255,42,42,0.2);
+}
+
+.component2-color {
+ background-color: rgba(0,68,170,0.2);
+}
+
+.component3-color {
+ background-color: rgba(0,170,0,0.2);
+}
+.component4-color {
+ background-color: rgba(204,255,0,0.2);
+}
+
+.component5-color {
+ background-color: rgba(11,40,40,0.2);
+}
+
+.component6-color {
+ background-color: rgba(244,105,14,0.2);
+}
+
+.interpretation-forward::before {
+ content: "Interpretation: ";
+ font-weight: bold;
+}
+
+.structural-forward::before {
+ content: "Structural constraint: ";
+ font-weight: bold;
+}
+
+
+code {
+ color: black;
+}
+
+.ruleTitle {
+ font-family: sans-serif;
+ font-size: 1.6ex;
+ font-weight: bold;
+}
+
+
+
+
+.remark {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px dashed #000;
+ background: #F0F0F0;
+}
+
+.remark::before {
+ content: "Remark";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #000;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+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>
+
+
+ <script type="text/javascript">
+/*
+ Written by Jonathan Snook, http://www.snook.ca/jonathan
+ Add-ons by Robert Nyman, http://www.robertnyman.com
+ Author says "The credit comment is all it takes, no license. Go crazy with it!"
+ From http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
+*/
+
+function getElementsByClassName(oElm, strTagName, oClassNames){
+ var arrElements = (! (! (strTagName == "*") || ! (oElm.all)))? oElm.all : oElm.getElementsByTagName(strTagName);
+ var arrReturnElements = new Array();
+ var arrRegExpClassNames = new Array();
+ if(typeof oClassNames == "object"){
+ for(var i=0; !(i>=oClassNames.length); i++){ /*>*/
+ arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames[i].replace(/\-/g, "\-") + "(\s|$)"));
+ }
+ }
+ else{
+ arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames.replace(/\-/g, "\-") + "(\s|$)"));
+ }
+ var oElement;
+ var bMatchesAll;
+ for(var j=0; !(j>=arrElements.length); j++){ /*>*/
+ oElement = arrElements[j];
+ bMatchesAll = true;
+ for(var k=0; !(k>=arrRegExpClassNames.length); k++){ /*>*/
+ if(!arrRegExpClassNames[k].test(oElement.className)){
+ bMatchesAll = false;
+ break;
+ }
+ }
+ if(bMatchesAll){
+ arrReturnElements.push(oElement);
+ }
+ }
+ return (arrReturnElements)
+}
+
+function set_display_by_class(el, cls, newValue) {
+ var e = getElementsByClassName(document, el, cls);
+ if (e != null) {
+ for (var i=0; !(i>=e.length); i++) {
+ e[i].style.display = newValue;
+ }
+ }
+}
+
+function set_display_by_id(id, newValue) {
+ var e = document.getElementById(id);
+ if (e != null) {
+ e.style.display = newValue;
+ }
+}
+</script>
+
+
+
+
+
+ <style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 {
+ text-transform: lowercase;
+ font-variant: small-caps;
+ font-style: normal;
+ color: #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+ border: none;
+}
+
+dfn {
+ font-weight: bold;
+}
+
+a.internalDFN {
+ color: inherit;
+ border-bottom: 1px solid #99c;
+ text-decoration: none;
+}
+
+a.externalDFN {
+ color: inherit;
+ border-bottom: 1px dotted #ccc;
+ text-decoration: none;
+}
+
+a.bibref {
+ text-decoration: none;
+}
+
+cite .bibref {
+ font-style: normal;
+}
+
+code {
+ color: #ff4500;
+}
+
+
+/* --- --- */
+ol.algorithm { counter-reset:numsection; list-style-type: none; }
+ol.algorithm li { margin: 0.5em 0; }
+ol.algorithm li:before { font-weight: bold; counter-increment: numsection; content: counters(numsection, ".") ") "; }
+
+/* --- TOC --- */
+.toc a, .tof a {
+ text-decoration: none;
+}
+
+a .secno, a .figno {
+ color: #000;
+}
+
+ul.tof, ol.tof {
+ list-style: none outside none;
+}
+
+.caption {
+ margin-top: 0.5em;
+ font-style: italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+ border-spacing: 0;
+ border-collapse: collapse;
+ border-bottom: 3px solid #005a9c;
+}
+
+.simple th {
+ background: #005a9c;
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+}
+
+.simple th[scope="row"] {
+ background: inherit;
+ color: inherit;
+ border-top: 1px solid #ddd;
+}
+
+.simple td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+ background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+ margin-top: 0;
+}
+
+.section dd > p:last-child {
+ margin-bottom: 0;
+}
+
+.section dd {
+ margin-bottom: 1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+ margin-bottom: 0;
+}
+<span class="delete">/* --- 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: #52e052; }
+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: 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;
+}
+
+
+</span></style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-WD"></head>
+ <body><div class="head">
+ <p>
+
+ <a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+
+ </p>
+ <h1 class="title" id="title">Linking Across Provenance Bundles</h1>
+
+ <h2 id="w3c-working-draft-12-march-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Working Draft <span class="delete">11 December 2012</span><span class="insert">12 March 2013</span></h2>
+ <dl>
+
+ <dt>This version:</dt>
+ <dd><span class="delete">http://www.w3.org/TR/2012/WD-prov-links-20121211/</span><a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-links-20130312/</span></a></dd>
+ <dt>Latest published version:</dt>
+ <dd><a href="http://www.w3.org/TR/prov-links/">http://www.w3.org/TR/prov-links/</a></dd>
+
+
+ <dt>Latest editor's draft:</dt>
+ <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/links/prov-links.html">http://dvcs.w3.org/hg/prov/raw-file/default/links/prov-links.html</a></dd>
+
+
+
+
+
+ <dt>Previous version:</dt>
+ <dd><a href="http://www.w3.org/TR/2012/WD-prov-links-20121211/"><span class="insert">http://www.w3.org/TR/2012/WD-prov-links-20121211/</span></a> <a href="diff.html"><span class="insert">(color-coded diff)</span></a></dd>
+
+
+ <dt>Editors:</dt>
+ <dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd>
+<dd><a href="http://tw.rpi.edu/instances/TimLebo">Timothy Lebo</a>, Rensselaer Polytechnic Institute</dd>
+
+
+ </dl>
+
+
+
+
+
+ <p class="copyright">
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
+ <span class="delete">2012</span><span class="insert">2012-2013</span>
+
+ <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+ (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+ <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+ <a href="http://www.keio.ac.jp/">Keio</a><span class="insert">, </span><a href="http://ev.buaa.edu.cn/"><span class="insert">Beihang</span></a>), All Rights Reserved.
+ <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+ <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+ </p>
+
+
+ <hr>
+</div>
+
+ <section id="abstract" class="introductory"><h2>Abstract</h2>
+<p>
+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.
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-bundle">Bundles</a>,
+defined in [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] as sets of provenance descriptions, were
+introduced in PROV as the mechanism by which provenance of provenance
+can be expressed. Bundles, whose validity is established
+independently of each other [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>], are essentially
+independent of each other, acting as islands of provenance
+descriptions.
+</p>
+
+<p>
+In applications where provenance is created by multiple parties over time, it is useful for provenance descriptions created by one party to link to provenance descriptions created by another party. Such a mechanism would allow the "stitching" of provenance descriptions together. Given that provenance descriptions are expected to be contained in bundles, this would require a capability to link entity descriptions across bundles. To address this requirement, this document introduces a relation <a href="#concept-mention" class="internalDFN">Mention</a> allowing an entity description to be linked to another entity description occurring in another bundle.
+</p>
+
+<p>The <a href="http://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="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
+ index</a> at http://www.w3.org/TR/.</em>
+ </p>
+
+<h4 id="prov-family-of-documents">PROV Family of Documents</h4>
+This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
+interchange of provenance information in heterogeneous environments such as the Web. These documents <span class="delete">are:
+</span>
+ <span class="delete">PROV-OVERVIEW</span><span class="delete"> (To be published as Note), an overview of the PROV family of documents</span><span class="insert">are listed below. Please consult the</span> [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite><span class="insert">] for a guide to reading these documents.
+</span><ul>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><span class="insert">PROV-OVERVIEW</span></a><span class="insert"> (To be published as Note), an overview of the PROV family of documents [</span><cite><a class="bibref" href="#bib-PROV-OVERVIEW"><span class="insert">PROV-OVERVIEW</span></a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [<cite><a class="bibref" href="#bib-PROV-PRIMER">PROV-PRIMER</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> <span class="delete">(Candidate</span><span class="insert">(Proposed</span> Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> <span class="delete">(Candidate</span><span class="insert">(Proposed</span> Recommendation), the PROV data model for provenance [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> <span class="delete">(Candidate</span><span class="insert">(Proposed</span> Recommendation), a notation for provenance aimed at human consumption [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> <span class="delete">(Candidate</span><span class="insert">(Proposed</span> Recommendation), a set of constraints applying to the PROV data model [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><span class="insert">PROV-XML</span></a><span class="insert"> (To be published as Note), an XML schema for the PROV data model [</span><cite><a class="bibref" href="#bib-PROV-XML"><span class="insert">PROV-XML</span></a></cite><span class="insert">];</span></li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>]; </li>
+<li> <span class="delete">PROV-XML</span><a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><span class="insert">PROV-DICTIONARY</span></a> (To be published as <span class="delete">Note), an XML schema for the PROV data model</span><span class="insert">Note) introduces a specific type of collection, consisting of key-entity pairs</span> [<cite><span class="delete">PROV-XML</span><a class="bibref" href="#bib-PROV-DICTIONARY"><span class="insert">PROV-DICTIONARY</span></a></cite>];</li>
+<li> <span class="delete">PROV-LINKS</span><a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><span class="insert">PROV-DC</span></a> (To be published as <span class="delete">Note), introduces</span><span class="insert">Note) provides</span> a <span class="delete">mechanism to link across bundles (this document).</span>
+
+
+<span class="delete">How to read the</span><span class="insert">mapping between</span> PROV <span class="delete">Family of Documentation</span>
+
+<span class="insert">and Dublic Core Terms </span>[<cite><span class="delete">PROV-OVERVIEW</span><a class="bibref" href="#bib-PROV-DC"><span class="insert">PROV-DC</span></a></cite><span class="delete">] overviews</span><span class="insert">];</span></li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312/"><span class="insert">PROV-SEM</span></a><span class="insert"> (To be published as Note), a declarative specification in terms of first-order logic of</span> the PROV <span class="delete">family of documents. </span>
+<span class="delete">The primer</span><span class="insert">data model</span> [<cite><span class="delete">PROV-PRIMER</span><a class="bibref" href="#bib-PROV-SEM"><span class="insert">PROV-SEM</span></a></cite><span class="delete">] is the entry point</span><span class="insert">];</span></li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/"><span class="insert">PROV-LINKS</span></a><span class="insert"> (To be published as Note) introduces a mechanism</span> to <span class="delete">PROV offering an introduction to the provenance model.</span>
+<span class="delete">The Linked Data and Semantic Web community should focus on [</span><span class="delete">PROV-O</span><span class="delete">] defining PROV classes and properties specified in an OWL2 ontology. For further details, [</span><span class="delete">PROV-DM</span><span class="delete">] and [</span><span class="delete">PROV-CONSTRAINTS</span><span class="delete">] specify the constraints applicable to the data model, and its interpretation. </span>
+<span class="delete">The XML community should focus on [</span><span class="delete">PROV-XML</span><span class="delete">] defining an XML schema for PROV. Further details can also be found in [</span><span class="delete">PROV-DM</span><span class="delete">] and [</span><span class="delete">PROV-CONSTRAINTS</span><span class="delete">].</span>
+<span class="delete">Developers seeking to retrieve or publish provenance should focus on [</span><span class="delete">PROV-AQ</span><span class="delete">].</span>
+<span class="delete">Readers seeking to implement other PROV serializations
+should focus on [</span><span class="delete">PROV-DM</span><span class="delete">] and [</span><span class="delete">PROV-CONSTRAINTS</span><span class="delete">]. [</span><span class="delete">PROV-O</span><span class="delete">], [</span><span class="delete">PROV-N</span><span class="delete">], and [</span><span class="delete">PROV-XML</span><span class="delete">] offer examples of mapping to RDF, text, and XML, respectively.</span><span class="insert">link across bundles (this document).</span></li>
+</ul>
+
+ <p>
+ This document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as a <span class="delete">First Public </span>Working Draft.
+
+
+
+
+ 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 <span class="delete">feedback is</span><span class="insert">comments are</span> welcome.
+
+
+
+ </p>
+
+ <p>
+ Publication as a Working Draft does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+ This is a draft document and may be updated, replaced or obsoleted by other documents at
+ any time. It is inappropriate to cite this document as other than work in progress.
+ </p>
+
+
+ <p>
+
+ This document was produced by a group operating under the
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+ The group does not expect this document to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
+
+
+ <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a>
+
+ made in connection with the deliverables of the group; that page also includes instructions for
+ disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains
+ <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
+ information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+ 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+ </p>
+
+
+
+
+</section><section id="toc"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><ul class="toc"><li class="tocline"><a href="#prov-namespace" class="tocxref"><span class="secno"><span class="insert">1.1 </span></span><span class="insert">PROV Namespace</span></a></li><li class="tocline"><a href="#conventions" class="tocxref"><span class="secno"><span class="insert">1.2 </span></span><span class="insert">Conventions</span></a></li></ul></li><li class="tocline"><a href="#term-mention" class="tocxref"><span class="secno">2. </span>Conceptual Definition of Mention</a></li><li class="tocline"><a href="#mention-ontology" class="tocxref"><span class="secno">3. </span>Ontological Definition of Mention</a></li><li class="tocline"><a href="#mention-xml" class="tocxref"><span class="secno">4. </span>XML Schema for Mention</a></li><li class="tocline"><a href="#mention-constraints" class="tocxref"><span class="secno">5. </span>Constraints associated with Mention</a></li><li class="tocline"><a href="#change-log-since-first-public-working-draft" class="tocxref"><span class="secno"><span class="insert">A. </span></span><span class="insert">Change Log Since First Public Working Draft</span></a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno"><span class="delete">A.</span><span class="insert">B.</span> </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno"><span class="delete">B.</span><span class="insert">C.</span> </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno"><span class="delete">B.1</span><span class="insert">C.1</span> </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+
+
+
+
+
+
+<section id="introduction">
+<h2><span class="secno">1. </span>Introduction</h2>
+
+<p>
+<span class="delete">Provenance</span><span class="delete">
+is</span><span class="insert">The PROV data model [</span><cite><a class="bibref" href="#bib-PROV-DM"><span class="insert">PROV-DM</span></a></cite><span class="insert">] defines </span><a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><span class="insert">provenance</span></a><span class="insert">
+as</span> a record that describes the people, institutions, entities, and
+activities involved in producing, influencing, or delivering a piece
+of data or a thing. The specifications [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>], [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>],
+[<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>], and [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>] have respectively defined the PROV
+ontology, the PROV conceptual model, the PROV notation, and the PROV
+XML schema, allowing provenance descriptions to be expressed,
+represented in various representations, and interchanged between systems across the Web.
+</p>
+
+<p>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. To support this, provenance itself should be trusted, and therefore, provenance of provenance is itself a critical aspect of an information infrastructure such as the Web. To this end, PROV introduces the concept of <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-bundle">Bundle</a>: defined as a set of provenance <span class="delete">descriptions,</span><span class="insert">descriptions;</span> it is a mechanism by which provenance of provenance can be expressed (see also <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/#Bundle">Bundle</a> [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>] and <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/#term-Bundle">Bundle</a> [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>]). With bundles, blobs of provenance descriptions can be given names and can themselves be regarded as entities, whose provenance can in turn be described using PROV. These blobs of provenance descriptions are independent of each other, as <span class="delete">illustrated</span><span class="insert">formalized</span> by [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>] which determines their <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/#bundle-constraints">validity</a> by examining them in isolation of each other. </p>
+
+
+<p>In a distributed environment, it is common to encounter applications that involve multiple parties: it is a common situation that some party creates some data and its provenance, whereas another party consumes the data and its provenance. In such a situation, the consumer, when it in turn generates provenance, often wants to augment the descriptions of entities generated by another producer. For the consumer, it is not suitable to repeat the provenance created by the producer, and augment it according to their need. Instead, a consumer wants to <em>refer</em> to the description as created by the producer <em>in situ</em>, i.e. in its bundle, and <em>specialize it</em>, allowing the consumer to add their own view on this entity. Such a capability would allow parties to "stitch together" provenance descriptions that would otherwise be disconnected.</p>
+
+<p><span class="insert">While URIs are the Web mechanism by which entities can be assigned identities, URIs alone are not sufficient for our purpose. Indeed, the entity produced by the producer is given a URI, but the same entity, with the same URI, could also be described in other bundles, by this producer or third parties. It is the capability of referring to the description of the entity, as created by the producer in this specific bundle, that is of interest to us in this specification. </span></p>
+
+<p>This document introduces a new concept <a href="#concept-mention" class="internalDFN">Mention</a> allowing an entity to be described as the specialization of another entity, itself described in another bundle. The document provides not only a conceptual definition of <a href="#concept-mention" class="internalDFN">Mention</a>, but also the corresponding ontological, schema, and notational definitions, for the various representations of PROV. It also includes constraints that apply to this construct specifically. It is our aim to promote interoperability by defining <a href="#concept-mention" class="internalDFN">Mention</a> conceptually and in the representations of PROV.</p>
+
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">The concept <a href="#concept-mention" class="internalDFN">Mention</a> is experimental, and for this reason was not defined in PROV recommendation-track documents. The Provenance Working Group is seeking feedback from the community on its usefulness in practical scenarios.
+</div></div>
+
+
+
+<section id="prov-namespace">
+<h3><span class="secno"><span class="insert">1.1 </span></span><span class="insert">PROV Namespace</span></h3>
+<p><span class="insert">The PROV namespace URI is </span><span class="name"><span class="insert">http://www.w3.org/ns/prov#</span></span><span class="insert"> and prefix </span><span class="name"><span class="insert">prov</span></span><span class="insert">.</span></p>
+<p><span class="insert"> All the concepts, reserved names, classes, properties, attributes introduced in this specification belong to the PROV namespace.</span></p>
+</section>
+
+<section id="conventions">
+<h3><span class="secno"><span class="insert">1.2 </span></span><span class="insert">Conventions</span></h3>
+
+<p><span class="insert">The key words "</span><em class="rfc2119" title="must"><span class="insert">must</span></em><span class="insert">", "</span><em class="rfc2119" title="must not"><span class="insert">must not</span></em><span class="insert">", "</span><em class="rfc2119" title="required"><span class="insert">required</span></em><span class="insert">", "</span><em class="rfc2119" title="shall"><span class="insert">shall</span></em><span class="insert">", "</span><em class="rfc2119" title="shall
+ not"><span class="insert">shall
+ not</span></em><span class="insert">", "</span><em class="rfc2119" title="should"><span class="insert">should</span></em><span class="insert">", "</span><em class="rfc2119" title="should not"><span class="insert">should not</span></em><span class="insert">", "</span><em class="rfc2119" title="recommended"><span class="insert">recommended</span></em><span class="insert">", "</span><em class="rfc2119" title="may"><span class="insert">may</span></em><span class="insert">", and
+ "</span><em class="rfc2119" title="optional"><span class="insert">optional</span></em><span class="insert">" in this document are to be interpreted as described in
+ [</span><cite><a class="bibref" href="#bib-RFC2119"><span class="insert">RFC2119</span></a></cite><span class="insert">].</span></p>
+</section>
+
+</section>
+
+<section id="term-mention">
+<h2><span class="secno">2. </span>Conceptual Definition of Mention</h2>
+
+
+
+<p>An entity <span class="name">e1</span> may be mentioned in a bundle <span class="name">b</span>, which contains some
+ descriptions about this entity <span class="name">e1</span>: how <span class="name">e1</span> was generated and used, which activities <span class="name">e1</span> is involved with, the agents <span class="name">e1</span> is attributed to, etc.
+Other bundles may contain other descriptions about the same entity <span class="name">e1</span>.
+Some applications may want to augment
+the descriptions of entity <span class="name">e1</span> found in bundle <span class="name">b</span> with other information.
+To this end, PROV allows a new entity <span class="name">e2</span> to be created and defined as a specialization of the preceding entity <span class="name">e1</span>, and which presents at least an additional aspect: the bundle <span class="name">b</span> containing some descriptions of <span class="name">e1</span>. With this relation, applications that process <span class="name">e2</span>
+can know that the attributes of <span class="name">e2</span> may have been computed according to the descriptions of <span class="name">e1</span> in <span class="name">b</span>.
+(The term 'aspect' should be understood informally as "a particular part or feature of something"; the term is used in [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]'s definitions of
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-entity">entity</a> (Section 5.1.1),
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-specialization">specialization</a> (Section 5.5.1),
+<a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#concept-alternate">alternate</a> (Section 5.5.2), and in
+<a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/#entities-activities-and-agents">section 2.1</a> of [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>]).
+</p>
+
+
+<p>
+ <a href="#figure-component5">Figure 1</a> depicts
+the relation MentionOf <span class="delete">(</span><span class="insert">(concept </span><a href="#concept-mention" class="internalDFN"><span class="delete">mention</span><span class="insert">Mention</span></a>) as a ternary relation.
+</p>
+
+
+<div style="text-align: center;">
+<span class="figure" id="fig-figure-1-uml-diagram-for-mention" style="max-width: 95%; ">
+<img src="figures/component5.png" alt="mention"><br>
+<span class="figcaption" id="figure-component5">Figure 1<sup><a class="internalDFN" href="#figure-component5"><span class="diamond"> ◊:</span></a></sup> UML Diagram for Mention</span>
+</span>
+</div>
+
+
+<p>Thus, <span class="delete">Mention is </span>a <span class="delete">relation between</span><span class="insert">mention relates</span> two entities with regard to a bundle.
+It is a special case of specialization.</p>
+
+
+<span class="glossary-ref"> The <dfn id="concept-mention" title="Mention" class="internalDFN">mention</dfn><sup><a class="internalDFN" href="#concept-mention"><span class="diamond"> ◊</span></a></sup> of an entity in a bundle (containing a description of this entity) is another entity that is a specialization of the former and that presents at least the bundle as a further additional aspect. </span>
+
+
+
+<p>
+An entity is interpreted with respect to a bundle's description in a
+domain specific manner. The mention of this entity with respect to
+this bundle offers the opportunity to specialize it according to some
+domain-specific interpretation.
+</p>
+
+
+<p>A mention of an entity in a bundle results in a specialization of this entity with extra fixed aspects, including the bundle that it is described in.
+</p>
+
+
+
+
+<p></p><div class="attributes" id="attributes-mention">A <dfn title="mentionOf" id="dfn-mentionof" class="internalDFN">mention</dfn><sup><a class="internalDFN" href="#dfn-mentionof"><span class="diamond"> ◊</span></a></sup> relation<span class="withPn">, written <span class="pnExpression"><span class="delete">mentionOf(infra,</span><span class="insert">prov:mentionOf(infra,</span> supra, b)</span> in PROV-N,</span> has:
+<ul>
+<li><span class="attribute" id="mention.specificEntity">specificEntity</span>: an identifier (<span class="name">infra</span>)
+of the entity that is a mention of the general entity (<span class="name">supra</span>);</li>
+<li><span class="attribute" id="mention.generalEntity">generalEntity</span>: an identifier (<span class="name">supra</span>) for an entity that appears in bundle <span class="name">b</span>.</li>
+<li><span class="attribute" id="mention.bundle">bundle</span>: an identifier (<span class="name">b</span>) of a bundle that contains a description of <span class="name">supra</span> and further constitutes one additional aspect presented by <span class="name">infra</span>.</li>
+</ul>
+</div>
+
+<p>Like <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-specialization">specialization</a>, a mention is not, as defined here, an <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/#dfn-influence">influence</a>, and therefore does not have an id and attributes.
+Its grammar, in the provenance notation, is written as follows.</p>
+
+<table class="grammar">
+<tbody class="prod"> <tr style="vertical-align: baseline; "> <td><a id="prod-mentionExpression" data-name="prod-mentionExpression"></a><span class="prodNo"></span> </td> <td><code class="production prod">mentionExpression</code></td> <td> ::= </td> <td><code class="content"><span class="delete">"mentionOf"</span><span class="insert">"prov:mentionOf"</span> "(" <span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></span> "," <span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></span> "," <span class="prod"><a class="grammarRef" href="#prod-bIdentifier">bIdentifier</a></span> ")"</code></td> </tr> </tbody>
+<tbody class="prod"> <tr style="vertical-align: baseline; "> <td><a id="prod-bIdentifier" data-name="prod-bIdentifier"></a> </td> <td><code class="production prod">bIdentifier</code></td> <td> ::= </td> <td><code class="content"><span class="prod"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-identifier">identifier</a></span></code></td> </tr> </tbody>
+</table>
+
+
+<p>The following table summarizes how each constituent of a Mention maps to a syntax element, in the provenance notation.</p>
+<div style="text-align: left; ">
+<table class="thinborder" style="margin-left: auto; margin-right: auto;">
+<tbody><tr><td><b><a href="#dfn-mentionof">Mention</a></b></td><td><b>Non-Terminal</b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+
+<tr><td><a href="#mention.specificEntity"><span class="attribute" data-id="mention.specificEntity">specificEntity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></code></td></tr>
+
+
+<tr><td><a href="#mention.generalEntity"><span class="attribute" data-id="mention.generalEntity">generalEntity</span></a></td><td><code class="content"><a class="grammarRef" href="http://www.w3.org/TR/2013/PR-prov-n-20130312/#prod-eIdentifier">eIdentifier</a></code></td></tr>
+
+<tr><td><a href="#mention.bundle"><span class="attribute" data-id="mention.bundle">bundle</span></a></td><td><code class="content"><a class="grammarRef" href="#prod-bIdentifier">bIdentifier</a></code></td></tr>
+
+</tbody></table>
+</div>
+
+<p><span class="insert">We note that the concept </span><a href="#concept-mention" class="internalDFN"><span class="insert">Mention</span></a><span class="insert"> is an extension of [</span><cite><a class="bibref" href="#bib-PROV-DM"><span class="insert">PROV-DM</span></a></cite><span class="insert">], and therefore has to be prefixed,
+</span><span class="name"><span class="insert">prov:mentionOf</span></span><span class="insert">, according the extensibility
+rules of the provenance notation [</span><cite><a class="bibref" href="#bib-PROV-N"><span class="insert">PROV-N</span></a></cite><span class="insert">].</span></p>
+
+
+<p>
+Let us consider a bundle and the expression <span class="name">specializationOf(e2,e1)</span> occuring in this bundle. The entity <span class="name">e1</span> may described <span class="delete">im</span><span class="insert">in</span> multiple other bundle <span class="name">b<sub>i</sub></span>.
+From <span class="name">specializationOf(e2,e1)</span>, one cannot infer <span class="name"><span class="delete">mentionOf(e2,e1,b)</span><span class="insert">prov:mentionOf(e2,e1,b)</span></span> for a given <span class="name">b</span>, since it is unknown which <span class="name">b<sub>i</sub></span>'s descriptions were used to computed additional aspects of <span class="name">e2</span>. Hence, <span class="name"><span class="delete">mentionOf</span><span class="insert">prov:mentionOf</span></span> has to be asserted. </p>
+
+<p><a href="#mention-constraints" class="section-ref"><span>Section 5.</span></a> presents constraints applicable to <a href="#concept-mention" class="internalDFN">Mention</a>, and in particular, the fact that an entity can be a <a href="#mention.specificEntity">specific entity</a> of a <a href="#concept-mention" class="internalDFN">Mention</a> at most once.</p>
+
+
+<div class="anexample" id="anexample-mention-rating"><div class="anexampleTitle">Example 1<sup><a class="internalDFN" href="#anexample-mention-rating"><span class="diamond"> ◊</span></a></sup></div>
+<p>This example is concerned with a performance rating tool that reads and processes provenance to determine the performance of agents. To keep the example simple, an agent's performance is determined by the duration of the activities it is associated with. </p>
+<p>As an illustration, we consider <span class="delete">that </span>two bundles <span class="name">ex:run1</span> and <span class="name">ex:run2</span><span class="insert"> that</span> refer to an agent <span class="name">ex:Bob</span> that controlled two activities <span class="name">ex:a1</span> and <span class="name">ex:a2</span>. </p>
+
+<pre class="codeexample">bundle ex:run1
+ activity(ex:a1, 2011-11-16T16:00:00, 2011-11-16T17:00:00) //duration: 1hour
+ wasAssociatedWith(ex:a1, ex:Bob, [prov:role="controller"])
+endBundle
+
+bundle ex:run2
+ activity(ex:a2, 2011-11-17T10:00:00, 2011-11-17T17:00:00) //duration: 7hours
+ wasAssociatedWith(ex:a2, ex:Bob, [prov:role="controller"])
+endBundle
+</pre>
+<p>The performance rating tool reads these bundles, and rates the performance of the agent described in these bundles. The performance rating tool creates a new bundle <span class="name">tool:analysis01</span> containing the following. A new agent <span class="name">tool:Bob-2011-11-16</span> is declared as a mention of <span class="name">ex:Bob</span> as described in bundle <span class="name">ex:run1</span>, and likewise for <span class="name">tool:Bob-2011-11-17</span> with respect to <span class="name">ex:run2</span>. The tool adds a domain-specific performance attribute to each of these specialized entities as follows: the performance of the agent in the first bundle is judged to be good since the duration of <span class="name">ex:a1</span> is one hour, whereas it is judged to be bad in the second bundle since <span class="name">ex:a2</span>'s duration is seven hours. The attribute <span class="name">perf:rating</span> is an example of additional attribute of the specialized agents <span class="name">tool:Bob-2011-11-16</span> and <span class="name">tool:Bob-2011-11-17</span>.</p>
+
+<pre class="codeexample">bundle tool:analysis01
+ agent(tool:Bob-2011-11-16, [perf:rating="good"])
+ <span class="delete">mentionOf(tool:Bob-2011-11-16,</span><span class="insert">prov:mentionOf(tool:Bob-2011-11-16,</span> ex:Bob, ex:run1)
+
+ agent(tool:Bob-2011-11-17, [perf:rating="bad"])
+ <span class="delete">mentionOf(tool:Bob-2011-11-17,</span><span class="insert">prov:mentionOf(tool:Bob-2011-11-17,</span> ex:Bob, ex:run2)
+endBundle
+</pre>
+</div>
+
+
+
+
+<div class="anexample" id="aexample-mention-viz"><div class="anexampleTitle">Example 2<sup><a class="internalDFN" href="#aexample-mention-viz"><span class="diamond"> ◊</span></a></sup></div>
+<p>Consider the following bundle of descriptions, in which derivation and generations have been identified.
+</p><pre class="codeexample">
+bundle obs:bundle1
+ entity(ex:report1, [ prov:type="report", ex:version=1 ])
+ wasGeneratedBy(ex:g1; ex:report1, -, 2012-05-24T10:00:01)
+ entity(ex:report2, [ prov:type="report", ex:version=2 ])
+ wasGeneratedBy(ex:g2; ex:report2, -, 2012-05-25T11:00:01)
+ wasDerivedFrom(ex:report2, ex:report1)
+endBundle
+entity(obs:bundle1, [ prov:type='prov:Bundle' ])
+wasAttributedTo(obs:bundle1, ex:observer01)
+</pre>
+Bundle <span class="name">obs:bundle1</span> is rendered by a visualisation tool. It may useful for the visualization layout of this bundle to be shared along with the provenance descriptions, so that other users can render provenance as it was originally rendered. The original bundle obviously cannot be changed. However, one can create a new bundle, as follows.
+<pre class="codeexample">
+bundle tool:bundle2
+ entity(tool:bundle2, [ prov:type='viz:Configuration', prov:type='prov:Bundle' ])
+ wasAttributedTo(tool:bundle2, viz:Visualizer)
+
+ entity(tool:report1, [ viz:color="orange" ])
+ <span class="delete">mentionOf(tool:report1,</span><span class="insert">prov:mentionOf(tool:report1,</span> ex:report1, obs:bundle1)
+
+ entity(tool:report2, [ viz:color="blue" ])
+ <span class="delete">mentionOf(tool:report2,</span><span class="insert">prov:mentionOf(tool:report2,</span> ex:report2, obs:bundle1)
+endBundle
+</pre>
+
+<p>In bundle <span class="name">tool:bundle2</span>, the prefix <span class="name">viz</span> is used for naming visualisation-specific attributes, types or values.</p>
+
+<p>This example is typical of a common situation in distributed environments, where the consumer and producer of provenance are different.</p>
+
+<p>Bundle <span class="name">tool:bundle2</span> is given type <span class="name">viz:Configuration</span> to indicate that it consists of descriptions that pertain to the configuration of the visualisation tool. This type attribute can be used for searching bundles containing visualization-related descriptions.
+</p>
+
+<p>The visualisation tool
+ created new identifiers <span class="name">tool:report1</span> and
+<span class="name">tool:report2</span>.
+They denote entities which are specializations of <span class="name">ex:report1</span> and <span class="name">ex:report2</span>, described in bundle <span class="name">obs:bundle1</span>, with visualization attribute for the color to be used when rendering these entities. </p>
+
+</div>
+
+
+
+</section>
+
+
+
+<section id="mention-ontology">
+ <h2><span class="secno">3. </span>Ontological Definition of Mention</h2>
+
+<p>The ternary relation <span class="delete">mentionOf</span><a title="mentionOf" href="#dfn-mentionof" class="internalDFN"><span class="insert">prov:mentionOf</span></a> is encoded as two properties:
+<a href="#mentionOf">prov:mentionOf</a> and
+<a href="#asInBundle">prov:asInBundle</a>, defined as follows.</p>
+
+<div class="entity" id="mentionOf">
+ <h2 id="property--prov-mentionof-op-----------------back-to-expanded-properties">
+ Property: <a href="#mentionOf"><span title="http://www.w3.org/ns/prov#mentionOf" class="dotted">prov:mentionOf</span></a> <sup title="object property" class="type-op">op</sup>
+
+ </h2>
+ <p><strong class="crossreference">IRI:</strong>http://www.w3.org/ns/prov#mentionOf</p>
+
+
+ <div class="description">
+ <div class="comment "><p>When :x prov:mentionOf :y and :y is described in Bundle :b, the triple :x prov:asInBundle :b is also asserted to cite the Bundle in which :y was described.</p>
+ </div>
+ <div class="comment "><p>prov:asInBundle is used to cite the Bundle in which the generalization was mentioned.</p>
+ </div>
+ <dl>
+
+ <dt>has super-properties</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#specializationOf" title="http://www.w3.org/ns/prov#specializationOf">prov:specializationOf</a> <sup title="object property" class="type-op">op</sup>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Entity" title="http://www.w3.org/ns/prov#Entity">prov:Entity</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Entity" title="http://www.w3.org/ns/prov#Entity">prov:Entity</a>
+ </li>
+ </ul>
+ </dd>
+
+ <span class="delete">PROV-DM term</span>
+
+ <span class="delete">mention</span>
+
+
+
+ </dl>
+ </div>
+ </div>
+
+
+<div class="entity" id="asInBundle">
+ <h2 id="property--prov-asinbundle-op-----------------back-to-expanded-properties">
+ Property: <a href="#asInBundle"><span title="http://www.w3.org/ns/prov#asInBundle" class="dotted">prov:asInBundle</span></a> <sup title="object property" class="type-op">op</sup>
+ </h2>
+ <p><strong class="crossreference">IRI:</strong>http://www.w3.org/ns/prov#asInBundle</p>
+
+
+ <div class="description">
+ <div class="comment "><p>When :x prov:mentionOf :y and :y is described in Bundle :b, the triple :x prov:asInBundle :b is also asserted to cite the Bundle in which :y was described.</p>
+ </div>
+ <dl>
+ <dt>has domain</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Entity" title="http://www.w3.org/ns/prov#Entity">prov:Entity</a>
+ </li>
+ </ul>
+ </dd>
+
+ <dt>has range</dt>
+ <dd>
+ <ul>
+ <li>
+ <a class="owlclass" href="#Bundle" title="http://www.w3.org/ns/prov#Bundle">prov:Bundle</a>
+ </li>
+ </ul>
+ </dd>
+
+ <span class="delete">PROV-DM term</span>
+
+ <span class="delete">mention</span>
+
+
+
+ </dl>
+ </div>
+ </div>
+
+<div class="anexample" typeof="prov:Entity" data-about="#example-for-property-mentionOf" id="example_3"><div class="anexampleTitle">Example 3<sup><a class="internalDFN" href="#example_3"><span class="diamond"> ◊</span></a></sup></div>
+ <span resource="http://www.w3.org/ns/prov#mentionOf" data-rel="dcterms:subject"></span>
+
+<p>We revisit <a href="#anexample-mention-rating" class="anexample-ref"><span>Example 1</span></a>, encoding in RDF the rating of Bob in the context of the second activity.<span class="insert"> For this, we use teh TRIG notation to express bundles
+</span><span class="name"><span class="insert">:run2</span></span><span class="insert"> and
+</span><span class="name"><span class="insert">tool:analysis01</span></span><span class="insert">.</span></p>
+
+ <pre property="prov:value" resource="http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-24-prov-o-html-examples/rdf/create/rdf/property_mentionOf.ttl" data-rel="prov:wasQuotedFrom">@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix tool: <http://example.com/tool/> .
+@prefix perf: <http://example.com/performance/> .
+@prefix : <http://example.com/> .
+
+:run2 {
+ :activity_2
+ a prov:Activity;
+ prov:startedAtTime "2011-11-17T10:00:00"^^xsd:dateTime;
+ prov:endedAtTime "2011-11-17T17:00:00"^^xsd:dateTime;
+ prov:wasAssociatedWith :bob;
+ .
+}
+
+<span class="delete">tool:analysis_01</span><span class="insert">tool:analysis01</span> {
+ tool:bob-2011-11-17
+ a prov:Agent;
+ prov:mentionOf :bob;
+ prov:asInBundle :run2;
+ perf:rating perf:very-slow;
+ .<span class="delete">
+}
+
+</span>
+
+ # This is inferred from prov:mentionOf
+
+ tool:bob-2011-11-17 prov:specializationOf :bob .
+
+
+
+ # This is inferred from prov:specializationOf
+
+ tool:bob-2011-11-17 prov:alternateOf :bob .
+<span class="insert">}
+
+</span></pre>
+ </div>
+</section>
+
+
+<section id="mention-xml">
+ <h2><span class="secno">4. </span>XML Schema for Mention</h2>
+
+
+
+<p>Type definition in XML Schema:</p><pre class="schema-type"><xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Mention">
+ <xs:sequence>
+ <xs:element name="specificEntity" <span class="delete">type="prov:EntityRef"/></span><span class="insert">type="prov:IDRef"/></span>
+ <xs:element name="generalEntity" <span class="delete">type="prov:EntityRef"/></span><span class="insert">type="prov:IDRef"/></span>
+ <xs:element name="bundle" <span class="delete">type="prov:EntityRef"/></span><span class="insert">type="prov:IDRef"/></span>
+ </xs:sequence>
+</xs:complexType>
+</pre>
+<p>Usage in XML:</p><pre class="schema-usage"><xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="mentionOf" <span class="delete">type="prov:Mention"/></span><span class="insert">type="prov:Mention" substitutionGroup="prov:internalElement"/></span>
+</pre>
+<div class="anexample" id="example_4"><div class="anexampleTitle">Example 4<sup><a class="internalDFN" href="#example_4"><span class="diamond"> ◊</span></a></sup></div>
+<pre><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:perf="http://example.com/ns/perf#"
+ xmlns:tool="http://example.com/ns/tool#">
+
+ <span class="delete"><prov:bundle</span><span class="insert"><prov:bundleContent</span> prov:id="ex:run1">
+ <prov:activity prov:id="ex:a1">
+ <prov:startTime>2011-11-16T16:00:00</prov:startTime>
+ <prov:endTime>2011-11-16T17:00:00</prov:endTime>
+ </prov:activity>
+
+ <prov:wasAssociatedWith>
+ <prov:activity prov:ref="ex:a1" />
+ <prov:agent prov:ref="ex:Bob" />
+ <prov:role xsi:type="xsd:QName">controller</prov:role>
+ </prov:wasAssociatedWith>
+ <span class="delete"></prov:bundle></span><span class="insert"></prov:bundleContent></span>
+
+ <span class="delete"><prov:bundle</span><span class="insert"><prov:bundleContent</span> prov:id="ex:run2">
+ <prov:activity prov:id="ex:a2">
+ <prov:startTime>2011-11-17T10:00:00</prov:startTime>
+ <prov:endTime>2011-11-17T17:00:00</prov:endTime>
+ </prov:activity>
+
+ <prov:wasAssociatedWith>
+ <prov:activity prov:ref="ex:a2" />
+ <prov:agent prov:ref="ex:Bob" />
+ <prov:role xsi:type="xsd:QName">controller</prov:role>
+ </prov:wasAssociatedWith>
+ <span class="delete"></prov:bundle></span><span class="insert"></prov:bundleContent></span>
+
+ <span class="delete"><prov:bundle</span><span class="insert"><prov:bundleContent</span> prov:id="tool:analysis01">
+ <prov:agent prov:id="tool:Bob-2011-11-16">
+ <ex:perfrating>good</ex:perfrating>
+ </prov:agent>
+
+ <b><prov:mentionOf>
+ <prov:specificEntity prov:ref="tool:Bob-2011-11-16" />
+ <prov:generalEntity prov:ref="ex:Bob" />
+ <prov:bundle prov:ref="ex:run1" />
+ </prov:mentionOf></b>
+
+ <prov:agent prov:id="tool:Bob-2011-11-17">
+ <ex:perfrating>bad</ex:perfrating>
+ </prov:agent>
+
+ <b><prov:mentionOf>
+ <prov:specificEntity prov:ref="tool:Bob-2011-11-17" />
+ <prov:generalEntity prov:ref="ex:Bob" />
+ <prov:bundle prov:ref="ex:run2" />
+ </prov:mentionOf></b>
+ <span class="delete"></prov:bundle></span><span class="insert"></prov:bundleContent></span>
+
+</prov:document></pre></div>
+</section>
+
+
+
+
+
+
+<section id="mention-constraints">
+ <h2><span class="secno">5. </span>Constraints associated with Mention</h2>
+
+
+
+
+
+ <p id="mention-specialization-inference_text">If one entity is a mention of another in a bundle, then the former is also a specialization of the latter:</p>
+
+ <div class="inference" id="mention-specialization-inference">
+<p>
+<span class="conditional">IF</span> <span class="name">mentionOf(e2,e1,b)</span> <span class="conditional">THEN</span> <span class="name">specializationOf(e2,e1)</span>.</p>
+ </div>
+
+
+
+
+<div id="unique-mention_text">
+<p>An entity can be the subject of at most one mention relation.</p>
+</div>
+
+
+<div class="constraint" id="unique-mention">
+<p>
+<span class="conditional">IF</span> <span class="name">mentionOf(e, e1, b1)</span> and <span class="name">mentionOf(e, e2, b2)</span>,
+<span class="conditional">THEN</span> <span class="name">e1</span>=<span class="name">e2</span> and <span class="name">b1</span>=<span class="name">b2</span>.</p>
+</div>
+
+
+
+</section>
+
+
+
+
+
+<section class="appendix" id="change-log-since-first-public-working-draft">
+ <h2><span class="secno"><span class="insert">A. </span></span><span class="insert">Change Log Since First Public Working Draft</span></h2>
+<ul>
+<li><span class="insert"> Checked all internal fragments resolved.
+</span></li><li><span class="insert"> 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.
+</span></li><li><span class="insert"> Changed all URLs to PROV documents.
+</span></li><li><span class="insert"> Updated XML schema definition.
+</span></li><li><span class="insert"> Updated affiliations.
+</span></li><li><span class="insert"> Added namespace and convention sections.
+</span></li><li><span class="insert"> Updated grammar to make prov prefix explicit.
+</span></li><li><span class="insert"> Added new paragraph in introduction.
+</span></li><li><span class="insert"> Moved "inferred statements" into named graph tool:analysis01 in Example 3.
+</span></li><li><span class="insert"> Added comment on TRIG notation.
+</span></li><li><span class="insert"> Updated xml example with new syntax of bundles.
+</span></li></ul>
+</section>
+
+<section class="appendix" id="acknowledgements">
+ <h2><span class="secno"><span class="delete">A.</span><span class="insert">B.</span> </span>Acknowledgements</h2>
+ <p>
+
+This document has been produced by the PROV Working Group, and its contents reflect extensive discussion within the Working Group as a whole. The editors extend special thanks to Ivan Herman (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>).
+ </p>
+
+<p>
+Members of the PROV Working Group at the time of publication of this document were:
+
+Ilkay Altintas (Invited expert),
+Reza B'Far (Oracle Corporation),
+Khalid Belhajjame (University of Manchester),
+James Cheney (University of Edinburgh, School of Informatics),
+Sam Coppens <span class="delete">(IBBT),</span><span class="insert">(iMinds - Ghent University),</span>
+David Corsar (University of Aberdeen, Computing Science),
+Stephen Cresswell (The National Archives),
+Tom De Nies <span class="delete">(IBBT),</span><span class="insert">(iMinds - Ghent University),</span>
+Helena Deus (DERI Galway at the National University of Ireland, Galway, Ireland),
+Simon Dobson (Invited expert),
+Martin Doerr (Foundation for Research and Technology - Hellas(FORTH)),
+Kai Eckert (Invited expert),
+Jean-Pierre EVAIN (European Broadcasting Union, EBU-UER),
+James Frew (Invited expert),
+Irini Fundulaki (Foundation for Research and Technology - Hellas(FORTH)),
+Daniel Garijo (Universidad Politécnica de Madrid),
+Yolanda Gil (Invited expert),
+Ryan Golden (Oracle Corporation),
+Paul Groth (Vrije Universiteit),
+Olaf Hartig (Invited expert),
+David Hau (National Cancer Institute, NCI),
+Sandro Hawke (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="Massachusetts Institute of Technology">MIT</abbr>),
+Jörn Hees (German Research Center for Artificial Intelligence (DFKI) Gmbh),
+Ivan Herman, (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>),
+Ralph Hodgson (TopQuadrant),
+Hook Hua (Invited expert),
+Trung Dong Huynh (University of Southampton),
+Graham Klyne (University of Oxford),
+Michael Lang (Revelytix, Inc.),
+Timothy Lebo (Rensselaer Polytechnic Institute),
+James McCusker (Rensselaer Polytechnic Institute),
+Deborah McGuinness (Rensselaer Polytechnic Institute),
+Simon Miles (Invited expert),
+Paolo Missier (School of Computing Science, Newcastle university),
+Luc Moreau (University of Southampton),
+James Myers (Rensselaer Polytechnic Institute),
+Vinh Nguyen (Wright State University),
+Edoardo Pignotti (University of Aberdeen, Computing Science),
+Paulo da Silva Pinheiro (Rensselaer Polytechnic Institute),
+Carl Reed (Open Geospatial Consortium),
+Adam Retter (Invited Expert),
+Christine Runnegar (Invited expert),
+Satya Sahoo (Invited expert),
+David Schaengold (Revelytix, Inc.),
+Daniel Schutzer (FSTC, Financial Services Technology Consortium),
+Yogesh Simmhan (Invited expert),
+Stian Soiland-Reyes (University of Manchester),
+Eric Stephan (Pacific Northwest National Laboratory),
+Linda Stewart (The National Archives),
+Ed Summers (Library of Congress),
+Maria Theodoridou (Foundation for Research and Technology - Hellas(FORTH)),
+Ted Thibodeau (OpenLink Software Inc.),
+Curt Tilmes (National Aeronautics and Space Administration),
+Craig Trim (IBM Corporation),
+Stephan Zednik (Rensselaer Polytechnic Institute),
+Jun Zhao (University of Oxford),
+Yuting Zhao (University of Aberdeen, Computing Science).
+</p>
+ </section>
+
+
+
+
+<section id="references" class="appendix"><h2><span class="secno"><span class="delete">B.</span><span class="insert">C.</span> </span>References</h2><section id="informative-references"><h3><span class="secno"><span class="delete">B.1</span><span class="insert">C.1</span> </span>Informative references</h3><dl class="bibliography"><dt id="bib-PROV-AQ">[PROV-AQ]</dt><dd>Graham Klyne; Paul Groth; eds. <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/"><cite>Provenance Access and Query</cite></a>. <span class="delete">19 June 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-aq-20120619/</span><a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-aq-20130312/</span></a>
+</dd><dt id="bib-PROV-CONSTRAINTS">[PROV-CONSTRAINTS]</dt><dd>James Cheney; Paolo Missier; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/"><cite>Constraints of the PROV Data Model</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> W3C <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation. URL: <span class="delete">http://www.w3.org/TR/2012/CR-prov-constraints-20121211/</span><a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-constraints-20130312/</span></a>
+</dd><dt id="bib-PROV-DC"><span class="insert">[PROV-DC]</span></dt><dd><span class="insert">Daniel Garijo; Kai Eckert; eds. </span><a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><cite><span class="insert">Dublin Core to PROV Mapping</span></cite></a><span class="insert">. 12 March 2013, Working Draft. URL: </span><a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-dc-20130312/</span></a>
+</dd><dt id="bib-PROV-DICTIONARY"><span class="insert">[PROV-DICTIONARY]</span></dt><dd><span class="insert">Tom De Nies; Sam Coppens; eds. </span><a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><cite><span class="insert">PROV Dictionary</span></cite></a><span class="insert">. 12 March 2013, Working Draft. URL: </span><a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/</span></a>
+</dd><dt id="bib-PROV-DM">[PROV-DM]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><cite>PROV-DM: The PROV Data Model</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> W3C <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation. URL: <span class="delete">http://www.w3.org/TR/2012/CR-prov-dm-20121211/</span><a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-dm-20130312/</span></a>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/"><cite>PROV-N: The Provenance Notation</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> W3C <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation. URL: <span class="delete">http://www.w3.org/TR/2012/CR-prov-n-20121211/</span><a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-n-20130312/</span></a>
+</dd><dt id="bib-PROV-O">[PROV-O]</dt><dd>Timothy Lebo; Satya Sahoo; Deborah McGuinness; eds. <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/"><cite>PROV-O: The PROV Ontology</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> W3C <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation. URL: <span class="delete">http://www.w3.org/TR/2012/CR-prov-o-20121211/</span><a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-o-20130312/</span></a>
+</dd><dt id="bib-PROV-OVERVIEW">[PROV-OVERVIEW]</dt><dd>Paul Groth; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><cite>PROV-OVERVIEW: An Overview of the PROV Family of Documents</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-overview-20121211/</span><a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-overview-20130312/</span></a>
+</dd><dt id="bib-PROV-PRIMER">[PROV-PRIMER]</dt><dd>Yolanda Gil; Simon Miles; eds. <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/"><cite>PROV Model Primer</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-primer-20121211/</span><a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-primer-20130312/</span></a>
+</dd><dt id="bib-PROV-SEM"><span class="insert">[PROV-SEM]</span></dt><dd><span class="insert">James Cheney; ed. </span><a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312"><cite><span class="insert">Semantics of the PROV Data Model</span></cite></a><span class="insert">. 12 March 2013, Working Draft. URL: </span><a href="http://www.w3.org/TR/2013/WD-prov-sem-20130312"><span class="insert">http://www.w3.org/TR/2013/WD-prov-sem-20130312</span></a><span class="insert">.</span>
+</dd><dt id="bib-PROV-XML">[PROV-XML]</dt><dd>Hook Hua; Curt Tilmes; Stephan Zednik; eds. <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><cite>PROV-XML: The PROV XML Schema</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-xml-20121211/</span>
+<a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-xml-20130312/</span></a>
+</dd><dt id="bib-RFC2119"><span class="insert">[RFC2119]</span></dt><dd><span class="insert">S. Bradner. </span><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite><span class="insert">Key words for use in RFCs to Indicate Requirement Levels.</span></cite></a><span class="insert"> March 1997. Internet RFC 2119. URL: </span><a href="http://www.ietf.org/rfc/rfc2119.txt"><span class="insert">http://www.ietf.org/rfc/rfc2119.txt</span></a>
+</dd></dl></section></section></body></html>
+
Binary file links/releases/WD-prov-links-20130312/figures/component5.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/links/releases/WD-prov-links-20130312/figures/component5.svg Thu Feb 28 00:12:50 2013 +0100
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN'
+ 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+<svg fill-opacity="0" xmlns:xlink="http://www.w3.org/1999/xlink" color-rendering="auto" color-interpolation="auto" stroke="rgb(0,0,0)" text-rendering="auto" stroke-linecap="square" width="439" stroke-miterlimit="10" stroke-opacity="0" shape-rendering="auto" fill="rgb(0,0,0)" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="246" xmlns="http://www.w3.org/2000/svg" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12" stroke-dashoffset="0" image-rendering="auto"
+><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs"
+ /><g
+ ><defs id="defs1"
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"
+ ><path d="M-7 -7 L91 -7 L91 61 L-7 61 L-7 -7 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath2"
+ ><path d="M0 0 L0 47 L80 47 L80 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath3"
+ ><path d="M0 0 L80 0 L80 14 L0 14 L0 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath4"
+ ><path d="M-7 -7 L121 -7 L121 51 L-7 51 L-7 -7 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath5"
+ ><path d="M0 0 L0 23 L110 23 L110 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath6"
+ ><path d="M0 0 L110 0 L110 28 L0 28 L0 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath7"
+ ><path d="M-7 -7 L123 -7 L123 51 L-7 51 L-7 -7 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath8"
+ ><path d="M0 0 L0 37 L112 37 L112 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath9"
+ ><path d="M0 0 L112 0 L112 14 L0 14 L0 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath10"
+ ><path d="M-7 -7 L52 -7 L52 25 L-7 25 L-7 -7 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath11"
+ ><path d="M0 0 L182 0 L182 157 L0 157 L0 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath12"
+ ><path d="M0 0 L178 0 L178 153 L0 153 L0 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath13"
+ ><path d="M0 0 L264 0 L264 138 L0 138 L0 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath14"
+ ><path d="M0 0 L342 0 L342 134 L0 134 L0 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"
+ ><path d="M0 0 L104 0 L104 154 L0 154 L0 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"
+ ><path d="M0 0 L180 0 L180 157 L0 157 L0 0 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"
+ ><path d="M-106 -14 L212 -14 L212 28 L-106 28 L-106 -14 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"
+ ><path d="M-41 -14 L82 -14 L82 28 L-41 28 L-41 -14 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"
+ ><path d="M-58 -14 L116 -14 L116 28 L-58 28 L-58 -14 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath20"
+ ><path d="M-76 -14 L152 -14 L152 28 L-76 28 L-76 -14 Z"
+ /></clipPath
+ ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath21"
+ ><path d="M-82 -14 L164 -14 L164 28 L-82 28 L-82 -14 Z"
+ /></clipPath
+ ></defs
+ ><g fill="white" text-rendering="geometricPrecision" fill-opacity="1" stroke-opacity="1" stroke="white"
+ ><rect x="0" width="439" height="246" y="0" stroke="none"
+ /></g
+ ><g font-size="11" transform="translate(131,77)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
+ ><rect x="0" width="80" height="50" y="0" clip-path="url(#clipPath1)" stroke="none"
+ /></g
+ ><g font-size="11" stroke-linecap="butt" transform="translate(131,77)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke-linejoin="round" stroke="black" font-weight="bold" stroke-opacity="1" stroke-miterlimit="0"
+ ><rect fill="none" x="0" width="80" height="50" y="0" clip-path="url(#clipPath1)"
+ /><line y2="14" fill="none" x1="0" clip-path="url(#clipPath1)" x2="80" y1="14"
+ /></g
+ ><g font-size="11" transform="translate(131,91)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke="black" stroke-opacity="1"
+ ><text x="2" xml:space="preserve" y="13" clip-path="url(#clipPath2)" stroke="none"
+ > id</text
+ ><text x="2" xml:space="preserve" y="27" clip-path="url(#clipPath2)" stroke="none"
+ > attributes</text
+ ></g
+ ><g font-size="11" transform="translate(131,77)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
+ ><text x="23" xml:space="preserve" y="11" clip-path="url(#clipPath3)" stroke="none"
+ >Entity</text
+ ></g
+ ><g font-size="11" transform="translate(325,152)" fill-opacity="1" fill="rgb(179,214,249)" text-rendering="geometricPrecision" font-family="sans-serif" stroke="rgb(179,214,249)" font-weight="bold" stroke-opacity="1"
+ ><rect x="0" width="110" height="40" y="0" clip-path="url(#clipPath4)" stroke="none"
+ /></g
+ ><g font-size="11" stroke-linecap="butt" transform="translate(325,152)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke-linejoin="round" stroke="black" font-weight="bold" stroke-opacity="1" stroke-miterlimit="0"
+ ><rect fill="none" x="0" width="110" height="40" y="0" clip-path="url(#clipPath4)"
+ /><line y2="28" fill="none" x1="0" clip-path="url(#clipPath4)" x2="110" y1="28"
+ /></g
+ ><g font-size="11" transform="translate(325,152)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke="black" stroke-opacity="1"
+ ><text x="11" xml:space="preserve" y="11" clip-path="url(#clipPath6)" stroke="none"
+ ><<prov:type>></text
+ ><text x="35" xml:space="preserve" y="25" font-weight="bold" clip-path="url(#clipPath6)" stroke="none"
+ >Bundle</text
+ ></g
+ ><g font-size="11" transform="translate(35,202)" fill-opacity="1" fill="silver" text-rendering="geometricPrecision" font-family="sans-serif" stroke="silver" font-weight="bold" stroke-opacity="1"
+ ><rect x="0" width="112" height="40" y="0" clip-path="url(#clipPath7)" stroke="none"
+ /></g
+ ><g font-size="11" stroke-linecap="butt" transform="translate(35,202)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke-linejoin="round" stroke="black" font-weight="bold" stroke-opacity="1" stroke-miterlimit="0"
+ ><rect fill="none" x="0" width="112" height="40" y="0" clip-path="url(#clipPath7)"
+ /><line y2="14" fill="none" x1="0" clip-path="url(#clipPath7)" x2="112" y1="14"
+ /></g
+ ><g font-size="11" transform="translate(35,202)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
+ ><text x="26" xml:space="preserve" y="11" clip-path="url(#clipPath9)" stroke="none"
+ >MentionOf</text
+ ></g
+ ><g font-size="11" stroke-linecap="butt" transform="translate(21,-14)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
+ ><line y2="50" fill="none" x1="128" clip-path="url(#clipPath11)" x2="128" y1="90"
+ /><line y2="50" fill="none" x1="128" clip-path="url(#clipPath11)" x2="50" y1="50"
+ /><line y2="103" fill="none" x1="50" clip-path="url(#clipPath11)" x2="50" y1="50"
+ /><line y2="103" fill="none" x1="50" clip-path="url(#clipPath11)" x2="109" y1="103"
+ /><line y2="97" fill="none" x1="109" clip-path="url(#clipPath11)" x2="97" y1="103"
+ /><line y2="109" fill="none" x1="109" clip-path="url(#clipPath11)" x2="97" y1="103"
+ /></g
+ ><g font-size="11" stroke-linecap="butt" transform="translate(21,52)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
+ ><line y2="99" fill="none" x1="124" clip-path="url(#clipPath12)" x2="124" y1="75"
+ /><line y2="99" fill="none" x1="124" clip-path="url(#clipPath12)" x2="50" y1="99"
+ /><line y2="50" fill="none" x1="50" clip-path="url(#clipPath12)" x2="50" y1="99"
+ /><line y2="50" fill="none" x1="50" clip-path="url(#clipPath12)" x2="109" y1="50"
+ /><line y2="44" fill="none" x1="109" clip-path="url(#clipPath12)" x2="97" y1="50"
+ /><line y2="56" fill="none" x1="109" clip-path="url(#clipPath12)" x2="97" y1="50"
+ /></g
+ ><g font-size="11" stroke-linecap="butt" transform="translate(161,67)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
+ ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath13)" x2="210" y1="50"
+ /><line y2="84" fill="none" x1="210" clip-path="url(#clipPath13)" x2="210" y1="50"
+ /><polygon fill="white" clip-path="url(#clipPath13)" points=" 50 50 62 56 62 44" stroke="none"
+ /><polygon fill="none" points=" 50 50 62 56 62 44" clip-path="url(#clipPath13)"
+ /></g
+ ><g font-size="11" stroke-linecap="butt" transform="translate(97,142)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
+ ><line y2="80" fill="none" x1="50" clip-path="url(#clipPath14)" x2="288" y1="80"
+ /><line y2="50" fill="none" x1="288" clip-path="url(#clipPath14)" x2="288" y1="80"
+ /><line y2="62" fill="none" x1="288" clip-path="url(#clipPath14)" x2="282" y1="50"
+ /><line y2="62" fill="none" x1="288" clip-path="url(#clipPath14)" x2="294" y1="50"
+ /></g
+ ><g font-size="11" stroke-linecap="butt" transform="translate(46,101)" stroke-dashoffset="1" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke-linejoin="round" stroke-dasharray="5" stroke="black" stroke-opacity="1"
+ ><line y2="100" fill="none" x1="50" clip-path="url(#clipPath15)" x2="50" y1="50"
+ /></g
+ ><g font-size="11" stroke-linecap="butt" transform="translate(144,-11)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
+ ><line y2="50" fill="none" x1="50" clip-path="url(#clipPath16)" x2="50" y1="87"
+ /><line y2="50" fill="none" x1="50" clip-path="url(#clipPath16)" x2="126" y1="50"
+ /><line y2="103" fill="none" x1="126" clip-path="url(#clipPath16)" x2="126" y1="50"
+ /><line y2="103" fill="none" x1="126" clip-path="url(#clipPath16)" x2="67" y1="103"
+ /><line y2="75" fill="none" x1="50" clip-path="url(#clipPath16)" x2="56" y1="87"
+ /><line y2="75" fill="none" x1="50" clip-path="url(#clipPath16)" x2="44" y1="87"
+ /></g
+ ><g font-size="11" transform="translate(207,2)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke="black" stroke-opacity="1"
+ ><text x="9" xml:space="preserve" y="11" clip-path="url(#clipPath17)" stroke="none"
+ >SpecializationOf</text
+ ></g
+ ><g font-size="11" transform="translate(385,195)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke="black" stroke-opacity="1"
+ ><text x="10" xml:space="preserve" y="11" clip-path="url(#clipPath18)" stroke="none"
+ >0..1</text
+ ></g
+ ><g font-size="11" transform="translate(253,227)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke="black" stroke-opacity="1"
+ ><text x="10" xml:space="preserve" y="11" clip-path="url(#clipPath19)" stroke="none"
+ >bundle</text
+ ></g
+ ><g font-size="11" transform="translate(2,118)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke="black" stroke-opacity="1"
+ ><text x="10" xml:space="preserve" y="11" clip-path="url(#clipPath20)" stroke="none"
+ >MentionOf</text
+ ></g
+ ><g font-size="11" transform="translate(67,4)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" font-family="sans-serif" stroke="black" stroke-opacity="1"
+ ><text x="9" xml:space="preserve" y="11" clip-path="url(#clipPath21)" stroke="none"
+ >AlternateOf</text
+ ></g
+ ><g fill="rgb(120,120,120)" text-rendering="geometricPrecision" fill-opacity="1" font-size="8" stroke-opacity="1" stroke="rgb(120,120,120)"
+ ></g
+ ></g
+></svg
+>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/links/releases/WD-prov-links-20130312/figures/mention-prov-o.graffle Thu Feb 28 00:12:50 2013 +0100
@@ -0,0 +1,601 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>ActiveLayerIndex</key>
+ <integer>0</integer>
+ <key>ApplicationVersion</key>
+ <array>
+ <string>com.omnigroup.OmniGrafflePro</string>
+ <string>139.16.0.171715</string>
+ </array>
+ <key>AutoAdjust</key>
+ <true/>
+ <key>BackgroundGraphic</key>
+ <dict>
+ <key>Bounds</key>
+ <string>{{0, 0}, {576, 733}}</string>
+ <key>Class</key>
+ <string>SolidGraphic</string>
+ <key>ID</key>
+ <integer>2</integer>
+ <key>Style</key>
+ <dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ </dict>
+ <key>BaseZoom</key>
+ <integer>0</integer>
+ <key>CanvasOrigin</key>
+ <string>{0, 0}</string>
+ <key>ColumnAlign</key>
+ <integer>1</integer>
+ <key>ColumnSpacing</key>
+ <real>36</real>
+ <key>CreationDate</key>
+ <string>2012-11-11 20:25:11 +0000</string>
+ <key>Creator</key>
+ <string>lebot</string>
+ <key>DisplayScale</key>
+ <string>1 0/72 in = 1 0/72 in</string>
+ <key>GraphDocumentVersion</key>
+ <integer>8</integer>
+ <key>GraphicsList</key>
+ <array>
+ <dict>
+ <key>Class</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
+ <dict>
+ <key>ID</key>
+ <integer>856</integer>
+ </dict>
+ <key>ID</key>
+ <integer>857</integer>
+ <key>Points</key>
+ <array>
+ <string>{144.77065662228318, 77.52652866694288}</string>
+ <string>{167.14285062709018, 83.146080130790608}</string>
+ <string>{162.30322687431669, 101.35875822265692}</string>
+ <string>{125.64739610230785, 90.482761274452116}</string>
+ </array>
+ <key>Style</key>
+ <dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.501961</string>
+ <key>g</key>
+ <string>0.501961</string>
+ <key>r</key>
+ <string>0.501961</string>
+ </dict>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>Legacy</key>
+ <true/>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
+ <string>0</string>
+ <key>Width</key>
+ <real>2</real>
+ </dict>
+ </dict>
+ <key>Tail</key>
+ <dict>
+ <key>ID</key>
+ <integer>842</integer>
+ <key>Info</key>
+ <integer>7</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{31.985716106742416, 49.578610125210218}, {93.599998474121094, 54}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Georgia</string>
+ <key>NSKern</key>
+ <real>0.0</real>
+ <key>Size</key>
+ <real>16</real>
+ </dict>
+ <key>ID</key>
+ <integer>856</integer>
+ <key>Magnets</key>
+ <array>
+ <string>{0, -0.5}</string>
+ <string>{0.039331435999999997, -0.5}</string>
+ <string>{-0.28893053892616649, -0.49999999999999956}</string>
+ <string>{-2.3841858000000002e-07, -2.3841858000000002e-07}</string>
+ <string>{0.49999988000000001, -9.536743200000001e-07}</string>
+ <string>{0.49999976000000002, 0.10706591999999999}</string>
+ <string>{0.49999976000000002, -0.089067459000000002}</string>
+ <string>{-0.50000023999999998, 0.24999975999999999}</string>
+ <string>{-0.49697614000000001, -0.25000023999999998}</string>
+ </array>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.871251</string>
+ <key>g</key>
+ <string>0.994861</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.6</string>
+ <key>g</key>
+ <string>0.6</string>
+ <key>r</key>
+ <string>0.6</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>17</real>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Georgia;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs32 \cf0 \expnd0\expndtw0\kerning0
+Bundle}</string>
+ </dict>
+ <key>VFlip</key>
+ <string>YES</string>
+ </dict>
+ <dict>
+ <key>Class</key>
+ <string>LineGraphic</string>
+ <key>ControlPoints</key>
+ <array>
+ <string>{12.358700000000001, 4.7106804999999996}</string>
+ <string>{1.2090977901762017, 19.859071042262087}</string>
+ <string>{-1.2091544357533621, -19.859070626627982}</string>
+ <string>{13.047700000000001, -4.6650995999999996}</string>
+ </array>
+ <key>Head</key>
+ <dict>
+ <key>ID</key>
+ <integer>842</integer>
+ <key>Info</key>
+ <integer>6</integer>
+ </dict>
+ <key>ID</key>
+ <integer>832</integer>
+ <key>Points</key>
+ <array>
+ <string>{144.28572082519472, 62.878888208631778}</string>
+ <string>{174.50518140834254, 46.642544323251684}</string>
+ <string>{144.78236031253601, 43.179003449853035}</string>
+ </array>
+ <key>Rotation</key>
+ <real>90</real>
+ <key>Style</key>
+ <dict>
+ <key>stroke</key>
+ <dict>
+ <key>Bezier</key>
+ <true/>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.501961</string>
+ <key>g</key>
+ <string>0.501961</string>
+ <key>r</key>
+ <string>0.501961</string>
+ </dict>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>Legacy</key>
+ <true/>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
+ <string>0</string>
+ <key>Width</key>
+ <real>2</real>
+ </dict>
+ </dict>
+ <key>Tail</key>
+ <dict>
+ <key>ID</key>
+ <integer>842</integer>
+ <key>Info</key>
+ <integer>12</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{181.75275747418596, 39.365223589566568}, {87, 19}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FitText</key>
+ <string>YES</string>
+ <key>Flow</key>
+ <string>Resize</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Georgia</string>
+ <key>NSKern</key>
+ <real>0.0</real>
+ <key>Size</key>
+ <real>16</real>
+ </dict>
+ <key>ID</key>
+ <integer>831</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Georgia;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs32 \cf0 \expnd0\expndtw0\kerning0
+mentionOf}</string>
+ <key>VerticalPad</key>
+ <integer>0</integer>
+ </dict>
+ <key>Wrap</key>
+ <string>NO</string>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{14, 16.717516445313265}, {130.28572082519531, 98.285713195800781}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Font</key>
+ <string>Georgia</string>
+ <key>Size</key>
+ <real>16</real>
+ </dict>
+ <key>HFlip</key>
+ <string>YES</string>
+ <key>ID</key>
+ <integer>842</integer>
+ <key>Magnets</key>
+ <array>
+ <string>{0, -0.5}</string>
+ <string>{-0.13149363754976684, -0.49722411081515494}</string>
+ <string>{-0.2014582147646915, -0.5}</string>
+ <string>{-1.1920929000000001e-07, 0}</string>
+ <string>{0.17504186255564425, -0.49722411081515472}</string>
+ <string>{-0.49683261000000001, -0.2318478277801681}</string>
+ <string>{-0.49683261000000001, 0.11640238999999999}</string>
+ <string>{0.5, -0.11640215}</string>
+ <string>{0.5, 0.11640263000000001}</string>
+ <string>{-0.46656287000000002, -0.47617738999999998}</string>
+ <string>{0.46942066999999998, -0.47617738999999998}</string>
+ <string>{-0.49999999999999956, -0.03033487510684596}</string>
+ <string>{-0.4002385751381714, 0.49440574036245555}</string>
+ <string>{0.29789435283643129, 0.50000000000000022}</string>
+ <string>{0.15661640333194349, 0.49440574036245599}</string>
+ <string>{-0.15129217691539787, 0.50000000000000022}</string>
+ </array>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.871251</string>
+ <key>g</key>
+ <string>0.994861</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ </dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.6</string>
+ <key>g</key>
+ <string>0.6</string>
+ <key>r</key>
+ <string>0.6</string>
+ </dict>
+ <key>CornerRadius</key>
+ <real>17</real>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Georgia;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\b\fs32 \cf0 Entity}</string>
+ </dict>
+ <key>TextPlacement</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Bounds</key>
+ <string>{{171.6099897349352, 88.084180673132238}, {86, 19}}</string>
+ <key>Class</key>
+ <string>ShapedGraphic</string>
+ <key>FitText</key>
+ <string>YES</string>
+ <key>Flow</key>
+ <string>Resize</string>
+ <key>FontInfo</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>Georgia</string>
+ <key>NSKern</key>
+ <real>0.0</real>
+ <key>Size</key>
+ <real>16</real>
+ </dict>
+ <key>ID</key>
+ <integer>855</integer>
+ <key>Shape</key>
+ <string>Rectangle</string>
+ <key>Style</key>
+ <dict>
+ <key>shadow</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ <key>stroke</key>
+ <dict>
+ <key>Draws</key>
+ <string>NO</string>
+ </dict>
+ </dict>
+ <key>Text</key>
+ <dict>
+ <key>Pad</key>
+ <integer>2</integer>
+ <key>Text</key>
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Georgia;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs32 \cf0 \expnd0\expndtw0\kerning0
+asInBundle}</string>
+ <key>VerticalPad</key>
+ <integer>0</integer>
+ </dict>
+ <key>Wrap</key>
+ <string>NO</string>
+ </dict>
+ </array>
+ <key>GridInfo</key>
+ <dict/>
+ <key>GuidesLocked</key>
+ <string>NO</string>
+ <key>GuidesVisible</key>
+ <string>YES</string>
+ <key>HPages</key>
+ <integer>1</integer>
+ <key>ImageCounter</key>
+ <integer>1</integer>
+ <key>KeepToScale</key>
+ <false/>
+ <key>Layers</key>
+ <array>
+ <dict>
+ <key>Lock</key>
+ <string>NO</string>
+ <key>Name</key>
+ <string>Layer 1</string>
+ <key>Print</key>
+ <string>YES</string>
+ <key>View</key>
+ <string>YES</string>
+ </dict>
+ </array>
+ <key>LayoutInfo</key>
+ <dict>
+ <key>Animate</key>
+ <string>NO</string>
+ <key>circoMinDist</key>
+ <real>18</real>
+ <key>circoSeparation</key>
+ <real>0.0</real>
+ <key>layoutEngine</key>
+ <string>dot</string>
+ <key>neatoSeparation</key>
+ <real>0.0</real>
+ <key>twopiSeparation</key>
+ <real>0.0</real>
+ </dict>
+ <key>LinksVisible</key>
+ <string>NO</string>
+ <key>MagnetsVisible</key>
+ <string>NO</string>
+ <key>MasterSheets</key>
+ <array/>
+ <key>ModificationDate</key>
+ <string>2012-11-11 20:25:42 +0000</string>
+ <key>Modifier</key>
+ <string>lebot</string>
+ <key>NotesVisible</key>
+ <string>NO</string>
+ <key>Orientation</key>
+ <integer>2</integer>
+ <key>OriginVisible</key>
+ <string>NO</string>
+ <key>PageBreaks</key>
+ <string>NO</string>
+ <key>PrintInfo</key>
+ <dict>
+ <key>NSBottomMargin</key>
+ <array>
+ <string>float</string>
+ <string>41</string>
+ </array>
+ <key>NSHorizonalPagination</key>
+ <array>
+ <string>coded</string>
+ <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string>
+ </array>
+ <key>NSLeftMargin</key>
+ <array>
+ <string>float</string>
+ <string>18</string>
+ </array>
+ <key>NSPaperSize</key>
+ <array>
+ <string>size</string>
+ <string>{612, 792}</string>
+ </array>
+ <key>NSPrintReverseOrientation</key>
+ <array>
+ <string>int</string>
+ <string>0</string>
+ </array>
+ <key>NSRightMargin</key>
+ <array>
+ <string>float</string>
+ <string>18</string>
+ </array>
+ <key>NSTopMargin</key>
+ <array>
+ <string>float</string>
+ <string>18</string>
+ </array>
+ </dict>
+ <key>PrintOnePage</key>
+ <false/>
+ <key>ReadOnly</key>
+ <string>NO</string>
+ <key>RowAlign</key>
+ <integer>1</integer>
+ <key>RowSpacing</key>
+ <real>36</real>
+ <key>SheetTitle</key>
+ <string>Canvas 1</string>
+ <key>SmartAlignmentGuidesActive</key>
+ <string>YES</string>
+ <key>SmartDistanceGuidesActive</key>
+ <string>YES</string>
+ <key>UniqueID</key>
+ <integer>1</integer>
+ <key>UseEntirePage</key>
+ <false/>
+ <key>VPages</key>
+ <integer>1</integer>
+ <key>WindowInfo</key>
+ <dict>
+ <key>CurrentSheet</key>
+ <integer>0</integer>
+ <key>ExpandedCanvases</key>
+ <array>
+ <dict>
+ <key>name</key>
+ <string>Canvas 1</string>
+ </dict>
+ </array>
+ <key>Frame</key>
+ <string>{{394, 116}, {1286, 872}}</string>
+ <key>ListView</key>
+ <true/>
+ <key>OutlineWidth</key>
+ <integer>142</integer>
+ <key>RightSidebar</key>
+ <false/>
+ <key>Sidebar</key>
+ <true/>
+ <key>SidebarWidth</key>
+ <integer>120</integer>
+ <key>VisibleRegion</key>
+ <string>{{-295, -22}, {1166, 778}}</string>
+ <key>Zoom</key>
+ <real>1</real>
+ <key>ZoomValues</key>
+ <array>
+ <array>
+ <string>Canvas 1</string>
+ <real>1</real>
+ <real>1</real>
+ </array>
+ </array>
+ </dict>
+</dict>
+</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/links/respec2html.js Thu Feb 28 00:12:50 2013 +0100
@@ -0,0 +1,56 @@
+// respec2html is a command line utility that converts a ReSpec source file to an HTML file.
+// Depends on PhantomJS <http://phantomjs.org>.
+
+var page = require('webpage').create(),
+ args = require('system').args,
+ fs = require('fs'),
+ source = args[1],
+ output = args[2],
+ timeout = (!isNaN(args[3])) ? parseInt(args[3], 10) : 10;
+
+if (args.length !== 3 && args.length !== 4) {
+ console.log('Usage:\n phantomjs respec2html.js respec-source html-output [timeout]\n');
+ console.log(' respec-source ReSpec source file, or an URL to the file');
+ console.log(' html-output Name for the HTML file to be generated');
+ console.log(' [timeout] An optional timeout in seconds, default is 10\n');
+ phantom.exit();
+}
+
+page.open(source, function(status) {
+ page.onResourceRequested = function(request) {
+ console.log('Loading ' + request.url);
+ };
+
+ if (status !== 'success') {
+ console.log('Unable to access ReSpec source file.');
+ phantom.exit();
+ } else {
+ console.log('Loading ' + source);
+ var timer = setInterval(function() {
+ // Poll document.respecDone for doneness. A proper way would be to listen
+ // for the end-all message on respecEvents (unsupported by PhantomJS).
+ var done = page.evaluate(function() { return (document.respecDone) ? true : false; });
+ if (done) {
+ clearInterval(timer);
+ console.log('Serializing the DOM into HTML...');
+ var html = page.evaluate(function() {
+ // Serialize the DOM using the built-in serializer.
+ (new berjon.respec()).toHTMLSource();
+ var outer = document.querySelector('html').outerHTML;
+ return '<!DOCTYPE html>\n' + outer.replace('<head>', '\n<head>');
+ });
+ fs.write(output, html, 'w');
+ console.log(output + ' created!\n');
+ phantom.exit();
+ } else {
+ if (timeout === 0) {
+ clearInterval(timer);
+ console.log('Timeout loading ' + source + '. Is it a valid ReSpec source file?');
+ phantom.exit();
+ } else {
+ console.log('Timing out in ' + timeout-- + ' s');
+ }
+ }
+ }, 1000);
+ }
+});
\ No newline at end of file
--- a/model/diff-c.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/diff-c.html Thu Feb 28 00:12:50 2013 +0100
@@ -13,7 +13,7 @@
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-constraints">
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-constraints">
--- a/model/diff-n.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/diff-n.html Thu Feb 28 00:12:50 2013 +0100
@@ -13,7 +13,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-n">
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-n">
<style type="text/css">
.note { font-size:small; margin-left:50px }
--- a/model/diff.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/diff.html Thu Feb 28 00:12:50 2013 +0100
@@ -24,7 +24,7 @@
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-dm">
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-dm">
--- a/model/glossary.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/glossary.html Thu Feb 28 00:12:50 2013 +0100
@@ -293,7 +293,7 @@
<span class="glossary" id="glossary-mention">
-The <dfn id="concept-mention">mention</dfn> of an entity in a bundle (containing a description of this entity) is another entity that is a specialization of the former and that presents at least the bundle as a further additional aspect.
+The <dfn id="concept-mention" title="Mention">mention</dfn> of an entity in a bundle (containing a description of this entity) is another entity that is a specialization of the former and that presents at least the bundle as a further additional aspect.
</span>
--- a/model/glossary.js Mon Feb 25 17:07:43 2013 +0100
+++ b/model/glossary.js Thu Feb 28 00:12:50 2013 +0100
@@ -3,7 +3,7 @@
// with <script src="glossary.js" class="remove"></script>
//Insert glossary definitions with the following
// <div class="glossary-ref" ref="glossary-generation"></div>
-glossary_hg='http://dvcs.w3.org/hg/prov/file/5bd567e6b3db/model/glossary.html';
+glossary_hg='http://dvcs.w3.org/hg/prov/file/0ff2dc0bbac3/model/glossary.html';
glossary_string=
' ' +
'<html> ' +
@@ -300,7 +300,7 @@
' ' +
' ' +
'<span class="glossary" id="glossary-mention"> ' +
-'The <dfn id="concept-mention">mention</dfn> of an entity in a bundle (containing a description of this entity) is another entity that is a specialization of the former and that presents at least the bundle as a further additional aspect. ' +
+'The <dfn id="concept-mention" title="Mention">mention</dfn> of an entity in a bundle (containing a description of this entity) is another entity that is a specialization of the former and that presents at least the bundle as a further additional aspect. ' +
'</span> ' +
' ' +
' ' +
--- a/model/prov-constraints.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/prov-constraints.html Thu Feb 28 00:12:50 2013 +0100
@@ -3,7 +3,7 @@
<html><head>
<title>Constraints of the PROV Data Model</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-constraints"/>
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-constraints"/>
<!--
=== NOTA BENE ===
--- a/model/prov-dm.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/prov-dm.html Thu Feb 28 00:12:50 2013 +0100
@@ -4,7 +4,7 @@
<html><head>
<title>PROV-DM: The PROV Data Model</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-dm"/>
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-dm"/>
<script src="https://www.w3.org/Tools/respec/respec-w3c-common" class="remove" async></script>
--- a/model/prov-n.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/prov-n.html Thu Feb 28 00:12:50 2013 +0100
@@ -4,7 +4,7 @@
<head>
<title>PROV-N: The Provenance Notation</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-n"/>
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-n"/>
<style type="text/css">
.note { font-size:small; margin-left:50px }
--- a/model/releases/PR-prov-constraints-20130312/Overview.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/releases/PR-prov-constraints-20130312/Overview.html Thu Feb 28 00:12:50 2013 +0100
@@ -3,7 +3,7 @@
<head>
<title>Constraints of the PROV Data Model</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-constraints">
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-constraints">
<!--
=== NOTA BENE ===
--- a/model/releases/PR-prov-constraints-20130312/diff-c.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/releases/PR-prov-constraints-20130312/diff-c.html Thu Feb 28 00:12:50 2013 +0100
@@ -13,7 +13,7 @@
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-constraints">
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-constraints">
--- a/model/releases/PR-prov-dm-20130312/Overview.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/releases/PR-prov-dm-20130312/Overview.html Thu Feb 28 00:12:50 2013 +0100
@@ -3,7 +3,7 @@
<head>
<title>PROV-DM: The PROV Data Model</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-dm">
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-dm">
--- a/model/releases/PR-prov-dm-20130312/diff.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/releases/PR-prov-dm-20130312/diff.html Thu Feb 28 00:12:50 2013 +0100
@@ -24,7 +24,7 @@
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-dm">
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-dm">
--- a/model/releases/PR-prov-n-20130312/Overview.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/releases/PR-prov-n-20130312/Overview.html Thu Feb 28 00:12:50 2013 +0100
@@ -3,7 +3,7 @@
<head>
<title>PROV-N: The Provenance Notation</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-n">
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-n">
<style type="text/css">
.note { font-size:small; margin-left:50px }
--- a/model/releases/PR-prov-n-20130312/diff-n.html Mon Feb 25 17:07:43 2013 +0100
+++ b/model/releases/PR-prov-n-20130312/diff-n.html Thu Feb 28 00:12:50 2013 +0100
@@ -13,7 +13,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-n">
+<link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-n">
<style type="text/css">
.note { font-size:small; margin-left:50px }
--- a/ontology/releases/PR-prov-o-20130312/Overview.html Mon Feb 25 17:07:43 2013 +0100
+++ b/ontology/releases/PR-prov-o-20130312/Overview.html Thu Feb 28 00:12:50 2013 +0100
@@ -3,7 +3,7 @@
<head>
<title>PROV-O: The PROV Ontology</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
- <link rel="http://www.w3.org/ns/prov#hasProvenance" href="http://www.w3.org/2011/prov/provenance/prov-o">
+ <link rel="http://www.w3.org/ns/prov#has_provenance" href="http://www.w3.org/2011/prov/provenance/prov-o">
<style type="text/css">
/* prov:wasQuotedFrom http://speronitomcat.web.cs.unibo.it:8080/LODE/owl.css */
--- a/paq/css/prov-aq.css Mon Feb 25 17:07:43 2013 +0100
+++ b/paq/css/prov-aq.css Thu Feb 28 00:12:50 2013 +0100
@@ -186,9 +186,13 @@
font-family: monospace;
}
-/* External link. CSS and image data copied from wikimedia.org. Thanks! */
+/* External link. CSS and image data copied from wikimedia.org. Thanks!
a.externalRef {
background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=) center right no-repeat;
background:url(images/external-link-ltr-icon.png) center right no-repeat!ie;padding-right:13px
}
+*/
+a.externalRef:after {
+content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=);
+}
--- a/paq/prov-aq.html Mon Feb 25 17:07:43 2013 +0100
+++ b/paq/prov-aq.html Thu Feb 28 00:12:50 2013 +0100
@@ -172,9 +172,14 @@
{ name: "Timothy Lebo", url:"http://tw.rpi.edu/web/person/TimLebo",
company: "Rensselaer Polytechnic Institute"},
{ name: "Khalid Belhajjame", url: "http://semanticweb.org/wiki/Khalid_Belhajjame",
- company: "University of Manchester" },
+ company: "University of Manchester",
+ companyURL: "http://www.cs.manchester.ac.uk/" },
{ name: "Simon Miles",
company: "Invited Expert", url:"http://www.inf.kcl.ac.uk/staff/simonm/" },
+ { name: "Stian Soiland-Reyes", url: "http://soiland-reyes.com/stian/",
+ company: "University of Manchester",
+ companyURL: "http://www.cs.manchester.ac.uk/" },
+
],
// name of the WG
@@ -220,10 +225,10 @@
<ul>
<li> <a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [[PROV-OVERVIEW]];</li>
<li> <a href="http://www.w3.org/TR/2012/WD-prov-primer-20121211/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [[PROV-PRIMER]];</li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-o-20121211/">PROV-O</a> (Candidate Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [[!PROV-O]];</li>
+<li> <a href="http://www.w3.org/TR/2012/CR-prov-o-20121211/">PROV-O</a> (Candidate Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [[PROV-O]];</li>
<li> <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/">PROV-DM</a> (Candidate Recommendation), the PROV data model for provenance;</li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/">PROV-N</a> (Candidate Recommendation), a notation for provenance aimed at human consumption [[!PROV-N]];</li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-constraints-20121211/">PROV-CONSTRAINTS</a> (Candidate Recommendation), a set of constraints applying to the PROV data model [[!PROV-CONSTRAINTS]];</li>
+<li> <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/">PROV-N</a> (Candidate Recommendation), a notation for provenance aimed at human consumption [[PROV-N]];</li>
+<li> <a href="http://www.w3.org/TR/2012/CR-prov-constraints-20121211/">PROV-CONSTRAINTS</a> (Candidate Recommendation), a set of constraints applying to the PROV data model [[PROV-CONSTRAINTS]];</li>
<li> <a href="http://www.w3.org/TR/2012/WD-prov-xml-20121211/">PROV-XML</a> (To be published as Note), an XML schema for the PROV data model [[PROV-XML]].</li>
</ul>
@@ -231,11 +236,11 @@
<ul>
<li>[[PROV-OVERVIEW]] overviews the PROV family of documents. </li>
<li>The primer [[PROV-PRIMER]] is the entry point to PROV offering an introduction to the provenance model.</li>
-<li>The Linked Data and Semantic Web community should focus on [[!PROV-O]] defining PROV classes and properties specified in an OWL2 ontology. For further details, PROV-DM and [[!PROV-CONSTRAINTS]] specify the constraints applicable to the data model, and its interpretation. </li>
-<li>The XML community should focus on [[PROV-XML]] defining an XML schema for PROV. Further details can also be found in PROV-DM and [[!PROV-CONSTRAINTS]].</li>
+<li>The Linked Data and Semantic Web community should focus on [[PROV-O]] defining PROV classes and properties specified in an OWL2 ontology. For further details, PROV-DM and [[PROV-CONSTRAINTS]] specify the constraints applicable to the data model, and its interpretation. </li>
+<li>The XML community should focus on [[PROV-XML]] defining an XML schema for PROV. Further details can also be found in PROV-DM and [[PROV-CONSTRAINTS]].</li>
<li>Developers seeking to retrieve or publish provenance should focus on [[PROV-AQ]].</li>
<li>Readers seeking to implement other PROV serializations
-should focus on PROV-DM and [[!PROV-CONSTRAINTS]]. [[!PROV-O]], [[!PROV-N]], and [[PROV-XML]] offer examples of mapping to RDF, text, and XML, respectively.</li>
+should focus on PROV-DM and [[PROV-CONSTRAINTS]]. [[PROV-O]], [[PROV-N]], and [[PROV-XML]] offer examples of mapping to RDF, text, and XML, respectively.</li>
</ul>
<h4>Second Public Working Draft</h4>
<p>
@@ -266,7 +271,10 @@
</li>
</ul>
<p>
- For ease of reference, the main body of this document contains some links to external web pages. Such links are distinguished from internal references thus: <a href="http://www.w3.org/2011/prov/wiki/Main_Page" class="externalRef">W3C Provenance Working Group</a>
+ Most mechanisms described in this note are independent of the provenance format used, and may be used to access provenance in any available format. For interoperable provenance publication, use of PROV-O represented in a standardized RDF format is recommended. Where alternative formats are available, selection may be made by content negotiation.
+ </p>
+ <p>
+ For ease of reference, the main body of this document contains some links to external web pages. Such links are distinguished from internal references thus: <a href="http://www.w3.org/2011/prov/wiki/Main_Page" class="externalRef">W3C Provenance Working Group</a>.
</p>
<section>
@@ -277,15 +285,12 @@
<dt><a href="#dfn-resource"><dfn>Resource</dfn></a></dt>
<dd>a resource in the general sense of "whatever might be identified by a URI", as described by the Architecture of the World Wide Web [[WEBARCH]], <a href="http://www.w3.org/TR/webarch/#id-resources" class="externalRef">section 2.2</a>. A resource may be associated with multiple instances or views (<a class="internalDFN">constrained resource</a>s) with differing provenance.
</dd>
- <dt><a href="#dfn-entity"><dfn>Entity</dfn></a></dt>
- <dd>Any <a class="internalDFN">resource</a> for which provenance may be provided.
- </dd>
<dt><a href="#dfn-constrained-resource"><dfn>Constrained resource</dfn></a></dt>
- <dd>a specialization (e.g. an aspect, version or instance) of a <a class="internalDFN">resource</a>, about which one may wish to present <a class="internalDFN">provenance record</a>s. For example, a weather report for a given date may be an aspect of a resource that is maintained as the current weather report. A constrained resource is itself a <a class="internalDFN">resource</a>, and may have its own URI different from that of the original. See also [[PROV-DM]] <a href="http://www.w3.org/TR/prov-dm/#term-specialization" class="externalRef">section 5.5.1</a>, and [[WEBARCH]] <a href="http://www.w3.org/TR/webarch/#representation-reuse" class="externalRef">section 2.3.2</a>.
+ <dd>a specialization (e.g. an aspect, version or instance) of a <a class="internalDFN">resource</a>, about which one may wish to present <a class="internalDFN">provenance record</a>s. For example, a weather report for a given date may be an aspect of a resource that is maintained as the current weather report. A constrained resource is itself a <a class="internalDFN">resource</a>, and may have its own URI different from that of the original. See also <a class="sectionRef" href="#provenance-and-resources"></a>, [[PROV-DM]] <a href="http://www.w3.org/TR/prov-dm/#term-specialization" class="externalRef">section 5.5.1</a>, and [[WEBARCH]] <a href="http://www.w3.org/TR/webarch/#representation-reuse" class="externalRef">section 2.3.2</a>.
</dd>
- <dt><a href="#dfn-entity-uri"><dfn>Entity-URI</dfn></a></dt>
+ <dt><a href="#dfn-target-uri"><dfn>Target-URI</dfn></a></dt>
<dd>
- a URI denoting a <a class="internalDFN">resource</a> (including any <a class="internalDFN">constrained resource</a>), which identifies that resource for the purpose of finding and expressing its provenance.
+ a URI denoting a <a class="internalDFN">resource</a> (including any <a class="internalDFN">constrained resource</a>), and which identifies that resource for the purpose of expressing provenance. Such a resource is typically an <a class="externalRef" href="http://www.w3.org/TR/prov-dm/#section-entity-activity">entity</a> in the sense of [[PROV-DM]], but may be something else described by provenance records, such as an <a class="externalRef" href="http://www.w3.org/TR/prov-dm/#section-entity-activity">activity</a>.
</dd>
</dt><a href="#dfn-provenance-record"><dfn>Provenance record</dfn></a></dt>
<dd>
@@ -297,15 +302,19 @@
</dd>
<dt><a href="#dfn-provenance-query-service"><dfn>Provenance query service</dfn></a></dt>
<dd>
- a service that accesses provenance using a query containing an <a class="internalDFN">entity-URI</a> or other information about the desired provenance.
+ a service that accesses provenance given a query containing a <a class="internalDFN">target-URI</a> or other information that identifies the desired provenance.
</dd>
<dt><a href="#dfn-service-uri"><dfn>Service-URI</dfn></a></dt>
<dd>
the URI of a <a class="internalDFN">provenance query service</a>.
</dd>
+ <dt><a href="#dfn-forward-provenance"><dfn>Forward provenance</dfn></a></dt>
+ <dd>
+ provenance describing how a resource is used after it has been created
+ </dd>
<dt><a href="#dfn-pingback-uri"><dfn>Pingback-URI</dfn></a></dt>
<dd>
- the URI of a provenance pingback service that can receive forward provenance (i.e. provenance describing how a resource is used after it has been created).
+ the URI of a provenance pingback service that can receive references to <a class="internalDFN">forward provenance</a>.
</dd>
<dt><a href="#dfn-accessing"><dfn>Accessing</dfn></a> provenance records</dt>
<dd>
@@ -313,7 +322,7 @@
</dd>
<dt><a href="#dfn-locating"><dfn>Locating</dfn></a> provenance records</dt>
<dd>
- given the identity of a resource, discovery of a URI at which some <a class="internalDFN">provenance record</a> about that resource may be retrieved.
+ given the identity of a resource, discovery of a <a class="internalDFN">provenance-URI</a> or a <a class="internalDFN">service-URI</a> that may be used to obtain a <a class="internalDFN">provenance record</a> about that resource.
</dd>
<dt>provenance <a href="#dfn-provider"><dfn>provider</dfn></a></dt>
<dd>
@@ -342,13 +351,18 @@
<section>
<h2 id="provenance-entities-resources">Provenance and resources</h2>
<p>
- Fundamentally, a <a class="internalDFN">provenance record</a> is <em>about</em> <a class="internalDFN">resource</a>s. In general, resources may vary over time and context. E.g., a resource describing the weather in London changes from day-to-day, or a listing of restaurants near you will vary depending on your location. Provenance records, to be useful, must be persistent and must not themselves be dependent on context. Yet we may still want to make provenance assertions about dynamic or context-dependent resources (e.g. a weather forecast for London on a particular day may have been derived from a particular set of Meteorological Office data).
+ Fundamentally, a <a class="internalDFN">provenance record</a> is <em>about</em> <a class="internalDFN">resource</a>s.
+ In general, resources may vary over time and context. E.g., a resource describing the weather in London changes from day-to-day, or a listing of restaurants near you will vary depending on your location.
</p>
<p>
- Provenance records for dynamic and context-dependent resources are possible through a notion of constrained resources. A <a class="internalDFN">constrained resource</a> is simply a resource (in the sense defined by [[WEBARCH]], <a href="http://www.w3.org/TR/webarch/#id-resources" class="externalRef">section 2.2</a>) that is a specialization or instance of some other resource. For example, a W3C specification typically undergoes several public revisions before it is finalized. A URI that refers to the "current" revision might be thought of as denoting the specification throughout its lifetime. Each individual revision would also have its own <a class="internalDFN">entity-URI</a> denoting the specification at that particular stage in its development. Using these, we can make provenance assertions that a particular revision was published on a particular date, and was last modified by a particular editor. Entity-URIs may use any URI scheme, and are not required to be dereferencable.
+ Provenance records a history of the entities, activities, and people involved in producing an artifact, and may be collected from several sources at different times. In order to create a meaningful history, the individual provenance records used must remain valid and correct when interpreted in a context other than that in which they were collected.
+ Yet we may still want to make provenance assertions about dynamic or context-dependent resources (e.g. a weather forecast for London on a particular day may have been derived from a particular set of Meteorological Office data).
</p>
<p>
- Requests for provenance about a resource may return provenance records that use one or more entity-URIs to refer to versions of that resource, such as when there are assertions referring to the same underlying resource in different contexts. For example, a provenance record for a W3C document might include information about all revisions of the document using statements that use the different entity-URIs of the various revisions.
+ Provenance records for dynamic and context-dependent resources are possible through a notion of constrained resources. A <a class="internalDFN">constrained resource</a> is simply a resource (in the sense defined by [[WEBARCH]], <a href="http://www.w3.org/TR/webarch/#id-resources" class="externalRef">section 2.2</a>) that is a specialization or instance of some other resource. For example, a W3C specification typically undergoes several public revisions before it is finalized. A URI that refers to the "current" revision might be thought of as denoting the specification throughout its lifetime. Each individual revision would also have its own <a class="internalDFN">target-URI</a> denoting the specification at that particular stage in its development. Using these, we can make provenance assertions that a particular revision was published on a particular date, and was last modified by a particular editor. Target-URIs may use any URI scheme, and are not required to be dereferencable.
+ </p>
+ <p>
+ Requests for provenance about a resource may return provenance records that use one or more target-URIs to refer to versions of that resource, such as when there are assertions referring to the same underlying resource in different contexts. For example, a provenance record for a W3C document might include information about all revisions of the document using statements that use the different target-URIs of the various revisions.
</p>
<p>
These ideas are represented in the provenance data model [[PROV-DM]] by the concepts <a href="http://www.w3.org/TR/prov-dm/#term-entity" class="externalRef">entity</a> and <a href="http://www.w3.org/TR/prov-dm/#term-specialization" class="externalRef">specialization</a>. In particular, an entity may be a specialization of some resource whose "fixed aspects" provide sufficient constraint for expressed provenance about the resource to be invariant with respect to that entity. This entity is itself just another resource (e.g. the weather forecast for a give date as opposed to the current weather forecast), with its own URI for referring to it within a provenance record.
@@ -358,19 +372,18 @@
<section>
<h2>Interpreting provenance records</h2>
<p class="TODO">
- Rework terminology here and elsewhere to align with PROV-DM: talk about "entities" and "entity-URI"s.
- Also, review second para below. Move definition of provider/consumer to concepts section?
+ Review second para below.
</p>
<p>
The mechanisms described in this document are intended to allow a provider to supply information that allows a consumer to access <a class="internalDFN">provenance record</a>s, which themselves explicitly identify the <a class="internalDFN" href="#dfn-entity">entities</a> they describe.
- A provenance record may contain information about several entities, referring to them using their various <a class="internalDFN">entity-URI</a>s.
+ A provenance record may contain information about several entities, referring to them using their various <a class="internalDFN">target-URI</a>s.
Thus a consumer should be selective in its use of the information provided when interpreting a provenance record.
</p>
<p>
- A provenance record consumer will need to isolate information about the specific entity or entities of interest. These may be <a class="internalDFN">constrained resource</a>s identified by separate entity-URIs than the original resource, in which case it will need to know about the entity-URIs used. The mechanisms defined later allow a provider to expose such URIs.
+ A provenance record consumer will need to isolate information about the specific entity or entities of interest. These may be <a class="internalDFN">constrained resource</a>s identified by separate target-URIs than the original resource, in which case it will need to know about the target-URIs used. The mechanisms defined later allow a provider to expose such URIs.
</p>
<p>
- While a provider should avoid giving spurious information, there are no fixed semantics, particularly when multiple resources are indicated, and a client should not assume that a specific given provenance-URI will yield information about a specific entity-URI. In the general case, a client presented with multiple provenance-URIs and multiple entity-URIs should look at all of the provenance-URIs for information about any or all of the entity-URIs.
+ While a provider should avoid giving spurious information, there are no fixed semantics, particularly when multiple resources are indicated, and a client should not assume that a specific given provenance-URI will yield information about a specific target-URI. In the general case, a client presented with multiple provenance-URIs and multiple target-URIs should look at all of the provenance-URIs for information about any or all of the target-URIs.
</p>
<p>
A provenance record is not of itself guaranteed to be authoritative or correct. Trust in provenance records must be determined separately from trust in the original resource. Just as in the web at large, it is a user's responsibility to determine an appropriate level of trust in any other resource; e.g. based on the domain that serves it, or an associated digital signature. (See also <a href="#security-considerations" class="sectionRef"></a>.)
@@ -389,8 +402,8 @@
<th>Dereferences to</th>
</tr>
<tr style="vertical-align: top;">
- <td><a class="internalDFN">Entity-URI</a></td>
- <td>An entity; any resource for which provenance is provided.</td>
+ <td><a class="internalDFN">Target-URI</a></td>
+ <td>Any resource that is described by some provenance - typically an <a class="externalRef" href="http://www.w3.org/TR/prov-dm/#section-entity-activity">entity</a> (in the sense of [[PROV-DM]], but may be an activity).</td>
<td>If the URI is dereferencable, it should return a representation or description of the resource for which provenance is provided.</td>
</tr>
<tr style="vertical-align: top;">
@@ -432,16 +445,15 @@
</p>
<p>
When there is no easy way to associate a <a class="internalDFN">provenance-URI</a> with a resource (e.g. for resources not directly web-accessible, or whose publication mechanism is controlled by someone else), a provenance description may be obtained using a provenance query service at an indicated <a class="internalDFN">service-uri</a>.
- A REST protocol for provenance queries is defined in Section <a href="#provenance-query-services" class="sectionRef"></a>; also described there is a mechanism for locating a SPARQL query service.
+ A REST protocol for provenance queries is defined in Section <a href="#provenance-query-services" class="sectionRef"></a>; also described there is a mechanism for locating a SPARQL query service [[SPARQL-SD]].
</p>
<p>
When publishing provenance, corresponding <a class="internalDFN">provenance-URI</a>s or <a class="internalDFN">service-URI</a>s should be discoverable using one or more of the mechanisms described in <a href="#locating-provenance-records" class="sectionRef"></a>.
</p>
- <p>
- Provenance may be presented as a <a href="/TR/prov-dm/#component4" class="externalRef">bundle</a>, which is "<cite>a named set of provenance descriptions, and is itself an entity, so allowing provenance of provenance to be expressed</cite>" [[PROV-DM]]. There is no requirement that a bundle identifier can be dereferenced to access the corresponding provenance, but where practical it is RECOMMENDED that things are arranged to allow this.
- </p>
<p class="note">
- One possible realization of a bundle is that it is published as part of an RDF Dataset [[RDF-CONCEPTS11]] or similar composite structure containing multiple RDF graphs in a single document. To access such a bundle would require accessing the RDF Dataset and then extracting the identified component; this in turn would require knowing a URI or some other way to retrieve the dataset. This specification does not describe a specific mechanism for extracting components from a document containing multiple graphs.
+ Provenance may be presented as a <a href="http://www.w3.org/TR/prov-dm/#component4" class="externalRef">bundle</a>, which is "<cite>a named set of provenance descriptions, and is itself an entity, so allowing provenance of provenance to be expressed</cite>" [[PROV-DM]]. A provenance description at a dereferencable provenance-URI may be treated as a bundle, and this is a good way to make provenance easily accessible. But there are other possible implementations of a bundle, such as a named graph in an RDF dataset [[RDF-CONCEPTS11]], for which the bundle URI may not be directly dereferencable.
+ <br/><br/>
+ When a bundle is published as part of an RDF Dataset, to access it would require accessing the RDF Dataset and then extracting the identified graph component; this in turn would require knowing a URI or some other way to retrieve the RDF dataset. This specification does not describe a specific mechanism for extracting components from a document containing multiple graphs.
<br/><br/>
The W3C Linked Data Platform group (<a href="http://www.w3.org/2012/ldp/" class="externalRef">www.w3.org/2012/ldp/</a>) is chartered to produce a W3C Recommendation for HTTP-based (RESTful) application integration patterns using read/write Linked Data; we anticipate that they may address access to RDF Datasets in due course.
</p>
@@ -453,12 +465,10 @@
<section>
<h2>Locating provenance records</h2>
<p>
- When a <a class="internalDFN">provenance record</a> can be accessed using direct web retrieval, one needs to know its <a class="internalDFN">provenance-URI</a> to dereference. If this is known in advance, there is nothing more to specify. If a provenance-URI is not known then a mechanism to discover one must be based on information that is available to the would-be accessor. Likewise, provenance may be exposed by a query service, in which case, the <a class="internalDFN">service-URI</a> needs to be known.
- </p>
- <p>Provenance records may be offered by several providers other than that of the original resource publisher, each with different concerns, and presenting provenance at different locations. It is possible that these different providers may present contradictory provenance.
+ A <a class="internalDFN">provenance record</a> can be accessed using direct web retrieval, given its <a class="internalDFN">provenance-URI</a>. If this is known in advance, there is nothing more to specify. If a provenance-URI is not known then a mechanism to discover one must be based on information that is available to the would-be accessor. Likewise, provenance may be exposed by a query service, in which case, the corresponding <a class="internalDFN">service-URI</a> must be discovered.
</p>
<p>
- Three mechanisms are defined for a <a class="internalDFN">provider</a> to indicate to a <a class="internalDFN">consumer</a> information about a <a class="internalDFN">provenance-URI</a> or <a class="internalDFN">service-URI</a> along with an <a class="internalDFN">entity-URI</a>:
+ Three mechanisms are defined for a provenance <a class="internalDFN">consumer</a> to find information about a <a class="internalDFN">provenance-URI</a> or <a class="internalDFN">service-URI</a>, along with a <a class="internalDFN">target-URI</a>:
</p>
<ol>
<li>The consumer knows the resource URI <em>and</em> the resource is accessible using HTTP</li>
@@ -468,44 +478,45 @@
<p>
These particular cases are selected as corresponding to current primary web protocol and data formats. Similar approaches may be defined for other protocols or resource formats.
</p>
+ <p>Provenance records may be offered by several <a class="internalDFN">provider</a>s other than that of the original resource publisher, each with different concerns, and presenting provenance at different locations. It is possible that these different providers may present contradictory provenance.
+ </p>
<section>
<h2>Resource accessed by HTTP</h2>
<p>
- For a resource accessible using HTTP, a provenance record may be indicated using an HTTP <code>Link</code> header field, as defined by <a href="http://tools.ietf.org/html/rfc5988" class="externalRef">Web Linking (RFC 5988)</a> [[LINK-REL]]. The <code>Link</code> header field is included in the HTTP response to a GET or HEAD operation (other HTTP operations are not excluded, but are not considered here).
+ For a resource accessible using HTTP, a provenance record may be indicated using an HTTP <code>Link</code> header field, as defined by <a href="http://tools.ietf.org/html/rfc5988#section-5" class="externalRef">Web Linking (RFC 5988)</a> [[LINK-REL]]. The <code>Link</code> header field is included in the HTTP response to a GET or HEAD operation (other HTTP operations are not excluded, but are not considered here).
</p>
<p>
- A <code>hasProvenance</code> link relation type for referencing a provenance record may be used thus:
+ A <code>has_provenance</code> link relation type for referencing a provenance record may be used thus:
</p>
<pre class="pattern">
Link: <<cite>provenance-URI</cite>>;
- rel="http://www.w3.org/ns/prov#hasProvenance";
- anchor="<cite>entity-URI</cite>"</pre>
- <p>When used in conjunction with an HTTP success response code (<code>2xx</code>), this HTTP header field indicates that <code><cite>provenance-URI</cite></code> is the URI of a provenance record about the originally requested resource, and that the requested resource is identified within the provenance record as <code><cite>entity-URI</cite></code>. (See also <a href="#interpreting-provenance-records" class="sectionRef"></a>.)</p>
+ rel="http://www.w3.org/ns/prov#has_provenance";
+ anchor="<cite>target-URI</cite>"</pre>
+ <p>When used in conjunction with an HTTP success response code (<code>2xx</code>), this HTTP header field indicates that <code><cite>provenance-URI</cite></code> is the URI of a provenance record about the originally requested resource, and that the requested resource is identified within the provenance record as <code><cite>target-URI</cite></code>. (See also <a href="#interpreting-provenance-records" class="sectionRef"></a>.)</p>
<p>
- If no <code>anchor</code> parameter is provided then the <code><cite>entity-URI</cite></code> is assumed to be the URI of the requested resource used in the corresponding HTTP request.
+ If no <code>anchor</code> parameter is provided then the <code><cite>target-URI</cite></code> is assumed to be the URI of the requested resource used in the corresponding HTTP request.
</p>
<p>
This specification does not define the meaning of these links returned with other HTTP response codes: future revisions may define interpretations for these.
</p>
<p>
- An HTTP response MAY include multiple <code>hasProvenance</code> link header fields, indicating a number of different provenance resources that are known to the responding server, each referencing a provenance record about the accessed resource.
+ An HTTP response MAY include multiple <code>has_provenance</code> link header fields, indicating a number of different provenance resources (and anchors) that are known to the responding server, each referencing a provenance record about the accessed resource.
</p>
<p>
- The presence of a <code>hasProvenance</code> link in an HTTP response does not preclude the possibility that other providers may offer provenance records about the same resource. In such cases, discovery of the additional provenance records must use other means (e.g. see <a href="#provenance-query-services" class="sectionRef"></a>).
+ The presence of a <code>has_provenance</code> link in an HTTP response does not preclude the possibility that other providers may offer provenance records about the same resource. In such cases, discovery of the additional provenance records must use other means (e.g. see <a href="#provenance-query-services" class="sectionRef"></a>).
</p>
<p>
An example request including provenance headers in its response might look like this (where <code>C:</code> and <code>S:</code> prefixes indicate client and server emitted data respectively):
</p>
<pre class="example code">
- C: GET /resource/ HTTP/1.1
- C: Host: http://example.com/
+ C: GET http://example.com/resource/ HTTP/1.1
C: Accept: text/html
S: HTTP/1.1 200 OK
S: Content-type: text/html
S: Link: <http://example.com/resource/provenance/>;
- rel="http://www.w3.org/ns/prov#hasProvenance";
+ rel="http://www.w3.org/ns/prov#has_provenance";
anchor="http://example.com/resource/"
S:
S: <html ...>
@@ -521,27 +532,27 @@
<section>
<h2>Specifying Provenance Query Services</h2>
<p>
- The resource provider may indicate that provenance records about the resource are provided by a <a class="internalDFN">provenance query service</a>. This is done through the use of a <code>hasQueryService</code> link relation type following the same pattern as above:
+ The resource provider may indicate that provenance records about the resource are provided by a <a class="internalDFN">provenance query service</a>. This is done through the use of a <code>has_query_service</code> link relation type following the same pattern as above:
</p>
<pre class="pattern">
-Link: <<cite>provenance-service-URI</cite>>;
- rel="http://www.w3.org/ns/prov#hasQueryService";
- anchor="<cite>entity-URI</cite>"</pre>
+Link: <<cite>service-URI</cite>>;
+ rel="http://www.w3.org/ns/prov#has_query_service";
+ anchor="<cite>target-URI</cite>"
+ </pre>
<p>
- The <code>hasQueryService</code> link identifies the <a class="internalDFN">service-URI</a>. Dereferencing this URI yields a service description that provides further information to enable a client to submit a query to retrieve a <a class="internalDFN">provenance record</a> for a <a class="internalDFN">resource</a>; see <a href="#provenance-query-services" class="sectionRef"></a> for more details.
+ The <code>has_query_service</code> link identifies the <a class="internalDFN">service-URI</a>. Dereferencing this URI yields a service description that provides further information to enable a client to submit a query to retrieve a <a class="internalDFN">provenance record</a> for a <a class="internalDFN">resource</a>; see <a href="#provenance-query-services" class="sectionRef"></a> for more details.
</p>
<p>
- There may be multiple <code>hasQueryService</code> link header fields, and these MAY appear in an HTTP response together with <code>hasProvenance</code> link header fields (though, in simple cases, we anticipate that <code>hasProvenance</code> and <code>hasQueryService</code> link relations will not be used together).
+ There may be multiple <code>has_query_service</code> link header fields, and these MAY appear in an HTTP response together with <code>has_provenance</code> link header fields.
</p>
<pre class="example code">
- C: GET /resource/ HTTP/1.1
- C: Host: http://example.com/
+ C: GET http://example.com/resource/ HTTP/1.1
C: Accept: text/html
S: HTTP/1.1 200 OK
S: Content-type: text/html
S: Link: <http://example.com/resource/provenance/>;
- rel="http://www.w3.org/ns/prov#hasQueryService";
+ rel="http://www.w3.org/ns/prov#has_query_service";
anchor="http://example.com/resource/"
S:
S: <html ...>
@@ -562,8 +573,7 @@
An example transaction using content negotiation and redirection might look like this (where <code>C:</code> and <code>S:</code> prefixes indicate client and server emitted data respectively):
</p>
<pre class="example code">
- C: GET /resource/ HTTP/1.1
- C: Host: http://example.com/
+ C: GET http://example.com/resource/ HTTP/1.1
C: Accept: text/html
S: HTTP/1.1 302 Found
@@ -573,18 +583,17 @@
S: HTML content for http://example.com/resource/
S: is available at http://example.com/resource/content.html
- C: GET /resource/content.html HTTP/1.1
- C: Host: http://example.com/
+ C: GET http://example.com/resource/content.html HTTP/1.1
C: Accept: text/html
S: HTTP/1.1 200 OK
S: Content-type: text/html
S: Link: <http://example.com/resource/provenance/>;
- rel="http://www.w3.org/ns/prov#hasProvenance";
- anchor="http://example.com/resource/"
+ rel="http://www.w3.org/ns/prov#has_provenance";
+ anchor="http://example.com/resource/20130226/content.html"
S:
- S: <html ...>
- S: :
+ S: <html>
+ S: <!-- HTML content here... -->
S: </html>
</pre>
</section>
@@ -599,26 +608,29 @@
<pre class="pattern">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <b><link rel="http://www.w3.org/ns/prov#hasProvenance" href="<cite>provenance-URI</cite>"></b>
- <b><link rel="http://www.w3.org/ns/prov#hasAnchor" href="<cite>entity-URI</cite>"></b>
+ <b><link rel="http://www.w3.org/ns/prov#has_provenance" href="<cite>provenance-URI</cite>"></b>
+ <b><link rel="http://www.w3.org/ns/prov#has_anchor" href="<cite>target-URI</cite>"></b>
<title>Welcome to example.com</title>
</head>
<body>
- ...
+ <!-- HTML content here... -->
</body>
</html></pre>
</div>
<p>
- The <code><cite>provenance-URI</cite></code> given by the first link element (<code>#hasProvenance</code> ) identifies the provenance-URI for the document.
+ The <code><cite>provenance-URI</cite></code> given by the first link element (<code>#has_provenance</code> ) identifies the provenance-URI for the document.
</p>
<p>
- The <code><cite>entity-URI</cite></code> given by the second link element (<code>#hasAnchor</code>) specifies an identifier for the document that may be used within the provenance record when referring to the document.
+ The <code><cite>target-URI</cite></code> given by the second link element (<code>#has_anchor</code>) specifies an identifier for the document that may be used within the provenance record when referring to the document.
</p>
<p>
- If no <code><cite>entity-URI</cite></code> is provided (via a <code>#hasAnchor</code> link element) then is it is assumed to be the URI of the document. It is RECOMMENDED that this convention be used only when the document has a URI that is reasonably expected to be known or easily discoverable by a consumer of the document (e.g. when delivered from a web server, or as part of a MIME structure containing content identifiers [[RFC2392]]).
+ If no <code><cite>target-URI</cite></code> is provided (via a <code>#has_anchor</code> link element) then is it is assumed to be the URI of the document. It is RECOMMENDED that this convention be used only when the document has a URI that is reasonably expected to be known or easily discoverable by a consumer of the document (e.g. when delivered from a web server, or as part of a MIME structure containing content identifiers [[RFC2392]]).
</p>
<p>
- An HTML document header MAY present multiple <code><cite>provenance-URI</cite></code>s over several <code>#hasProvenance</code> link elements, indicating a number of different provenance records that are known to the publisher of the document, each of which may provide provenance about the document (see <a href="#interpreting-provenance-records" class="sectionRef"></a>).
+ An HTML document header MAY present multiple <code><cite>provenance-URI</cite></code>s over several <code>#has_provenance</code> link elements, indicating a number of different provenance records that are known to the publisher of the document, each of which may provide provenance about the document (see <a href="#interpreting-provenance-records" class="sectionRef"></a>).
+ </p>
+ <p class="TODO">
+ Check with Dong: I think the cross reference should make the assumptions explicit. I, too, feel this material is not strictly needed, but was previously asked to add some clarification about mutliple links.
</p>
<section>
@@ -629,51 +641,59 @@
<pre class="pattern">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <b><link rel="http://www.w3.org/ns/prov#hasQueryService" href="<cite>service-URI</cite>"></b>
- <b><link rel="http://www.w3.org/ns/prov#hasAnchor" href="<cite>entity-URI</cite>"></b>
+ <b><link rel="http://www.w3.org/ns/prov#has_query_service" href="<cite>service-URI</cite>"></b>
+ <b><link rel="http://www.w3.org/ns/prov#has_anchor" href="<cite>target-URI</cite>"></b>
<title>Welcome to example.com</title>
</head>
<body>
- ...
+ <!-- HTML content here... -->
</body>
</html></pre>
<p>
- The <code>hasQueryService</code> link element identifies the <a class="internalDFN">service-URI</a>. Dereferencing this URI yields a service description that provides further information to enable a client to query for provenance about a resource; see <a href="#provenance-query-services" class="sectionRef"></a> for more details.
+ The <code>has_query_service</code> link element identifies the <a class="internalDFN">service-URI</a>. Dereferencing this URI yields a service description that provides further information to enable a client to query for provenance about a resource; see <a href="#provenance-query-services" class="sectionRef"></a> for more details.
</p>
<p>
- There MAY be multiple <code>#hasQueryService</code> link elements, and these MAY appear in the same document as <code>#hasProvenance</code> link elements (though we do not anticipate that <code>#hasProvenance</code> and <code>#hasQueryService</code> link relations will commonly be used together).
+ There MAY be multiple <code>#has_query_service</code> link elements, and these MAY appear in the same document as <code>#has_provenance</code> link elements (though we do not anticipate that <code>#has_provenance</code> and <code>#has_query_service</code> link relations will commonly be used together).
</p>
+ <p class="TODO">
+ Check with Dong: This test was already revised in response to earlier comment.
+ I, too, feel this material is not strictly needed, but was previously asked to add some clarification.
+ </p>
+
</section>
+
</section>
<section>
<h2>Resource represented as RDF</h2>
<p>
- If a resource is represented as RDF (in any of its recognized syntaxes, including RDFa), it may contain references to its own provenance using additional RDF statements. For this purpose the link relations introduced above (<a href="#locating-provenance-records" class="sectionRef"></a>) may be used as RDF properties: <code>prov:hasProvenance</code>, <code>prov:hasAnchor</code>, and <code>prov:hasQueryService</code>, where the <code>prov:</code> prefix here indicates the PROV namespace URI <code>http://www.w3.org/ns/prov#</code>.
+ If a resource is represented as RDF (in any of its recognized syntaxes, including RDFa), it may contain references to its own provenance using additional RDF statements. For this purpose the link relations introduced above (<a href="#locating-provenance-records" class="sectionRef"></a>) may be used as RDF properties: <code>prov:has_provenance</code>, <code>prov:has_anchor</code>, and <code>prov:has_query_service</code>, where the <code>prov:</code> prefix here indicates the PROV namespace URI <code>http://www.w3.org/ns/prov#</code>.
</p>
<p>
- The RDF property <code>prov:hasProvenance</code> is a relation between two resources, where the object of the property is a <a class="internalDFN">provenance-URI</a> that denotes a provenance record about the subject resource. Multiple <code>prov:hasProvenance</code> assertions may be made about a subject resource. This property corresponds to a <code>#hasProvenance</code> link relation</a> used with an HTTP <code>Link</code> header field, or HTML <code><link></code> element (see above).
+ The RDF property <code>prov:has_provenance</code> is a relation between two resources, where the object of the property is a <a class="internalDFN">provenance-URI</a> that denotes a provenance record about the subject resource. Multiple <code>prov:has_provenance</code> assertions may be made about a subject resource.
</p>
<p>
- Property <code>prov:hasAnchor</code> specifies an <a class="internalDFN">entity-URI</a> used in the indicated provenance to refer to the containing RDF document.
- This corresponds to use of the <code>anchor</code> parameter in an HTTP provenance <code>Link</code> header field, or a <code>#hasAnchor</code> link relation</a> in an HTML <code><link></code> element, which similarly indicate a URI used in the provenance record to refer to the described document.
+ Property <code>prov:has_anchor</code> specifies a <a class="internalDFN">target-URI</a> used in the indicated provenance to refer to the containing RDF document.
</p>
<p>
- Property <code>prov:hasQueryService</code> specifies a <a class="internalDFN">service-URI</a> for provenance queries. This property corresponds to a <code>hasQueryService</code> link relation used with an HTTP <code>Link</code> header field, or HTML <code><link></code> element.
+ Property <code>prov:has_query_service</code> specifies a <a class="internalDFN">service-URI</a> for provenance queries.
</p>
<pre class="example code">
@prefix prov: <http://www.w3.org/ns/prov#>.
- <> dcterms:title "Welcome to example.com" ;
- prov:hasAnchor <http://example.com/data/resource.rdf> ;
- prov:hasProvenance <http://example.com/provenance/resource.rdf> ;
- prov:hasQueryService <http://example.com/provenance-query-service/> .
- :
- (RDF data)
- :
+ <> dcterms:title "Welcome to example.com" ;
+ prov:has_anchor <http://example.com/data/resource.rdf> ;
+ prov:has_provenance <http://example.com/provenance/resource.rdf> ;
+ prov:has_query_service <http://example.com/provenance-query-service/> .
+
+ # (More RDF data ...)
+
</pre>
+ <p>
+ (The above example uses Turtle RDF syntax [[TURTLE]].)
+ </p>
<p class="note">
- These terms (<code>prov:hasProvenance</code>, <code>prov:hasAnchor</code>, and <code>prov:hasQueryService</code>) may be also used in RDF statements with other subjects to indicate provenance of other resources, but discussion of such use is beyond the scope of this document.
+ These terms (<code>prov:has_provenance</code>, <code>prov:has_anchor</code>, and <code>prov:has_query_service</code>) may be also used in RDF statements with other subjects to indicate provenance of other resources, but discussion of such use is beyond the scope of this document.
</p>
</section>
@@ -684,39 +704,89 @@
<section>
<h2>Provenance query services</h2>
<p>
- This section describes a simple HTTP query protocol for accessing provenance records, and also a mechanism for locating a SPARQL service endpoint. The HTTP protocol specifies HTTP operations for retrieving provenance records from a provenance query service, following the approach of the SPARQL Graph Store HTTP Protocol [[SPARQL-HTTP]].
+ This section describes a simple HTTP query protocol for accessing provenance records, and also a mechanism for locating a SPARQL service endpoint [[SPARQL-SD]]. The HTTP protocol specifies HTTP operations for retrieving provenance records from a provenance query service, following the approach of the SPARQL Graph Store HTTP Protocol [[SPARQL-HTTP]].
</p>
- <p>The introduction of query services is motivated by the following possible considerations: </p>
+ <p>
+ The introduction of query services is motivated by the following possible considerations:
+ </p>
<ul>
- <li>the naming authority associated with the <a class="internalDFN">entity-URI</a> is not the same as the service offering <a class="internalDFN">provenance record</a>s</li>
- <li>multiple services have provenance records about the same resource</li>
- <li>the service associated with the entity-URI is not accessible for adding additional information when handling retrieval requests</li>
- <li>there is no known dereferencable <a class="internalDFN">provenance-URI</a> returning a provenance record for a particular resource</li>
- <li>query services may provide additional control over what provenance is returned.</li>
+ <li>
+ third-party providers of provenance descriptions may be unable to use the mechanisms of Section 3 because the corresponding <a class="internalDFN">target-URI</a> is outside their control;
+ </li>
+ <li>
+ services unknown to the original publisher may have provenance records about the same resource;
+ </li>
+ <li>
+ there is no known dereferencable <a class="internalDFN">provenance-URI</a> or a particular entity;
+ </li>
+ <li>
+ query services may provide additional filters over what provenance is returned; and
+ </li>
+ <li>
+ query services may support more expressive selections, such as "which
+entities were derived from entities attributed to agent X".
+ </li>
</ul>
<p>
- The query mechanisms provided by a <a class="internalDFN">provenance query service</a> are described by an RDF-format service description, which is obtained by dereferencing a <a class="internalDFN">service-URI</a>. A service description may contain information about additional mechanisms that are not described here. In keeping with REST practice, alternative non-RDF service description formats not described here may be offered and accessed using HTTP content negotiation.
+ The patterns for using provenance query services are designed around REST principles [[REST]], which aim to minimize coupling between client and server implementation details.
+ </p>
+ <p>
+ The query mechanisms provided by a <a class="internalDFN">provenance query service</a> are described by a service description, which is obtained by dereferencing a <a class="internalDFN">service-URI</a>. A service description may contain information about additional mechanisms that are not described here. In keeping with REST practice for web applications, alternative service descriptions using different formats may be offered and accessed using HTTP content negotiation. We describe below a service description format that uses RDF to describe two query mechanisms.
</p>
<p>
The general procedure for using a provenance query service is:
</p>
<ol>
<li>retrieve the service description;</li>
- <li>within the service description, locate information about a recognized query mechanism, ignoring unrecognized descriptions;</li>
- <li>if a recognized query mechanism is described, extract information needed to use that mechanism (e.g. a URI template or a SPARQL service endpoint URI); and</li>
- <li>use the information obtained to query for required provenance.</li>
+ <li>within the service description, locate information about a recognized query mechanism (ignoring unrecognized descriptions if the description covers multiple service options);</li>
+ <li>if a recognized query mechanism is found, extract information needed to use that mechanism (e.g. a URI template or a SPARQL service endpoint URI); and</li>
+ <li>use the information obtained to query for required provenance, using the selected query mechanism.</li>
</ol>
<p>
- The patterns for using provenance query services are designed around REST principles [[REST]], which aim to minimize coupling between client and server implementation details.
+ The remainder of this section covers the following topics:
</p>
+ <ul>
+ <li>
+ <a class="sectionRef" href="#provenance-query-service-description"></a> - describes an RDF-based service description format and vocabularies to convey information about direct HTTP query and/or SPARQL service options.
+ <ul>
+ <a class="sectionRef" href="#direct-http-query-service-description"></a> - RDF structure for describing a direct HTTP query service.
+ </ul>
+ <ul>
+ <a class="sectionRef" href="#sparql-query-service-description"></a> - RDF structure for describing a SPARQL query service.
+ </ul>
+ </li>
+ <li><a class="sectionRef" href="#direct-http-query-service-invocation"></a> - describes how to perform a direct HTTP query for provenance, using information obtained from the service description.</li>
+ <li><a class="sectionRef" href="#provenance-query-service-discovery"></a> - briefly discusses some possible approaches to discovery of provenance query services.
+ </ul>
<!-- <section class="informative"> -->
<section>
<h2>Provenance query service description</h2>
+ <p class="TODO">
+ Review. Stian suggests recommending use of JSON-LD. I am resisting this because it is clearly allowed by "RDF (in any of its common serializations as determined by HTTP content negotiation)", focusing on a particular format as part of the underlying mechanism seems to go against REST principles, and at this stage it seems that promoting any particular format will draw objections from proponents of other formats. I've taken a different tack, making the text more open about possible service description formats, while specifically presenting a description based on the RDF model.
+ </p>
<p>
- Dereferencing a provenance query service URI yields a service description. The service description should be available as RDF (in any of its common serializations as determined by HTTP content negotiation), and it should contain descriptions of one or more available query mechanisms. Each available query mechanism is associated with an RDF resource of a given type, as described below.
+ Dereferencing a <a class="internalDFN">service-URI</a> yields a service description. The service description presented here may be supplied as RDF (in any of its common serializations as determined by HTTP content negotiation), and it may contain descriptions of one or more available query mechanisms. Each query mechanism is associated with an RDF type, as explained below.
+ (The presentation here of RDF service descriptions does not preclude use of non-RDF formats selectable by HTTP content negotiation.)
</p>
- <p>While use of RDF for service descriptions is a recommended option, this specification does not preclude the use of non-RDF formats that a service may choose to offer, and which may be selected using HTTP content negotiation.
+ <p>
+ The overall structure of a service description is as follows:
+ </p>
+ <pre class="pattern">
+<<cite>service-URI</cite>> a prov:ServiceDescription ;
+ prov:describesService <<cite>direct-query-description</cite>>, <<cite>sparql-query-description</cite>> .
+
+<<cite>direct-query-description</cite>> a prov:DirectQueryService ;
+ prov:provenanceUriTemplate "<cite>direct-query-template</cite>"
+ .
+
+<<cite>sparql-query-description</cite>> a sd:Service ;
+ sd:endpoint <<cite>sparql-query</cite>> ;
+ # other details...
+ .
+</pre>
+ <p>
+ We see here that the <code><cite>service-URI</cite></code> identifies a resource of type <code>prov:ServiceDescription</code>, which collects descriptions of one or more provenance query mechanisms. Each associated mechanism is indicated by a <code>prov:describesService</code> statement.
</p>
<p class="note">
We expect the presentation of service descriptions to be considered by the W3C Linked Data Platform group (<a href="http://www.w3.org/2012/ldp/" class="externalRef">www.w3.org/2012/ldp/</a>); at the time of writing, there is no consensus (cf. message at <a href="http://lists.w3.org/Archives/Public/public-ldp/2012Nov/0036.html" class="externalRef">lists.w3.org/Archives/Public/public-ldp/2012Nov/0036.html</a> and responses). As and when such consensus emerges, we recommend that provenance query service implementers consider adopting it, or at least consider making their implementations compatible with it.
@@ -724,45 +794,41 @@
<section>
<h2>Direct HTTP query service description</h2>
- <p class="TODO">
- Tim's point (20): I think this will be covered by Stian's proposal; leaving for now.
- </p>
<p>A direct HTTP query service is described by an RDF resource of type <code>prov:DirectQueryService</code></p>
- <p>It allows for accessing provenance about a specified <a class="internalDFN">entity-URI</a>. The query URI to use is described by a URI Template [[URI-template]] (level 2 or above) in which which the variable <cite><code>uri</code></cite> stands for the entity-URI; e.g.</p>
+ <p>It allows for accessing provenance about a specified <a class="internalDFN">target-URI</a>. The query URI to use is described by a URI Template [[URI-template]] (level 2 or above) in which which the variable <cite><code>uri</code></cite> stands for the target-URI; e.g.</p>
<pre class="pattern">
- @prefix prov: <http://www.w3c.org/ns/prov#>
- <cite>query_option_node</cite> a prov:DirectQueryService ;
- prov:provenanceUriTemplate "<cite>service-URI</cite>?target={+uri}" .</pre>
+@prefix prov: <http://www.w3c.org/ns/prov#>
+<direct-query-description> a prov:DirectQueryService ;
+ prov:provenanceUriTemplate "<cite>query-URI</cite>?target={+uri}" .
+</pre>
<p>
- where <cite><code>service-URI</code></cite> is the URI of the provenance query service, and <code><cite>query_option_node</cite></code> is any distinct RDF subject node (i.e. a blank node or a URI).
+ where <cite><code>query-URI</code></cite> is the base URI of the direct query service, and <code><cite>direct-query-description</cite></code> is any distinct RDF subject node (i.e. a blank node or a URI).
</p>
<p>
- The URI template indicated by <code>prov:provenanceUriTemplate</code> may expand to an absolute or relative URI reference. A URI for the desired provenance record is obtained by expanding the URI template with the variable <cite><code>uri</code></cite> set to the entity-URI for which provenance is requested. In this example, if the entity-URI contains '#' or '&' these must be %-escaped as <code>%23</code> or <code>%26</code> respectively before template expansion [[RFC3986]]. If the result is a relative reference, it is interpreted per [[RFC3986]] (section 5.2) using the URI of the service description as its base URI (which is generally the same as the query service-URI, unless HTTP redirection has been invoked).
+ The URI template indicated by <code>prov:provenanceUriTemplate</code> may expand to an absolute or relative URI reference. A URI for the desired provenance record is obtained by expanding the URI template with the variable <cite><code>uri</code></cite> set to the target-URI for which provenance is requested. In this example, if the target-URI contains '#' or '&' these must be %-escaped as <code>%23</code> or <code>%26</code> respectively before template expansion [[RFC3986]]. If the result is a relative reference, it is interpreted per [[RFC3986]] (section 5.2) using the URI of the service description as its base URI (which is generally the same as the query service-URI, unless HTTP redirection has been invoked).
</p>
<p>
A provenance query service MAY recognize additional parameters encoded as part of a URI for the provenance record. If it does, it SHOULD include these in the provenance URI template in the service description, so that clients may discover how a URI is formed using this additional information.
- For example, a query service might offer to include just the immediate provenance of an entity, or to also supply provenance of entities from which the target resource is derived. Suppose a service accepts an additional parameter <code>steps</code> that defines the number of previous steps to include in a provenance trace, it might publish its service description thus:
+ For example, a query service might offer to include just the immediate provenance of a target, or to also supply provenance of other resources from which the target is derived. Suppose a service accepts an additional parameter <code>steps</code> that defines the number of previous steps to include in a provenance trace, it might publish its service description thus:
</p>
- <pre class="pattern">
- <<cite>query_option_node</cite>> a prov:DirectQueryService ;
- prov:provenanceUriTemplate "http://www.example.com/provenance/service?target={+uri}{&steps}" .</pre>
+ <pre class="example code">
+<<cite>direct-query-description</cite>> a prov:DirectQueryService ;
+ prov:provenanceUriTemplate
+ "http://www.example.com/provenance/service?target={+uri}{&steps}" .
+</pre>
<p>
which might result in an HTTP query for provenance information that looks like this:
</p>
- <pre class="pattern">
- GET /provenance/service?<b>target</b>=http://www.example.com/entity&<b>steps</b>=2 HTTP/1.1
- Host: example.com</pre>
+ <pre class="example code">
+GET http://example.com/provenance/service?<b>target</b>=http://www.example.com/entity&<b>steps</b>=2 HTTP/1.1
+</pre>
<p>
(Note that in this case, a "level 3" URI template feature is used [[URI-template]].)
</p>
</section>
-
<section>
<h2>SPARQL query service description</h2>
- <p class="TODO">
- Tim's point (22): I think this will be covered by Stian's proposal; leaving for now.
- </p>
<p>
A SPARQL query service is described by an RDF resource of type <code>sd:Service</code> [[SPARQL-SD]].
</p>
@@ -772,20 +838,21 @@
<p>
The SPARQL query service description is constructed as defined by <cite>SPARQL 1.1 Service Description</cite> [[SPARQL-SD]]; e.g.
</p>
- <pre class="pattern">
- @prefix sd: <http://www.w3.org/ns/sparql-service-description#>
- <cite>query_option_node</cite> a sd:Service ;
- sd:endpoint <<cite>service-URI</cite>/sparql/> ;
- sd:supportedLanguage sd:SPARQL11Query .</pre>
+ <pre class="example code">
+<cite>sparql-query-description</cite> a sd:Service ;
+ sd:endpoint <<cite>query-URI</cite>/sparql/> ;
+ sd:supportedLanguage sd:SPARQL11Query .
+</pre>
<p>
- where <cite><code>service-URI</code></cite> is the URI of the provenance service, and <code><cite>query_option_node</cite></code> is any distinct RDF subject node (i.e. a blank node or a URI).
+ where <cite><code>query-URI</code></cite> is the base URI of the provenance query service, and <code><cite>sparql-query-description</cite></code> is any distinct RDF subject node (i.e. a blank node or a URI).
</p>
<p>
The SPARQL service description may be detailed or sparse, provided that it includes at a minimum the following:
</p>
<pre class="pattern">
- <cite>query_option_node</cite> a sd:Service ;
- sd:endpoint <(SPARQL service endpoint URI reference)> .</pre>
+<cite>sparql-query-description</cite> a sd:Service ;
+ sd:endpoint <(SPARQL service endpoint URI reference)> .
+</pre>
<p>
The endpoint may be given as an absolute or relative URI reference. If a relative reference is given, it is interpreted in the normal way for the RDF format used, which will commonly be relative to the URI of the service document itself.
</p>
@@ -796,45 +863,70 @@
<p>
The following service description example uses Turtle [[TURTLE]] syntax to describe both direct HTTP and SPARQL query services:
</p>
- <pre class="example">
- @prefix prov: <http://www.w3c.org/ns/prov#>
- @prefix sd: <http://www.w3.org/ns/sparql-service-description#>
-
- <> a prov:ProvenanceQueryService .
+ <pre class="example code">
+@prefix prov: <http://www.w3c.org/ns/prov#>
+@prefix dcterms: <http://purl.org/dc/terms/>
+@prefix foaf: <http://xmlns.com/foaf/0.1/>
+@prefix sd: <http://www.w3.org/ns/sparql-service-description#>
- <#direct> a prov:DirectQueryService ;
- prov:provenanceUriTemplate "?target={+uri}"
- .
- <#sparql> a sd:Service ;
- sd:endpoint </sparql/> ;
- sd:supportedLanguage sd:SPARQL11Query ;
- sd:resultFormat <http://www.w3.org/ns/formats/RDF_XML> ,
- <http://www.w3.org/ns/formats/Turtle> ,
- <http://www.w3.org/ns/formats/SPARQL_Results_XML> ,
- <http://www.w3.org/ns/formats/SPARQL_Results_JSON> ,
- <http://www.w3.org/ns/formats/SPARQL_Results_CSV> ,
- <http://www.w3.org/ns/formats/SPARQL_Results_TSV>
- .</pre>
+<> a prov:ServiceDescription ;
+ prov:describesService <#direct>, <#sparql> ;
+ dcterms:publisher <#us>
+ .
+
+<#us> a foaf:Organization ;
+ foaf:name "and not a service!"
+ .
+
+<#direct> a prov:DirectQueryService ;
+ prov:provenanceUriTemplate "/direct?target={+uri}"
+ .
+
+<#sparql> a sd:Service ;
+ sd:endpoint </sparql/> ;
+ sd:supportedLanguage sd:SPARQL11Query ;
+ sd:resultFormat <http://www.w3.org/ns/formats/RDF_XML> ,
+ <http://www.w3.org/ns/formats/Turtle> ,
+ <http://www.w3.org/ns/formats/SPARQL_Results_XML> ,
+ <http://www.w3.org/ns/formats/SPARQL_Results_JSON> ,
+ <http://www.w3.org/ns/formats/SPARQL_Results_CSV> ,
+ <http://www.w3.org/ns/formats/SPARQL_Results_TSV>
+ .
+</pre>
</section>
</section>
<section>
<h2>Direct HTTP query service invocation</h2>
- <p>This protocol typically combines the <a class="internalDFN">entity-URI</a> with the <a class="internalDFN">service-URI</a> to formulate an HTTP GET request, according to the following convention:
- <pre class="pattern">
- GET /provenance/service?<b>target</b>=http://www.example.com/entity HTTP/1.1
- Host: example.com</pre>
- </p>
- <p>The embedded entity-URI (<code>http://www.example.com/entity</code>) identifies the resource for which provenance is to be returned. Any server that implements this protocol and receives a request URI in this form SHOULD return a provenance record for the resource-URI embedded in the query component, where that URI is the result of percent-decoding the value associated with the provenance-resource key. The embedded URI MUST be an absolute URI and the server MUST respond with a 400 Bad Request if it is not. If the supplied resource-URI includes a fragment identifier, the '#' MUST be %-encoded as <code>%23</code> when constructing the provenance-URI value; similarly, any '&' character in the resource-URI must be %-encoded as <code>%26</code> [[RFC3986]].
+ <p>
+ This protocol combines the <a class="internalDFN">target-URI</a> with a supplied URI template to formulate an HTTP GET request.
</p>
<p>
- If the provenance described by the request does not exist in the server, a <code>404 Not Found</code> response code SHOULD be returned.
+ Thus, if the URI template extracted from the service description is <code>http://example.com/provenance/service?target={uri}</code> and the supplied target-URI is <code>http://www.example.com/entity123</code>, the resulting HTTP request would be:
+ <pre class="example code">
+GET /provenance/service?<b>target</b>=http%3A%2F%2Fwww.example.com%2Fentity123 HTTP/1.1
+Host: example.com
+</pre>
</p>
<p>
- The format of the returned provenance record is not defined here, but may be established through content type negotiation using <code>Accept:</code> header fields in the HTTP request. A provenance query service SHOULD be capable of returning RDF using the vocabulary defined by [[PROV-O]], in at least one of the standard RDF serializations (e.g. RDF/XML), or any other standard serialization of the Provenance Model specification [[PROV-DM]]. Services MUST identify the <code>Content-Type</code> of the information returned.
+ Any server that implements this protocol and receives a request URI in this form SHOULD return a provenance record for the target-URI embedded in the query component, where that URI is the result of percent-decoding [[RFC3986]] the part of the request URI corresponding to <code>{var}</code> in the URI template. E.g., in the above example, the decoded target-URI is <code>http://www.example.com/entity123</code>. The target-URI MUST be an absolute URI, and the server SHOULD respond with <code>400 Bad Request</code> if it is not.
</p>
<p>
- Additional URI query parameters may be used as indicated by the service description in <a href="#provenance-query-service-description" class="sectionRef"></a>.
+ A server SHOULD NOT offer a template containing <code>{+uri}</code> or other non-simple variable expansion options [[URI-template]] unless all valid target-URIs for which it can provide provenance do not contain problematic characters like <code>'#'</code> or <code>'&'</code>.
+ </p>
+ <p class="note">
+ The defined URI template expansion process [[URI-template]] generally takes care of %-escaping characters that are not permitted in URIs. However, when expanding a template with <code>{+uri}</code>, some permitted characters such as <code>'#'</code> and <code>'&'</code> are not escaped. If the supplied target-URI contains these characters, then they may disrupt interpretation of the resulting query URI. To prevent this, <code>'#'</code> and <code>'&'</code> characters in the target-URI may be replaced with <code>%23</code> and <code>%26</code> respectively, before performing the URI template expansion. An alternative, simpler and more reliable approach is to use <code>{uri}</code> in the URI template string, which will cause all URI-reserved characters to be %-escaped as part of the URI-template expansion, as in the example above.
+ </p>
+ <p>
+ If the provenance described by the request is unknown to the server, a suitable error response code SHOULD be returned. In the absence of any security of privacy concerns about the resource, that might be <code>404 Not Found</code>. But if the existence or non-existence of a resource is considered private or sensitive, an authorization failure or other error response may be returned.
+ </p>
+ <p>
+ The direct HTTP query service may return provenance in any available format.
+ For interoperable provenance publication, use of the PROV-O vocabulary [[PROV-O]] represented in a standardized RDF format is recommended. Where alternative formats are available, selection may be made by content negotiation, using <code>Accept:</code> header fields in the HTTP request.
+ Services MUST identify the <code>Content-Type</code> of the provenance returned.
+ </p>
+ <p>
+ Additional URI query parameters may be used as indicated by the service description in <a href="#direct-http-query-service-description" class="sectionRef"></a>.
</p>
</section>
@@ -842,19 +934,19 @@
<section>
<h2>Provenance query service discovery</h2>
<p>
- Previously, <a href="#locating-provenance-records" class="sectionRef"></a> has described use of HTTP <code>Link:</code> header fields and HTML <code><link></code> elements to indicate provenance query services. Beyond that, this specification does not define any specific mechanism for discovering query services. Applications may use any appropriate mechanism, including but not limited to: prior configuration, search engines, service registries, etc.
+ Previously, <a href="#locating-provenance-records" class="sectionRef"></a> has described use of HTTP <code>Link:</code> header fields, HTML <code><link></code> elements and RDF statements to indicate provenance query services. Beyond that, this specification does not define any specific mechanism for discovering query services. Applications may use any appropriate mechanism, including but not limited to: prior configuration, search engines, service registries, etc.
</p>
<p>
- To facilitate service discovery, we recommend that RDF publication of dataset and service descriptions use the property <code>prov:hasQueryService</code> and the provenance service type <code>prov:ProvenanceQueryService</code> as appropriate (see the appendix <a href="#prov-namespace" class="sectionRef"></a>).
+ To facilitate service discovery, we recommend that RDF publication of dataset and service descriptions use the property <code>prov:has_query_service</code> and the provenance service type <code>prov:ServiceDescription</code> as appropriate (see the appendix <a href="#prov-namespace" class="sectionRef"></a>).
</p>
<p>
For example, a VoID description [[VoID]] of a dataset might indicate a provenance query service providing information about that dataset:
</p>
<pre class="pattern">
<http://example.org/dataset/> a void:Dataset ;
- prov:hasQueryService <http://example.org/provenance/> .</pre>
+ prov:has_query_service <http://example.org/provenance/> .</pre>
<p>
- The RDF service description example in <a href="#service-description-example" class="sectionRef"></a> shows use of the <code>prov:ProvenanceQueryService</code> type.
+ The RDF service description example in <a href="#service-description-example" class="sectionRef"></a> shows use of the <code>prov:ServiceDescription</code> type.
</p>
</section>
@@ -864,8 +956,14 @@
<section>
<h2>Forward provenance</h2>
+ <p class="TODO">
+ REVIEW. This section describes an "at-risk" feature whose final inclusion in this document is undecided. Does the use of a "ping-back" for discovering forward provenance fall under the remit of "provenance access and query"? Is it a useful feature to define?
+ </p>
<p>
- The mechanisms discussed in previous sections are primarily concerned with how consumers access historical provenance from publishers, dealing with questions such as:
+ This section describes a discovery mechanism for <a href class="internalDFN">forward provenance</a>; i.e. provenance describing how a resource is used after it has been created .
+ </p>
+ <p>
+ The mechanisms discussed in previous sections are primarily concerned with access to historical provenance, dealing with questions such as:
</p>
<ul>
<li>what was this resource based upon?</li>
@@ -883,55 +981,129 @@
<li><i>etc.</i></li>
</ul>
<p>
- The ability to answer forward-looking questions requires some cooperation among the parties who use a resource; for example, a consumer could report use directly to the publisher, or a search engine could discover and report such downstream resource usage. To facilitate such cooperation, a publisher may implement a "ping-back" capability.
- </p>
- <p>
- A resource may have an associated "ping-back" URI which can be presented with PROV assertions about the resource. The ping-back URI is associated with a resource using mechanisms similar to those used for presenting a <a class="internalDFN">provenance-URI</a>, but using a <code>provPingback</code> link relation instead of <code>hasProvenance</code>. A consumer of the resource, or some other system, may perform an HTTP POST operation to the pingback URI where the POST request body contains provenance in one of the recognized provenance formats. For interoperability, a ping-back receiving service SHOULD be able to accept at least PROV-O provenance presented as RDF/XML or Turtle.
+ The ability to answer forward-looking questions requires some cooperation among the parties who use a resource; for example, a consumer could report use directly to the publisher, or a search engine could discover and report such downstream resource usage. To facilitate such cooperation, a publisher of a resource may implement a "ping-back" capability.
</p>
<p>
- For example, consider a resource that is published by <code>acme.example.com</code>, and is subsequently used by <code>wile-e.example.org</code> in the construction of some new entity; we might see an exchange along the following lines. We start with wile-e.example.org retrieving a copy of acme.example.org's resource:
+ A resource may have an associated "ping-back" URI which can be presented with references to provenance about the resource. The ping-back URI is associated with a resource using mechanisms similar to those used for presenting a <a class="internalDFN">provenance-URI</a>, but using a <code>pingback</code> link relation instead of <code>has_provenance</code>. A consumer of the resource, or some other system, may perform an HTTP POST operation to the pingback URI, with a request body containing a list of provenance-URIs for provenance records describing uses of the resource.
+ </p>
+ <p>
+ For example, consider a resource that is published by <code>acme.example.com</code>, and is subsequently used by <code>wile-e.example.org</code> in the construction of some new entity; we might see an exchange along the following lines. We start with <code>wile-e.example.org</code> retrieving a copy of <code>acme.example.org</code>'s resource:
</p>
<pre class="pattern">
- C: GET /super-widget HTTP/1.1
- C: Host: acme.example.org
+ C: GET http://acme.example.org/super-widget HTTP/1.1
S: 200 OK
- S: Link: <http://acme.example.org/provenance/super-widget>;
- rel=http://www.w3.org/ns/prov#hasProvenance
- S: Link: <http://acme.example.org/pingback/super-widget>;
- rel=http://www.w3.org/ns/prov#provPingback
+ S: Link: <http://acme.example.org/super-widget/provenance>;
+ rel=http://www.w3.org/ns/prov#has_provenance
+ S: Link: <http://acme.example.org/super-widget/pingback>;
+ rel=http://www.w3.org/ns/prov#pingback
:
(super-widget resource data)</pre>
<p>
- The first of the links in the response is a <code>hasProvenance</code> link with a <a class="internalDFN">provenance-URI</a> that has been described previously (<a href="#resource-accessed-by-http" class="sectionRef"></a>). The second is a distinct resource that exists to receive provenance pingbacks. Later, when a new resource has been created or action performed based upon the <code>acme.example.org/super-widget</code>, new provenance may be submitted to the pingback thus:
+ The first of the links in the response is a <code>has_provenance</code> link with a <a class="internalDFN">provenance-URI</a> that has been described previously (<a href="#resource-accessed-by-http" class="sectionRef"></a>). The second is a distinct resource that exists to receive provenance pingbacks. Later, when a new resource has been created or action performed based upon the <code>acme.example.org/super-widget</code>, a client MAY post a pingback request to any supplied <code>pingback</code> URI:
</p>
- <pre class="pattern">
- C: POST /pingback/super-widget HTTP/1.1
- C: Host: acme.example.org
- C: Content-type: text/turtle
- :
+ <pre class="example code">
+ C: POST http://acme.example.org/super-widget/pingback HTTP/1.1
+ C: Content-Type: text/uri-list
C:
- C: <http://wile-e.example.org/contraption>
- C: prov:wasDerivedFrom <http://acme.example.org/super-widget> .
+ C: http://wile-e.example.org/contraption/provenance
+ C: http://wile-e.example.org/another/provenance
- S: 200 OK
- S: Link: <http://acme.example.org/provenance/super-widget>;
- rel=http://www.w3.org/ns/prov#hasProvenance;
+ S: 204 No Content
+ S: Link: <http://acme.example.org/super-widget/provenance>;
+ rel=http://www.w3.org/ns/prov#has_provenance;
+ anchor="http://acme.example.org/super-widget"
+</pre>
+ <!--
+ S: Link: <http://wile-e.example.org/contraption/provenance>;
+ rel=http://www.w3.org/ns/prov#has_provenance;
anchor=http://acme.example.org/super-widget
- S: Link: <http://acme.example.org/pingback/super-widget>;
- rel=http://www.w3.org/ns/prov#provPingback;
- anchor=http://acme.example.org/super-widget</pre>
+ S: Link: <http://wile-e.example.org/another/provenance>;
+ rel=http://www.w3.org/ns/prov#has_provenance;
+ anchor=http://acme.example.org/super-widget
+ -->
+ <p>
+ The pingback request supplies a list of <a class="internalDFN">provenance-URI</a>s from which forward provenance may be retrieved. The pingback service may do as it chooses with these URIs; e.g., it may choose to save them for later use, to retrieve the associated provenance and save that, to publish the URIs along with other provenance information about the original entity to which they relate, or even to ignore them.
+ </p>
+ <p>
+ The client MAY further supply <code>has_query_service</code> links indicating provenance query services that can describe the target-URI. The anchor MUST be included, and SHOULD be the target-URI of the resource to which this pingback service belongs, or some related resource with relevant provenance.
+ </p>
+ <pre class="example code">
+ C: POST http://acme.example.org/super-widget/pingback HTTP/1.1
+ C: Link: <http://wile-e.example.org/sparql>;
+ rel="http://www.w3.org/ns/prov#has_query_service";
+ anchor="http://acme.example.org/super-widget"
+ C: Content-Type: text/uri-list
+ C: Content-Length: 0
+ C:
+
+ S: 204 No Content
+ S: Link: <http://acme.example.org/super-widget/provenance>;
+ rel=http://www.w3.org/ns/prov#has_provenance;
+ anchor="http://acme.example.org/super-widget"
+</pre>
+ <p>
+ In the above example, the client did not submit any provenance-URIs and the URI list is therefore empty.
+ </p>
+ <p>The client MAY similarly include <code>has_provenance</code> links to specify provenance records with a different anchor. The provenance-URIs of those headers SHOULD also be included in the content if the POSTed Content-type is <code>text/uri-list</code>.
+ </p>
<p class="TODO">
- Details to change with Stian's proposal
+ Does this SHOULD requirement serve any useful purpose?
</p>
<p>
There is no required information in the server response to a pingback POST request.
- In this example the pingback service responds with links to provenance and pingback for the original resource (note that the <code>Link:</code> headers returned contain explicit <code>anchor</code> parameters with the URI of the original resource; without these, the links would relate the indicated URIs to the POST request URI <code>http://acme.example.org/pingback/super-widget</code>).
+ In the examples above, the pingback service responds with an empty response body, and links to provenance for the original resource.
+ (Note that the <code>Link:</code> header returned contains an explicit <code>anchor</code> parameter with the URI of the original resource; without this, the link would relate the indicated URI to the pingback URI <code>http://acme.example.org/super-widget/pingback</code> rather than the original resource.)
</p>
<p>
- The only defined operation for a pingback resource is a POST, which provides a PROV assertion about the original resource with which it is associated. A pingback service MAY respond to other requests, but no requirements are imposed on how it responds to such operations. In particular, it is not specified here how a pingback resource should respond to an HTTP GET request. This leaves open a possibility that the pingback resource MAY have the same URI as the original resource, provided that the original does not respond to POST in some different way.
+ The only defined operation on a pingback-URI is POST, which supplies links to provenance information or services as described above. A pingback-URI MAY respond to other requests, but no requirements are imposed on how it responds. In particular, it is not specified here how a pingback resource should respond to an HTTP GET request. This leaves open a possibility that the pingback resource MAY have the same URI as the original resource, provided that the original does not respond to POST in some different way.
</p>
+ <!-- also in Stian's proposal
+
+ The pingback service MAY resolve the submitted URIs to validate and
+ check the provenance data, however reasonable care should be taken to
+ prevent malicious use of the pingback service for attacks such as
+ distributed denial of service (DDoS) and cross-site request forgery
+ (CSRF).
+
+ The server MAY, immediately or at a later time, include the submitted
+ *provenance-URI*s in responses to subsequent request to the provenance
+ service for the target-URI. (insert usual blurb about not trust on
+ such provenance)
+
+ The server SHOULD include a self-referential prov:pingback Link
+ header, which MUST include the anchor for the target-URI this pingback
+ service corresponds to. This serves the purpose for the client to
+ verify it has submitted a pingback to the correct service, in case it
+ has followed an untrusted prov:pingback Link header. The client MAY
+ for this purpose POST an empty text/uri-list to avoid side effects.
+
+ The server SHOULD indicate immediate acceptance by including the
+ corresponding {prov:has_provenance} {Link} headers for the accepted
+ *provenance-URI*s. If all submitted provenance-URIs have been
+ immediately accepted, the server SHOULD respond with HTTP status {200
+ OK} or {204 No Content}.
+
+ If server acceptance is pending for any of the submitted URIs, for
+ instance because the provenance-URIs are being validated or due to be
+ approved by a moderator, the server SHOULD respond with HTTP status
+ {202 Accepted}, and only include corresponding {prov:has_provenance}
+ {Link} headers for those provenance-URIs that have been immediately
+ accepted.
+
+ The server MAY respond with {401 Unauthorized} and standard
+ {{WWW-Authenticate}} headers if authentication is needed. The server
+ SHOULD respond with {403 Forbidden} if for any reason it refuses to
+ accept one or more of the submitted provenance-URIs or
+ provenance-service-URIs. If some URIs were accepted, but others were
+ refused, the server SHOULD respond with {403 Forbidden} and include
+ generated prov:has_provenance and prov:has_query_service Link headers for
+ the immediately accepted URIs.
+
+ -->
+
+
</section>
<!-- ==== Section 6 ===================================================================================== -->
@@ -945,7 +1117,7 @@
Secure HTTP (https) SHOULD be used across unsecured networks when accessing provenance that may be used as a basis for trust decisions, or to obtain a provenance URI for same.
</p>
<p>
- When retrieving a provenance URI from a document, steps SHOULD be taken to ensure the document itself is an accurate copy of the original whose author is being trusted (e.g. signature checking, or use of a trusted secure web service).
+ When retrieving a provenance URI from a document, steps SHOULD be taken to ensure the document itself is an accurate copy of the original whose author is being trusted (e.g. signature checking, or use of a trusted secure web service). (See also <a class="sectionRef" href="#interpreting-provenance-records"></a>.)
</p>
<p>
Provenance may present a route for leakage of privacy-related information, combining as it does a diversity of information types with possible personally-identifying information; e.g. editing timestamps may provide clues to the working patterns of document editors, or derivation traces might indicate access to sensitive materials. In particular, note that the fact that a resource is openly accessible does not mean that its provenance should also be. When publishing provenance, its sensitivity SHOULD be considered and appropriate access controls applied where necessary. When a provenance-aware publishing service accepts some resource for publication, the contributors SHOULD have some opportunity to review and correct or conceal any provenance that they don't wish to be exposed. Provenance management systems SHOULD embody mechanisms for enforcement and auditing of privacy policies as they apply to provenance.
@@ -955,6 +1127,14 @@
<p>
The pingback service described in <a href="#forward-provenance" class="sectionRef"></a> might be abused for "link spamming" (similar to the way that weblog ping-backs have been used to direct viewers to spam sites). As with many such services, an application needs to find a balance between maintaining ease of submission for useful information and blocking unwanted information. We have no easy solutions for this problem, and the caveats noted above about establishing integrity of provenance records apply similarly to information provided by ping-back calls.
</p>
+ <p>
+ When clients and servers are retrieving submitted URIs such as provenance descriptions and following or registering links; reasonable care should be taken to prevent malicious use such as distributed denial of service attacks (DDoS), cross-site request forgery (CSRF), spamming and hosting of inappropriate materials. Reasonable preventions might include same-origin policy, HTTP authorization, SSL, rate-limiting, spam filters, moderation queues, user acknowledgements and validation. It is out of scope for this document to specify how such mechanisms work and should be applied.
+ </p>
+ <p class="TODO">
+ Is CSRF a real threat here? How?
+ </p>
+ <p>Accessing provenance services might reveal to the service and third-parties information which is considered private, including which resources a client has taken interest in. For instance, a browser extension which collects all provenance data for a resource which is being saved to the local disk, could be revealing user interest in a sensitive resource to a third-party site listed by <code>prov:has_provenance</code> or <code>prov:has_query_service</code> relation. A detailed query submitted to a third-party provenance query service might be revealing personal information such as social security numbers. Accordingly, user agents in particular SHOULD NOT follow provenance and provenance service links without first obtaining the user's explicit permission to do so.
+ </p>
</section>
<!-- ===================================================================================== -->
@@ -965,6 +1145,9 @@
The editors acknowledge the contribution and review from members of the W3C Provenance working group for their feedback throughout the development of this specification.
</p>
<p>
+ The provenance query service description and forward provenance specifications are substantially based on proposals by Stian Soiland-Reyes (University of Manchester).
+ </p>
+ <p>
Thanks to Robin Berjon for making our lives easier with his <a href="http://dev.w3.org/2009/dap/ReSpec.js/documentation.html" class="externalRef">ReSpec</a> tool.
</p>
</section>
@@ -974,60 +1157,88 @@
<section class='appendix'>
<h2 id="prov-namespace">Terms added to prov: namespace</h2>
+ <p class="TODO">
+ Possible renaming of service description relations to lowercase-only forms?
+ </p>
+
<p>
This specification defines the following additional names in the provenance namespace
with URI <a href="http://www.w3.org/ns/prov#" class="externalRef">http://www.w3.org/ns/prov#</a>.
</p>
- <table>
- <tr>
- <th>Name</th><th>Description</th><th>Definition ref</th>
- </tr>
- <tr style="vertical-align: top;">
- <td><code>ProvenanceQueryService</code></td>
- <td>Type for a generic provenance query service. Mainly for use in RDF provenance query service descriptions, to facilitate discovery in linked data environments.</td>
- <td><a href="#provenance-query-service-discovery" class="sectionRef"></a></td>
- </tr>
- <tr style="vertical-align: top;">
- <td><code>DirectQueryService</code></td>
- <td>Type for a direct HTTP query service description. Mainly for use in RDF provenance query service descriptions, to distinguish direct HTTP query service descriptions from other query service descriptions.</td>
- <td><a href="#direct-http-query-service" class="sectionRef"></a></td>
- </tr>
- <tr style="vertical-align: top;">
- <td><code>hasAnchor</code></td>
- <td>Indicates an <a class="internalDFN">entity-URI</a> for an <a class="internalDFN">entity</a>, used by an associated provenance record.</td>
- <td><a href="#resource-represented-as-html" class="sectionRef"></a>, <a href="#resource-represented-as-rdf" class="sectionRef"></a></td>
- </tr>
- <tr style="vertical-align: top;">
- <td><code>hasProvenance</code></td>
- <td>Indicates a <a class="internalDFN">provenance-URI</a> for a resource; the resource identified by this property presents a provenance record about its subject or anchor resource.
- </td>
- <td><a href="#resource-accessed-by-http" class="sectionRef"></a>, <a href="#resource-represented-as-html" class="sectionRef"></a></td>
- </tr>
- <tr style="vertical-align: top;">
- <td><code>hasQueryService</code></td>
- <td>Indicates a <a class="internalDFN">provenance query service</a> that can access provenance related to its subject or anchor resource.</td>
- <td><a href="#specifying-provenance-query-services" class="sectionRef"></a></td>
- </tr>
- <tr style="vertical-align: top;">
- <td><code>provenanceUriTemplate</code></td>
- <td>Indicates a URI template string for constructing provenance-URIs</td>
- <td><a href="#direct-http-query-service" class="sectionRef"></a></td>
- </tr>
- <tr style="vertical-align: top;">
- <td><code>provPingback</code></td>
- <td>Relates a resource to a provenance pingback service that may receive provenance about the resource.</td>
- <td><a href="#forward-provenance" class="sectionRef"></a></td>
- </tr>
- </table>
- <p class="note">
- It is tempting to think of <code>prov:DirectQueryService</code> as a particular kind of <code>prov:ProvenanceQueryService</code>, but they are, in practice, distinct resources.
- <br/>
- <br/>
- This is seen when one considers that a <code>prov:ProvenanceQueryService</code> may have multiple query mechanisms associated with it (e.g. a <code>prov:DirectQueryService</code> <em>and</em> an <code>sd:Service</code>). Also, they serve quite different purposes in the process of using provenance query services: look for <code>prov:ProvenanceQueryService</code> to discover query services of any kind, then for associated <code>prov:DirectQueryService</code> or <code>sd:Service</code> resources to get details of specific mechanisms to use to access the service.
- </p>
- <p class="TODO">
- review provPingback in light of Stian's proposal
- </p>
+ <table>
+ <tr>
+ <th>Name</th><th>Description</th><th>Definition ref</th>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>ServiceDescription</code></td>
+ <td>Type for a generic provenance query service. Mainly for use in RDF provenance query service descriptions, to facilitate discovery in linked data environments.</td>
+ <td><a href="#provenance-query-service-discovery" class="sectionRef"></a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>DirectQueryService</code></td>
+ <td>Type for a direct HTTP query service description. Mainly for use in RDF provenance query service descriptions, to distinguish direct HTTP query service descriptions from other query service descriptions.</td>
+ <td><a href="#direct-http-query-service-description" class="sectionRef"></a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>has_anchor</code></td>
+ <td>Indicates a <a class="internalDFN">target-URI</a> for an resource, used by an associated provenance record.</td>
+ <td><a href="#resource-represented-as-html" class="sectionRef"></a>, <a href="#resource-represented-as-rdf" class="sectionRef"></a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>has_provenance</code></td>
+ <td>Indicates a <a class="internalDFN">provenance-URI</a> for a resource; the resource identified by this property presents a provenance record about its subject or anchor resource.
+ </td>
+ <td><a href="#resource-accessed-by-http" class="sectionRef"></a>, <a href="#resource-represented-as-html" class="sectionRef"></a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>has_query_service</code></td>
+ <td>Indicates a <a class="internalDFN">provenance query service</a> that can access provenance related to its subject or anchor resource.</td>
+ <td><a href="#specifying-provenance-query-services" class="sectionRef"></a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>describesService</code></td>
+ <td>relates a generic provenance query service resource (type <code>prov:ServiceDescription</code>) to a specific query service description (e.g. a <code>prov:DirectQueryService</code> or a <code>sd:Service</code>).</td>
+ <td><a href="#provenance-query-service-description" class="sectionRef"></a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>provenanceUriTemplate</code></td>
+ <td>Indicates a URI template string for constructing provenance-URIs</td>
+ <td><a href="#direct-http-query-service-description" class="sectionRef"></a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>pingback</code></td>
+ <td>Relates a resource to a provenance pingback service that may receive forward provenance links about the resource.</td>
+ <td><a href="#forward-provenance" class="sectionRef"></a></td>
+ </tr>
+
+ <!--
+ <tr style="vertical-align: top;">
+ <td><code>...</code></td>
+ <td>...</td>
+ <td><a href="#..." class="sectionRef"></a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>...</code></td>
+ <td>...</td>
+ <td><a href="#..." class="sectionRef"></a></td>
+ </tr>
+ <tr style="vertical-align: top;">
+ <td><code>...</code></td>
+ <td>...</td>
+ <td><a href="#..." class="sectionRef"></a></td>
+ </tr>
+ -->
+
+ </table>
+
+ <p>
+ The ontology describing these terms is at <a href="https://dvcs.w3.org/hg/prov/raw-file/default/paq/prov-aq.ttl" class="externalRef">paq/prov-aq.ttl</a> or <a href="https://dvcs.w3.org/hg/prov/raw-file/default/paq/prov-aq.ttl" class="externalRef">paq/prov-aq.owl</a>
+ </p>
+
+ <p class="TODO">
+ Update when location and copy finalized.
+ </p>
+
</section>
<!-- ===================================================================================== -->
@@ -1038,7 +1249,7 @@
Update copy of mercurial change log, changes since 19 June.
<!--
hg log -r tip:d0af0446868d \
- --template "<dt>{date|isodate} {node|short} {author}</dt><dd>{desc}</dd>\n" \
+ - -template "<dt>{date|isodate} {node|short} {author}</dt><dd>{desc}</dd>\n" \
prov-aq.html
-->
</p>
@@ -1058,7 +1269,7 @@
<dt>2013-01-10 15:43 +0100 cb49c07522ff Paul Groth <p.t.groth@vu.nl></dt><dd>updated to fix minor editorial errors</dd>
<dt>2013-01-04 14:23 +0000 47a1f3baf67a Graham Klyne</dt><dd>Editorial tweaks</dd>
<dt>2013-01-04 13:26 +0000 a374c48027b9 Graham Klyne</dt><dd>Separate prov:DirectQueryService (specifric mechanism) from prov:ProvenanceQueryService (generic)</dd>
- <dt>2013-01-04 13:11 +0000 7b4580bd6d52 Graham Klyne</dt><dd>Fix some section cross-references; rename 'prov:hasProvenanceService' as 'prov:hasQueryService'</dd>
+ <dt>2013-01-04 13:11 +0000 7b4580bd6d52 Graham Klyne</dt><dd>Fix some section cross-references; rename 'prov:has_provenanceService' as 'prov:has_query_service'</dd>
<dt>2013-01-04 13:03 +0000 f00efdbb4f6e Graham Klyne</dt><dd>Reorganize provenance query service description to accommodate SPARQL (ISSUE 601); 'rename provenance service' as 'provenance query service'; rename 'prov:ProvenanceService' as 'prov:ProivenanceQueryService'</dd>
<dt>2012-12-10 22:40 +0000 08deb1462a7c Graham Klyne</dt><dd>Fix apostrophe</dd>
<dt>2012-12-10 19:03 +0000 f0f315c6781c Graham Klyne</dt><dd>Fold in Jun's editorial comments. Remove reference to POWDER</dd>
@@ -1068,7 +1279,7 @@
<dt>2012-11-26 11:08 +0000 b811ccb53b45 Graham Klyne</dt><dd>Update forward provenance (pingback) in response to comments; fix text around VoID example</dd>
<dt>2012-11-20 16:00 +0000 839d503bd064 Graham Klyne</dt><dd>Added specification for pingback link header (ISSUE 600)</dd>
<dt>2012-11-20 14:15 +0000 0e668b4ce436 Graham Klyne</dt><dd>Tidy up some text</dd>
- <dt>2012-11-20 14:03 +0000 3cba6f76b797 Graham Klyne</dt><dd>Expanded discussion of provenance service discovery to include prov:hasProvenanceService</dd>
+ <dt>2012-11-20 14:03 +0000 3cba6f76b797 Graham Klyne</dt><dd>Expanded discussion of provenance service discovery to include prov:has_provenanceService</dd>
<dt>2012-11-20 12:22 +0000 44586518f842 Graham Klyne</dt><dd>Remove speculative non-specification text to be covered in FAQ (ISSUES 426, 598)</dd>
<dt>2012-11-20 11:36 +0000 2f1a8ca558a8 Graham Klyne</dt><dd>Added section with table of URIs and what they dereference to (ISSUE 424)</dd>
<dt>2012-11-20 10:37 +0000 d2acceb63c0b Graham Klyne</dt><dd>Make treatment of direct retrieval and service for provenance access more equally visible (ISSUE 422)</dd>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/provenance/prov-dictionary.ttl Thu Feb 28 00:12:50 2013 +0100
@@ -0,0 +1,7 @@
+
+@prefix prov: <http://www.w3.org/ns/prov#> .
+
+
+<http://www.w3.org/TR/prov-dictionary/> a prov:Entity.
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/provenance/prov-links.ttl Thu Feb 28 00:12:50 2013 +0100
@@ -0,0 +1,7 @@
+
+@prefix prov: <http://www.w3.org/ns/prov#> .
+
+
+<http://www.w3.org/TR/prov-links/> a prov:Entity.
+
+
--- a/provenance/prov-o.ttl Mon Feb 25 17:07:43 2013 +0100
+++ b/provenance/prov-o.ttl Thu Feb 28 00:12:50 2013 +0100
@@ -1,19 +1,21 @@
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+@prefix : <#> .
<http://www.w3.org/TR/prov-o/> a prov:Entity.
<http://www.w3.org/TR/2012/CR-prov-o-20121211/>
prov:specializationOf <http://www.w3.org/TR/prov-o/>;
prov:wasRevisionOf <http://www.w3.org/TR/2012/WD-prov-o-20120724/>;
- prov:wasAttributedTo <http://tw.rpi.edu/instances/TimLebo>;
+ prov:wasAttributedTo <http://tw.rpi.edu/instances/TimLebo>,
+ :StianSoilandReyes ;
#Satya Sahoo, Case Western Reserve University, USA
#Deborah McGuinness, Rensselaer Polytechnic Institute, USA
#Khalid Belhajjame, University of Manchester, UK
#James Cheney, University of Edinburgh, UK
#David Corsar, University of Aberdeen, UK
#Daniel Garijo, Universidad Politécnica de Madrid, Spain
- #Stian Soiland-Reyes, University of Manchester, UK
#Stephan Zednik, Rensselaer Polytechnic Institute, USA
#Jun Zhao, University of Oxford, UK
@@ -21,14 +23,30 @@
prov:wasInfluencedBy <http://www.w3.org/TR/2012/CR-prov-o-20121211/#acknowledgements>;
.
+
+# Is this the correct URI for the group? With or without the /?
<http://www.w3.org/2011/prov>
- a prov:Organization;
+ a prov:Organization, foaf:Group;
+ foaf:homePage <http://www.w3.org/2011/prov/wiki/Main_Page> ;
+ dcterms:isPartOf [
+ # TODO: What is the proper URI for w3c the organization?
+ a foaf:Organization;
+ foaf:homepage <http://www.w3.org/> ;
+ ] ;
+ foaf:name "W3C Provenance Working Group" ;
+ foaf:member :TimLebo,
+ :StianSoilandReyes;
+ ## and others!
.
<http://www.w3.org/TR/2012/CR-prov-o-20121211/#acknowledgements>
a prov:Organization;
.
+
+## TODO: Should we not outsource the FOAFs to say wg-foaf.ttl
+## and simply owl:import or rdfs:seeAlso it here?
+
<#TimLebo>
prov:specializationOf <http://tw.rpi.edu/instances/TimLebo>;
a prov:Person;
@@ -44,13 +62,29 @@
prov:alternateOf <http://purl.org/twc/id/person/TimLebo>;
.
+
+:StianSoilandReyes a prov:Person, foaf:Person ;
+ prov:specializationOf <http://soiland-reyes.com/stian/#me> ;
+ prov:actedOnBehalfOf <http://dbpedia.org/page/University_of_Manchester> ;
+ foaf:name "Stian Soiland-Reyes"@en ;
+ foaf:account <http://www.w3.org/2011/prov/wiki/User:Ssoiland> ;
+ foaf:page <http://soiland-reyes.com/stian/about/> ;
+ foaf:homepage <http://soiland-reyes.com/stian/> ;
+ foaf:weblog <http://soiland-reyes.com/stian/> ;
+ foaf:workInfoHomepage <http://soiland-reyes.com/stian/work/> ;
+ foaf:workplaceHomepage <http://www.mygrid.org.uk/>, <http://www.manchester.ac.uk/> .
+
+<http://dbpedia.org/page/University_of_Manchester> a foaf:Organization ;
+ foaf:name "University of Manchester" ;
+ foaf:member :StianSoilandReyes ;
+ foaf:homepage <http://www.manchester.ac.uk/> .
+
#Satya Sahoo, Case Western Reserve University, USA
#Deborah McGuinness, Rensselaer Polytechnic Institute, USA
#Khalid Belhajjame, University of Manchester, UK
#James Cheney, University of Edinburgh, UK
#David Corsar, University of Aberdeen, UK
#Daniel Garijo, Universidad Politécnica de Madrid, Spain
-#Stian Soiland-Reyes, University of Manchester, UK
#Stephan Zednik, Rensselaer Polytechnic Institute, USA
#Jun Zhao, University of Oxford, UK
--- a/xml/prov-xml.html Mon Feb 25 17:07:43 2013 +0100
+++ b/xml/prov-xml.html Thu Feb 28 00:12:50 2013 +0100
@@ -147,7 +147,7 @@
editors: [
{ name: "(In alphabetical order)" },
{ name: "Hook Hua",
- company: "Jet Propulsion Laboratory / California Institute of Technology" },
+ company: "Invited Expert" },
{ name: "Curt Tilmes",
company: "National Aeronautics and Space Administration" },
{ name: "Stephan Zednik",
@@ -2131,6 +2131,48 @@
</section> <!-- end further-elements -->
+<section id="structural-elements">
+<h3>Structural Elements of PROV-XML</h3>
+
+<section id="term-Document">
+<h4>Document</h4>
+<p>The root element of all PROV-XML documents is <code>prov:document</code> which has 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>
+<ul>
+<li>may contain <code>prov:bundle</code> elements (but not other <code>prov:document</code> elements)</li>
+<li>does not support the prov:id attribute.</li>
+</ul>
+</p>
+<pre class="schema-type">
+<xs:complexType name="Document">
+ <xs:sequence maxOccurs="unbounded">
+ <xs:group ref="prov:documentElements" minOccurs="0"/>
+ <xs:element name="bundleContent" type="prov:BundleConstructor" minOccurs="0"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" />
+ </xs:sequence>
+</xs:complexType>
+</pre>
+
+<p>The element <code>prov:document</code> may only be used as the root element of a a PROV-XML document.</p>
+<pre class="schema-element" element="prov:document" schemaType="prov:Document" ignore>
+<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="document" type="prov:Document"/>
+</pre>
+<pre class="example" title="prov:document">
+<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>
+</section> <!-- end term-Document-->
+
+</section> <!-- end structural-elements -->
+
</section> <!-- end schema-components -->
@@ -2168,9 +2210,9 @@
<dt>Required parameters:</dt>
<dd>none</dd>
<dt>Optional parameters:</dt>
- <dd>charset - this parameter may be required when transferring non-ASCII data across some protocols.</dd>
+ <dd>Same as charset parameter of application/xml as specified in RFC3023 (Section 3.2).</dd>
<dt>Encoding considerations:</dt>
- <dd>The syntax of PROV-XML is expressed over code points in Unicode [[!UNICODE]]</dd>
+ <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 [[!RFC3023]] 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 ([[!RFC3023]] section 10) provide additional guidance around the expression of arbitrary data and markup.</dd>
@@ -2182,28 +2224,30 @@
<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="http://www.w3.org/TR/prov-xml/">http://www.w3.org/TR/prov-xml/</a>, 2012.</dd>
+ <dd>PROV-XML: The PROV XML Schema, Hua, Tilmes, Zednik (eds), Moreau <a href="http://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>
<span style="text-indent:2em;">
<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>Base URI:</dt>
- <dd>As in XML.</dd>
<dt>Macintosh file type code(s):</dt>
<dd>"TEXT"</dd>
</span>
- <dt>Person & email address to contact for further information</dt>
+ <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/Change controller:</dt>
- <dd>The PROV-XML specification is the product of the World Wide Web Consortium's Provenance Working Group. The W3C has change control over this specification.</dd>
+ <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 W3C, and the W3C Provenance Working Group, have change control over this specification.</dd>
</dl>
</section> <!-- end media-type -->
@@ -2668,6 +2712,7 @@
</xs:sequence>
</xs:group>
+ <xs:element name="document" type="prov:Document" />
<xs:complexType name="Document">
<xs:sequence maxOccurs="unbounded">
<xs:group ref="prov:documentElements" minOccurs="0"/>