--- a/model/ProvenanceModel.html Wed Sep 14 12:47:00 2011 +0100
+++ b/model/ProvenanceModel.html Wed Sep 14 13:25:40 2011 +0100
@@ -497,14 +497,14 @@
<p>PROV-DM consists of a set of constructs to formulate representations of the world and constraints that must be satisfied by them. In PROV-ASN, such representations of the world MUST be conformant with the toplevel production <span class="nonterminal">expression</span> of the grammar. These <span class="nonterminal">expression</span>s are grouped in three categories:
<span class="nonterminal">elementExpression</span> (see section <a href="expression-element">Element</a>),
<span class="nonterminal">relationExpression</span> (see section <a href="expression-relation">Relation</a>), and
-<span class="nonterminal">bundleExpression</span> (see section <a href="expression-bundle">Bundle</a>).
+<span class="nonterminal">accountExpression</span> (see section <a href="expression-account">Account</a>).
<div class='grammar'>
<span class="nonterminal">expression</span> :=
<span class="nonterminal">elementExpression</span>
| <span class="nonterminal">relationExpression</span>
-| <span class="nonterminal">bundleExpression</span>
+| <span class="nonterminal">accountExpression</span>
<br/>
<!-- -->
<span class="nonterminal">elementExpression</span> :=
@@ -525,10 +525,11 @@
| <span class="nonterminal">annotationAssociationExpression</span> <br/>
<!-- -->
<span class="nonterminal">bundleExpression</span> :=
-<span class="nonterminal">provenanceContainerExpression</span>
+
| <span class="nonterminal">accountExpression</span>
</div>
+Furthermore, the PROV data model includes a "house-keeping construct" acting as a wrapper for shipping PROV-DM expressions, which is compliant with the production <span class="nonterminal">provenanceContainer</span> (see section <a href="#ProvenanceContainer">Provenance Container</a>).
</section>
@@ -652,8 +653,9 @@
[ <span class="name">,</span>
<span class="nonterminal">time</span> ]
<span class="name">,</span>
-<span class="nonterminal">attribute-values</span>
+<span class="nonterminal">other-attribute-values</span>
<span class="name">)</span><br/>
+<span class="nonterminal">other-attribute-values</span> := <span class="nonterminal">attribute-values</span>
</div>
<div class='note'>Ambiguity of the grammar is noted for optional start and end times. To be resolved once definition of pe is agreed.</div>
@@ -1619,96 +1621,15 @@
</section>
</section>
-<section id="expression-bundle">
+<section id="bundle">
<h3>Bundle</h3>
-A bundle expression is a grouping construct allowing a set of
-expressions to be grouped together. The reason for grouping
-assertertions is, e.g., to attribute them to their asserter, to
-provide some scope to their identifiers, to sign them.
-
-
-
-In PROV-ASN, a bundle expression
-matches the <span class="nonterminal">bundle</span> production of the
-grammar defined in this specification document; it can be
-a <span class="nonterminal">provenanceContainer</span> or
-an <span class="nonterminal">account</span>, introduced in turn.
-
-<div class='grammar'>
-<span class="nonterminal">bundle</span> :=
-<span class="nonterminal">provenanceContainer</span> | <span class="nonterminal">account</span>
-</div>
-
-
-
-<section id="expression-ProvenanceContainer">
-<h4>Provenance Container</h4>
-
-<p>A <dfn id="dfn-ProvenanceContainer">provenance container expression</dfn> is an identifiable wrapper for a set of PROV-DM expressions, which allows for additional meta-information pertaining to these expressions to be expressed and associated with them. A provenance container expression MAY contain other provenance containers.</p>
-
-<p>Such meta-information may be asserter, date of creation, justification for assertions, and cryptographic signature. </p>
-
-<p>In PROV-ASN, a provenance container expression's text matches the <span class="nonterminal">provenanceContainer</span> production of the grammar defined in this specification document.</p>
-
-
-<div class='grammar'>
-<span class="nonterminal">provenanceContainer</span> :=
-<span class="name">provenanceContainer</span>
-<span class="name">(</span>
-<span class="nonterminal">identifier</span>
-<span class="name">,</span>
-<span class="name">[</span>
-{ <span class="nonterminal">expression</span> }
-<span class="name">]</span>
-<span class="name">)</span>
-</div>
-
-<p>An instance of a provenance container expression, noted <span class="name">provenanceContainer(id, constructs)</span> in PROV-ASN:
-<ul>
-<li> contains an identifier <span class="name">id</span> intended to name this provenance container;</li>
-<li> contains zero or more provenance constructs <span class="name">constructs</span>.</li>
-</ul>
-
-<p>How general meta-information is expressed is beyond the scope of this specification, except for a few key metatypes specified in the <a href="#expression-Account">Account</a> construct.</p>
-
-<p>
-The following container expression
-<pre class="example">
-containerExpression(v, [
- entity(e1, [ type: "File", location: "/shared/crime.txt", creator: "Alice", content: "" ])
- wasGeneratedBy(e1,pe0,outContent)
- processExecution(pe0,create-file,t)
- ...
- ] )
-</pre>
-contains a set of provenance expressions and identified by <span class="name">v</span>.
-</p>
-
-
-<div class='pending'>Asserter needs to be defined. This is <a href="http://www.w3.org/2011/prov/track/issues/51">ISSUE-51</a>.</div>
-
-<div class='note'>The scope of identifiers needs to be discussed. We should recycle the following text which appeared in a previous version.
-
-<p>The data model includes a notion of "provenance container" that is
- a logical grouping for a set of assertions. It serves multiple
- purposes. First, it provides a way to attach various metadata to the
- set of assertions. Second, it provides a scope in which some constraints may apply.
- Third, it provides a default scope for
- identifiers used in assertions. This means that identifiers are
- expected to be resolvable only within the scope of a container,
- rather than globally. Optionally, identifiers can be exported so that
- they can be used outside their default scope. Finally, the data
- model does not prescribe the mechanisms by which identifiers are
- generated.</p>
-
-
-</div>
-
-<div class='issue'>Scope and Identifiers. This is <a href="http://www.w3.org/2011/prov/track/issues/81">ISSUE-81</a>.</div>
-
-
-</section>
+In this section, we introduce two constructs allowing us to group
+PROV-DM expressions. The first
+one, <span class="nonterminal">accountExpression</span> is itself an
+expression, whereas the second
+one <span class="nonterminal">provenanceContainer</span> is not.
+
<section id="expression-Account">
<h3>Account</h3>
@@ -1785,31 +1706,78 @@
with identifier <span class="name">v3</span>, and containing assertions by agent denoted by <span class="name">a2</span> stating that entity denoted by <span class="name">e1</span> was generated by process execution <span class="name">pe1</span> instead of <span class="name">pe0</span> in agent <span class="name">a1</span>'s account <span class="name">v1</span>. If both account are merged together, the resulting set of expressions violates <a href="#generation-unicity">generation-unicity</a>.
</p>
+</section>
+
+<section id="ProvenanceContainer">
+<h4>Provenance Container</h4>
+
+<p>A <dfn id="dfn-ProvenanceContainer">provenance container expression</dfn> is an identifiable wrapper for a set of PROV-DM expressions, which allows for additional meta-information pertaining to these expressions to be expressed and associated with them. A provenance container expression MAY contain other provenance containers.</p>
+
+<p>Such meta-information may be asserter, date of creation, justification for assertions, and cryptographic signature. </p>
+
+<p>In PROV-ASN, a provenance container expression's text matches the <span class="nonterminal">provenanceContainer</span> production of the grammar defined in this specification document.</p>
+
+
+<div class='grammar'>
+<span class="nonterminal">provenanceContainer</span> :=
+<span class="name">provenanceContainer</span>
+<span class="name">(</span>
+<span class="nonterminal">identifier</span>
+<span class="name">,</span>
+<span class="name">[</span>
+{ <span class="nonterminal">expression</span> }
+<span class="name">]</span>
+<span class="name">)</span>
+</div>
+
+<p>An instance of a provenance container expression, noted <span class="name">provenanceContainer(id, constructs)</span> in PROV-ASN:
+<ul>
+<li> contains an identifier <span class="name">id</span> intended to name this provenance container;</li>
+<li> contains zero or more provenance constructs <span class="name">constructs</span>.</li>
+</ul>
+
+<p>How general meta-information is expressed is beyond the scope of this specification, except for a few key metatypes specified in the <a href="#expression-Account">Account</a> construct.</p>
+
+<p>
+The following container expression
+<pre class="example">
+containerExpression(v, [
+ entity(e1, [ type: "File", location: "/shared/crime.txt", creator: "Alice", content: "" ])
+ wasGeneratedBy(e1,pe0,outContent)
+ processExecution(pe0,create-file,t)
+ ...
+ ] )
+</pre>
+contains a set of provenance expressions and identified by <span class="name">v</span>.
+</p>
+
+
+<div class='pending'>Asserter needs to be defined. This is <a href="http://www.w3.org/2011/prov/track/issues/51">ISSUE-51</a>.</div>
+
+<div class='note'>The scope of identifiers needs to be discussed. We should recycle the following text which appeared in a previous version.
+
+<p>The data model includes a notion of "provenance container" that is
+ a logical grouping for a set of assertions. It serves multiple
+ purposes. First, it provides a way to attach various metadata to the
+ set of assertions. Second, it provides a scope in which some constraints may apply.
+ Third, it provides a default scope for
+ identifiers used in assertions. This means that identifiers are
+ expected to be resolvable only within the scope of a container,
+ rather than globally. Optionally, identifiers can be exported so that
+ they can be used outside their default scope. Finally, the data
+ model does not prescribe the mechanisms by which identifiers are
+ generated.</p>
+
+
+</div>
+
+<div class='issue'>Scope and Identifiers. This is <a href="http://www.w3.org/2011/prov/track/issues/81">ISSUE-81</a>.</div>
+
</section>
+
</section>
-<section id="expression-Collection">
-<h3>Collection</h3>
-
-<div class='note'>To be written in september.</div>
-
-This section is a placeholder for a specification of relations used to express structuring of entities into collections. That is:
-<ul>
- <li>By introducing "entity collection" as a specialization of Entity (this will be a recursive definition: a collection is a type of Entity that contains other Entities, which may be collections). The proposal is to initially introduce nested ordered lists, possibly labelled, as a kind of collection that is grounded in a well-defined theory and is used in practice (i.e., as a model of XML documents)
-
- <li> part-of relations to express current and past membership of Entities as part of a collection.
-
- </ul>
-
-Specifically, the following relations are envisioned (to be made precise later):
- <ul>
- <li> current containment: <strong>wasMemberOf(<entity>, <collection>, <position>)</strong>
- <li> former containment: <strong>wasRemovedFRom(<entity>, <collection>, <position>)</strong>
- <li> new containment: <strong>wasAddedTo(<entity>, <collection>, <position>)</strong>
- </ul>
-
-</section>
<section id="expression-other">
<h3>Other Expressions</h3>
@@ -1958,6 +1926,28 @@
</section>
+<section id="expression-Collection">
+<h3>Collection</h3>
+
+<div class='note'>To be written in september.</div>
+
+This section is a placeholder for a specification of relations used to express structuring of entities into collections. That is:
+<ul>
+ <li>By introducing "entity collection" as a specialization of Entity (this will be a recursive definition: a collection is a type of Entity that contains other Entities, which may be collections). The proposal is to initially introduce nested ordered lists, possibly labelled, as a kind of collection that is grounded in a well-defined theory and is used in practice (i.e., as a model of XML documents)
+
+ <li> part-of relations to express current and past membership of Entities as part of a collection.
+
+ </ul>
+
+Specifically, the following relations are envisioned (to be made precise later):
+ <ul>
+ <li> current containment: <strong>wasMemberOf(<entity>, <collection>, <position>)</strong>
+ <li> former containment: <strong>wasRemovedFRom(<entity>, <collection>, <position>)</strong>
+ <li> new containment: <strong>wasAddedTo(<entity>, <collection>, <position>)</strong>
+ </ul>
+
+</section>
+
</section>