Primer: many minor changes
authorSimon Miles <simon.miles@kcl.ac.uk>
Sat, 07 Jul 2012 15:06:04 +0100
changeset 3772 4335e5f776db
parent 3771 c054eaeeda69
child 3773 ebf9d58d37f5
Primer: many minor changes
primer/Primer.html
--- a/primer/Primer.html	Fri Jul 06 15:29:35 2012 -0400
+++ b/primer/Primer.html	Sat Jul 07 15:06:04 2012 +0100
@@ -518,18 +518,20 @@
             set_display_by_id('hide-turtle-examples','none');
             set_display_by_id('show-turtle-examples','');" />
     <input id="show-turtle-examples" type="button" value="Show Turtle Examples"
-           style="display:none" onclick="
+           style="display:none"
+           onclick="
             set_display_by_class('pre','turtle example','');
             set_display_by_class('div','turtle example','');
             set_display_by_id('hide-turtle-examples','');
             set_display_by_id('show-turtle-examples','none');" />
     <input id="hide-provn-examples" type="button" value="Hide PROV-N Examples"
-           style="display:none" onclick="
+           onclick="
             set_display_by_class('pre','provn example','none');
             set_display_by_class('div','provn example','none');
             set_display_by_id('hide-provn-examples','none');
             set_display_by_id('show-provn-examples','');" />
     <input id="show-provn-examples" type="button" value="Show PROV-N Examples" 
+           style="display:none"
            onclick="
             set_display_by_class('pre','provn example','');
             set_display_by_class('div','provn example','');
@@ -564,11 +566,11 @@
   ex:chart1      a prov:Entity .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-  entity(ex:article, [dcterms:title="Crime rises in cities"])
+  entity(ex:article, [dcterms:title='Crime rises in cities'])
   entity(ex:dataSet1)
   entity(ex:regionList)
   entity(ex:composition)
@@ -607,11 +609,11 @@
   ex:compile a prov:Activity .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     activity(ex:compile)
+  activity(ex:compile)
     </pre>
    </div>
    <p>
@@ -628,16 +630,16 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:compose    a prov:Activity .
-     ex:illustrate a prov:Activity .
+  ex:compose    a prov:Activity .
+  ex:illustrate a prov:Activity .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     activity(ex:compose)
-     activity(ex:illustrate)
+  activity(ex:compose)
+  activity(ex:illustrate)
     </pre>
    </div>
    <p>
@@ -664,18 +666,18 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:compose      prov:used           ex:dataSet1 ;
-                     prov:used           ex:regionList .
-     ex:composition  prov:wasGeneratedBy ex:compose .
+  ex:compose      prov:used           ex:dataSet1 ;
+                  prov:used           ex:regionList .
+  ex:composition  prov:wasGeneratedBy ex:compose .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     used(ex:compose, ex:dataSet1, -)
-     used(ex:compose, ex:regionList, -)
-     wasGeneratedBy(ex:composition, ex:compose, -)
+  used(ex:compose, ex:dataSet1, -)
+  used(ex:compose, ex:regionList, -)
+  wasGeneratedBy(ex:composition, ex:compose, -)
     </pre>
    </div>
    <p>
@@ -686,16 +688,16 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:illustrate prov:used           ex:composition .
-     ex:chart1     prov:wasGeneratedBy ex:illustrate .
+  ex:illustrate prov:used           ex:composition .
+  ex:chart1     prov:wasGeneratedBy ex:illustrate .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     used(ex:illustrate, ex:composition, -)
-     wasGeneratedBy(ex:chart1, ex:illustrate, -)
+  used(ex:illustrate, ex:composition, -)
+  wasGeneratedBy(ex:chart1, ex:illustrate, -)
     </pre>
    </div>
    <p>
@@ -717,16 +719,16 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:compose    prov:wasAssociatedWith ex:derek .
-     ex:illustrate prov:wasAssociatedWith ex:derek .
+  ex:compose    prov:wasAssociatedWith ex:derek .
+  ex:illustrate prov:wasAssociatedWith ex:derek .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     wasAssociatedWith(ex:compose, ex:derek, -)
-     wasAssociatedWith(ex:illustrate, ex:derek, -)
+  wasAssociatedWith(ex:compose, ex:derek, -)
+  wasAssociatedWith(ex:illustrate, ex:derek, -)
     </pre>
    </div>
    <p>
@@ -739,18 +741,19 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:derek a prov:Agent ;
-              a prov:Person ;
-              foaf:givenName "Derek"^^xsd:string ;
-              foaf:mbox      &lt;mailto:derek@example.org&gt; .
+  ex:derek a prov:Agent ;
+           a prov:Person ;
+           foaf:givenName "Derek"^^xsd:string ;
+           foaf:mbox      &lt;mailto:derek@example.org&gt; .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     agent(ex:derek, [ prov:type="prov:Person", foaf:givenName = "Derek", 
-            foaf:mbox= "&lt;mailto:derek@example.org&gt;"])
+  agent(ex:derek,
+        [prov:type='prov:Person', foaf:givenName='Derek', 
+         foaf:mbox='&lt;mailto:derek@example.org&gt;'])
     </pre>
    </div>
    <p>
@@ -762,19 +765,20 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:derek prov:actedOnBehalfOf ex:chartgen .
-     ex:chartgen a prov:Agent ;
-                 a prov:Organization ;
-                 foaf:name "Chart Generators Inc" .
+  ex:derek prov:actedOnBehalfOf ex:chartgen .
+  ex:chartgen a prov:Agent ;
+              a prov:Organization ;
+              foaf:name "Chart Generators Inc" .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     agent(ex:chartgen, [ prov:type="prov:Organization",
-            foaf:name = "Chart Generators Inc"])
-     actedOnBehalfOf(ex:derek, ex:chartgen, ex:compose)
+  agent(ex:chartgen,
+        [prov:type='prov:Organization',
+         foaf:name = 'Chart Generators Inc'])
+  actedOnBehalfOf(ex:derek, ex:chartgen, ex:compose)
     </pre>
    </div>
    <p>
@@ -785,14 +789,14 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:chart1 prov:wasAttributedTo ex:derek .
+  ex:chart1 prov:wasAttributedTo ex:derek .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     wasAttributedTo(ex:chart1, ex:derek)
+  wasAttributedTo(ex:chart1, ex:derek)
     </pre>
    </div>
 
@@ -826,10 +830,10 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:dataToCompose        a prov:Role .
-     ex:regionsToAggregateBy a prov:Role .
-     ex:composedData         a prov:Role .
-     ex:analyst              a prov:Role .
+  ex:dataToCompose        a prov:Role .
+  ex:regionsToAggregateBy a prov:Role .
+  ex:composedData         a prov:Role .
+  ex:analyst              a prov:Role .
     </pre>
     <p>
      Examples in the sections above show descriptions of the simple facts that the
@@ -840,7 +844,7 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:compose prov:used ex:dataSet1 .
+  ex:compose prov:used ex:dataSet1 .
     </pre>
     <p>     
      The
@@ -859,14 +863,14 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:compose prov:qualifiedUsage [
-                   a prov:Usage ;
-                   prov:entity  ex:dataSet1 ;
-                   prov:hadRole ex:dataToCompose 
+  ex:compose prov:qualifiedUsage [
+                a prov:Usage ;
+                prov:entity  ex:dataSet1 ;
+                prov:hadRole ex:dataToCompose 
      ] .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <p>
      In PROV-N, the role is expressed as one of the list of attributes in the used
      expression, with the attribute name <code>prov:role</code>.
@@ -874,7 +878,7 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     used(ex:compose, ex:dataSet1,   -, [ prov:role = "ex:dataToCompose"])
+  used(ex:compose, ex:dataSet1, -, [prov:role='ex:dataToCompose'])
     </pre>
    </div>
    <p>
@@ -885,18 +889,18 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:compose prov:qualifiedUsage [
-                   a prov:Usage ;
-                   prov:entity  ex:regionList ;
-                   prov:hadRole ex:regionsToAggregateBy
+  ex:compose prov:qualifiedUsage [
+                a prov:Usage ;
+                prov:entity  ex:regionList ;
+                prov:hadRole ex:regionsToAggregateBy
      ] .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     used(ex:compose, ex:regionList, -, [ prov:role = "ex:regionsToAggregateBy"])
+  used(ex:compose, ex:regionList, -, [prov:role='ex:regionsToAggregateBy'])
     </pre>
    </div>
    <p>
@@ -909,24 +913,24 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:compose  prov:qualifiedAssociation [
-                   a  prov:Association ;
-                   prov:agent    ex:derek ;
-                   prov:hadRole  ex:analyst
-     ] .
-     ex:composition prov:qualifiedGeneration [
-                        a prov:Generation ;
-                        prov:activity  ex:compose ;
-                        prov:hadRole   ex:composedData
-     ] .
+  ex:compose prov:qualifiedAssociation [
+                a  prov:Association ;
+                prov:agent    ex:derek ;
+                prov:hadRole  ex:analyst
+  ] .
+  ex:composition prov:qualifiedGeneration [
+                     a prov:Generation ;
+                     prov:activity  ex:compose ;
+                     prov:hadRole   ex:composedData
+  ] .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     wasAssociatedWith(ex:compose, ex:derek, -, [ prov:role = "ex:analyst"])
-     wasGeneratedBy(ex:composition, ex:compose, -, [ prov:role = "ex:composedData"])
+  wasAssociatedWith(ex:compose, ex:derek, -, [prov:role='ex:analyst'])
+  wasGeneratedBy(ex:composition, ex:compose, -, [prov:role='ex:composedData'])
     </pre>
    </div>
    <p>
@@ -952,16 +956,16 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:dataSet2 a prov:Entity ;
-                 prov:wasRevisionOf ex:dataSet1 .
+  ex:dataSet2 a prov:Entity ;
+              prov:wasRevisionOf ex:dataSet1 .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     entity(ex:dataSet2)
-     wasRevisionOf(ex:dataSet2, ex:dataSet1, -)
+  entity(ex:dataSet2)
+  wasDerivedFrom(ex:dataSet2, ex:dataSet1, [prov:type='prov:Revision'])
     </pre>
    </div>
    <p>
@@ -974,15 +978,15 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:chart2 a prov:Entity ;
-               prov:wasDerivedFrom ex:dataSet2 .
+  ex:chart2 a prov:Entity ;
+            prov:wasDerivedFrom ex:dataSet2 .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     wasDerivedFrom(ex:chart2, ex:dataSet2)
+  wasDerivedFrom(ex:chart2, ex:dataSet2)
     </pre>
    </div>
    <p>and that the new chart is a revision of the original one:
@@ -991,16 +995,16 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:chart2 a prov:Entity ;
-                 prov:wasRevisionOf ex:chart1 .
+  ex:chart2 a prov:Entity ;
+            prov:wasRevisionOf ex:chart1 .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     entity(ex:chart2)
-     wasRevisionOf(ex:chart2, ex:chart1)
+  entity(ex:chart2)
+  wasDerivedFrom(ex:chart2, ex:chart1, [prov:type='prov:Revision'])
     </pre>
    </div>
    <p>
@@ -1025,18 +1029,18 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:correct      a prov:Activity .
-     ex:edith        a prov:Agent, prov:Person .
-     ex:instructions a prov:Plan .
+  ex:correct      a prov:Activity .
+  ex:edith        a prov:Agent, prov:Person .
+  ex:instructions a prov:Plan .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     activity(ex:correct)
-     agent(ex:edith, [ prov:type="prov:Person" ])
-     entity(ex:instructions)
+  activity(ex:correct)
+  agent(ex:edith, [prov:type='prov:Person'])
+  entity(ex:instructions)
     </pre>
    </div>
    <div class="turtle example">
@@ -1048,22 +1052,23 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:correct prov:qualifiedAssociation [
-                    a Association ;
-                    prov:agent   ex:edith ;
-                    prov:hadPlan ex:instructions
-                ] .
-     ex:dataSet2 prov:wasGeneratedBy ex:correct .
+  ex:correct prov:qualifiedAssociation [
+                 a Association ;
+                 prov:agent   ex:edith ;
+                 prov:hadPlan ex:instructions
+  ] .
+  ex:dataSet2 prov:wasGeneratedBy ex:correct .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <p>
      In PROV-N, the plan is an optional parameter to wasAssociatedWith descriptions.
     </p>
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     wasAssociatedWith(ex:correct, ex:edith, ex:instructions)
+  wasAssociatedWith(ex:correct, ex:edith, ex:instructions)
+  wasGeneratedBy(ex:dataSet2, ex:correct, -)
     </pre>
    </div>
    <p>
@@ -1087,16 +1092,16 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:chart1 prov:generatedAtTime "2012-03-02T10:30:00"^^xsd:dateTime .
-     ex:chart2 prov:generatedAtTime "2012-04-01T15:21:00"^^xsd:dateTime .
+  ex:chart1 prov:generatedAtTime "2012-03-02T10:30:00"^^xsd:dateTime .
+  ex:chart2 prov:generatedAtTime "2012-04-01T15:21:00"^^xsd:dateTime .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     wasGeneratedBy(ex:chart1, ex:compile,  2012-03-02T10:30:00)
-     wasGeneratedBy(ex:chart2, ex:compile2, 2012-04-01T15:21:00)
+  wasGeneratedBy(ex:chart1, ex:compile,  2012-03-02T10:30:00)
+  wasGeneratedBy(ex:chart2, ex:compile2, 2012-04-01T15:21:00)
     </pre>
    </div>
 
@@ -1111,15 +1116,15 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:correct prov:startedAtTime "2012-03-31T09:21:00"^^xsd:dateTime ;
-                prov:endedAtTime   "2012-04-01T15:21:00"^^xsd:dateTime .
+  ex:correct prov:startedAtTime "2012-03-31T09:21:00"^^xsd:dateTime ;
+             prov:endedAtTime   "2012-04-01T15:21:00"^^xsd:dateTime .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     activity(ex:correct, 2012-03-31T09:21:00, 2012-04-01T15:21:00)
+  activity(ex:correct, 2012-03-31T09:21:00, 2012-04-01T15:21:00)
     </pre>
    </div>
    <p>
@@ -1135,22 +1140,22 @@
    <p>
     Before noticing anything wrong with the government data, Betty had already
     posted a blog entry about the article. The blog entry had its own published
-    provenance, stating that it quoted from the article.
+    provenance, stating that it quoted some text from the article.
    </p>
    <div class="turtle example">
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:blogEntry a prov:Entity ;
-                  prov:wasQuotedFrom ex:article .
+  ex:blogEntry a prov:Entity ;
+               prov:wasQuotedFrom ex:article .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     entity(ex:blogEntry)
-     wasQuotedFrom(ex:blogEntry, ex:article)
+  entity(ex:blogEntry)
+  wasDerivedFrom(ex:blogEntry, ex:article, [prov:type='prov:Quotation'])
     </pre>
    </div>
    <p>
@@ -1165,15 +1170,16 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:articleV1 prov:specializationOf ex:article .
+  ex:articleV1 a prov:Entity ;
+               prov:specializationOf ex:article .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     entity(ex:articleV1)
-     specializationOf(ex:articleV1, ex:article)
+  entity(ex:articleV1)
+  specializationOf(ex:articleV1, ex:article)
     </pre>
    </div>
    <p>
@@ -1188,16 +1194,16 @@
     <div class="exampleheader">
      <span class="exampleheader"><b>Turtle Example</b></span></div>
     <pre>
-     ex:articleV2 prov:specializationOf ex:article .
-     ex:articleV2 prov:alternateOf      ex:articleV1 .
+  ex:articleV2 prov:specializationOf ex:article .
+  ex:articleV2 prov:alternateOf      ex:articleV1 .
     </pre>
    </div>
-   <div class="provn example" style="display:none">
+   <div class="provn example">
     <div class="exampleheader">
      <span class="exampleheader"><b>PROV-N Example</b></span></div>
     <pre>
-     specializationOf(ex:articleV2, ex:article)
-     alternateOf(ex:articleV2, ex:articleV1)
+  specializationOf(ex:articleV2, ex:article)
+  alternateOf(ex:articleV2, ex:articleV1)
     </pre>
    </div>
    <p>
@@ -1214,8 +1220,7 @@
   <section>
    <h3>Complete PROV data</h3>
    <p>
-    The set of provenance records above could be grouped into one or multiple bundles.
-    We visualize the whole example as a single bundle below.
+    We visualize the whole example below.
    </p>
    <img src="images/everything.png" alt="Provenance graph for whole example" width="95%"/>
   </section>
@@ -1233,8 +1238,10 @@
   <ul>
    <li>Added selection between Turtle and PROV-N examples with supporting text.</li>
    <li>Removed PROV-N appendix.</li>
-   <li>Clarifications and improvements throughout the text.</li>
    <li>Removed reference to accounts, using bundles instead.</li>
+   <li>Scaled the width of wide figures to aid printing.</li>
+   <li>Used generatedAtTime rather than qualified PROV-O.</li>
+   <li>Many clarifications and improvements throughout the text.</li>
   </ul>
  </section>