prov-n notation rationale
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Wed, 21 Mar 2012 13:00:12 +0000
changeset 1954 e810b4f73529
parent 1953 564ba6d8b7da
child 1955 d20e3a46d114
prov-n notation rationale
model/working-copy/wd5-prov-n.html
--- a/model/working-copy/wd5-prov-n.html	Wed Mar 21 12:26:06 2012 +0000
+++ b/model/working-copy/wd5-prov-n.html	Wed Mar 21 13:00:12 2012 +0000
@@ -310,64 +310,78 @@
 <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>A key goal of PROV-DM is the specification of 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>
+<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 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" >
+<div class="anexample">
+<pre class="codeexample" >
 wasDerivedFrom(e2, e1, a, g2, u1)
 </pre>
+</div>
 
 <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,
+<li><p>
 PROV-N <em>optional arguments</em> need not be specified (when this does not lead to ambiguity).</p>
+<div class="anexample">
 <p>The activity, generation, and usage are specified in the first derivation, whereas they are not in the second.</p>
-<pre class="example" >
+<pre class="codeexample" >
 wasDerivedFrom(e2, e1, a, g2, u1)
 wasDerivedFrom(e2, e1)
 </pre>
+</div>
 
+<div class="anexample">
 <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" >
+<pre class="codeexample" >
 activity(a1)
 activity(a2, 2011-11-16T16:00:00, 2011-11-16T16:00:01)
 </pre>
+</div>
 </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>
+<div class="anexample">
 <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" >
+<pre class="codeexample" >
 wasDerivedFrom(e2, e1, a, g2, u1)
 wasDerivedFrom(e2, e1, -, -, -)
 </pre>
+</div>
 
 <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" >
+<div class="anexample">
+<pre class="codeexample" >
 activity(a1, -, -)
 activity(a2, 2011-11-16T16:00:00, 2011-11-16T16:00:01)
 </pre>
+</div>
 </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" >
+<div class="anexample">
+<pre class="codeexample" >
 wasDerivedFrom(e2, e1)
 wasDerivedFrom(d, e2, e1)
 wasDerivedFrom(-, e2, e1)
 </pre>
+</div>
 
 <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" >
+<div class="anexample">
+<pre class="codeexample" >
 activity(ex:a10)
 activity(ex:a10, [])
 activity(ex:a10, [prov:type="createFile"])
 activity(ex:a10, [ex:param="a", ex:param="b"])
 </pre>
+</div>
 
 </ul>