prov-n notation rationale
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Wed, 21 Mar 2012 11:49:12 +0000
changeset 1952 b468571dab93
parent 1951 ef9cdf1d498d
child 1953 564ba6d8b7da
prov-n notation rationale
model/working-copy/wd5-prov-n.html
--- a/model/working-copy/wd5-prov-n.html	Wed Mar 21 10:43:06 2012 +0000
+++ b/model/working-copy/wd5-prov-n.html	Wed Mar 21 11:49:12 2012 +0000
@@ -283,7 +283,7 @@
  <h3>PROV-DM Namespace</h3>
 
 
-<p>The PROV-DM namespace is <span class="name">http://www.w3.org/ns/prov-dm/</span> (TBC).</p>
+<p>The PROV-DM namespace is <span class="name">http://www.w3.org/ns/prov/</span>.</p>
 
 <p> All the elements, relations, reserved names and attributes introduced in this specification belong to the PROV-DM namespace.</p>
 
@@ -307,10 +307,76 @@
 </section> 
 
 
+<section id="grammar-notation"> 
+<h3>Design Rationale for PROV-N</h3>
+
+<p>A key driver for the PROV-DM is a machine-processable data model for provenance so that application having obtained the provenance of the resource they manipulate can reason about such provenance. As such, representations of PROV-DM are available in RDF and XML.
+</p>
+
+<p>However, communicating provenance between humans is also important when teaching, illustrating, formalizing, and discussing provenance-related issues.  To this end, PROV-N is a notation that is designed to  write down instances of the PROV-DM data model in a compact textual form, without the syntactic bagage and constraints coming with a markup language such as XML or a description framework such as RDF. </p>
+
+<ul>
+<li>PROV-N adopts a <em>functional notation</em> consisting a name and a series of arguments in bracket.</li>
+<pre class="example" >
+wasDerivedFrom(e2, e1, a, g2, u1)
+</pre>
+
+<li>The interpretation of PROV-N arguments is defined according to their <em>position</em> in the list of arguments. This convention allows for a compact notation. </li>
+
+<li><p>To allow for a compact notation,
+PROV-N <em>optional arguments</em> need not be specified (when this does not lead to ambiguity).</p>
+<p>The activity, generation, and usage are specified in the first derivation, whereas they are not in the second.</p>
+<pre class="example" >
+wasDerivedFrom(e2, e1, a, g2, u1)
+wasDerivedFrom(e2, e1)
+</pre>
+
+<p>Activity <span class="name">a1</span> does not have start and end times specified, whereas <span class="name">a2</span> does</p>
+<pre class="example" >
+activity(a1)
+activity(a2, 2011-11-16T16:00:00, 2011-11-16T16:00:01)
+</pre>
+</li>
+
+<li><p>For cases where it is desirable to indicate which arguments have not been specified, PROV-N uses  the <em>syntactic marker</em> <span class="name">-</span> for unspecified arguments.</p>
+<p>The activity, generation, and usage are specified in the first derivation, whereas they are not in the second, but have been explicitly marked as such.</p>
+<pre class="example" >
+wasDerivedFrom(e2, e1, a, g2, u1)
+wasDerivedFrom(e2, e1, -, -, -)
+</pre>
+
+<p>Activity <span class="name">a1</span> does not have start and end times specified, but  they are been marked syntactically.</p>
+<pre class="example" >
+activity(a1, -, -)
+activity(a2, 2011-11-16T16:00:00, 2011-11-16T16:00:01)
+</pre>
+</li>
+
+<li><p>The identifier always occur in <em>first position</em>.   For expressions with optional identifier, it may be expressed by the syntactic marker  <span class="name">-</span>.</p>
+
+<p>Derivation has an optional identifier. In the first derivation, the identifier is not expressed. It is explicit in the second, and marked by a <span class="name">-</span> in the third.</p>
+<pre class="example" >
+wasDerivedFrom(e2, e1)
+wasDerivedFrom(d, e2, e1)
+wasDerivedFrom(-, e2, e1)
+</pre>
+
+<li><p>Most expressions have an optional set of name-value pairs, which occur in <em>last position</em>, and delimited by square brackets. </p>
+<pre class="example" >
+activity(ex:a10)
+activity(ex:a10, [])
+activity(ex:a10, [prov:type="createFile"])
+activity(ex:a10, [ex:param="a", ex:param="b"])
+</pre>
+
+</ul>
 
 
 
-    <section id="grammar-notation"> 
+
+</section>
+
+<section id="grammar-notation"> 
 <h3>Grammar Notation</h3>
 
 <p>This specification includes a grammar for PROV-N expressed using the Extended  Backus-Naur Form (EBNF) notation.</p>
@@ -353,7 +419,10 @@
 <section id="components"> 
 <h2>PROV-N Productions per Component</h2>
 
-<p>Instances of the PROV-DM data model are expressed in PROV-N by a text conformant with the toplevel <a>production</a> <span class="nonterminal">expression</span> of the grammar. 
+<p>A PROV-N document allows writing down instances of the PROV-DM data model in a compact textual form. It consists of a sequence of expressions.</p>
+
+
+<p>Instances of the PROV-DM data model are expressed in PROV-N by a text conformant with the toplevel <a>production</a> <span class="nonterminal">expression</span> of the grammar. </p>
 
 <div class='grammar'>
 <table border="0" style="background: white;">