Primer: added or updated PROV-N examples for all concepts
authorSimon Miles <simon.miles@kcl.ac.uk>
Sun, 01 Apr 2012 15:55:50 +0100
changeset 2142 c791a5cd7bd8
parent 2141 754d7a53db29
child 2144 3369289fe002
child 2145 b1c7373a02e1
Primer: added or updated PROV-N examples for all concepts
primer/Primer.html
--- a/primer/Primer.html	Sun Apr 01 10:36:21 2012 -0400
+++ b/primer/Primer.html	Sun Apr 01 15:55:50 2012 +0100
@@ -794,55 +794,48 @@
    <section>
     <h3>Entities</h3>
     <pre class="example asn">
-     entity(ex:dataSet1).
-     entity(ex:regionList).
-     entity(ex:aggregate).
-     entity(ex:chart1).
+     entity(ex:article, [dcterms:title="Crime rises in cities"])
+     entity(ex:dataSet1)
+     entity(ex:regionList)
+     entity(ex:composition)
+     entity(ex:chart1)
     </pre>
    </section>
 
    <section>
     <h3>Activities</h3>
     <pre class="example asn">
-     activity(ex:compiled).
-     activity(ex:aggregated).
-     activity(ex:illustrated).
+     activity(ex:compile)
+     activity(ex:compose)
+     activity(ex:illustrate)
     </pre>
-    <!--
-    <p>
-     In the first assertion above, 'compilation_step' is an optional reference to the 'recipe' that describes 
-     what the 'compiled' activity did. The interpretation of its name, 
-     'compilation_step', is left to applications (it is not further resolved within PROV-DM).
-    </p>
-    <p>
-     In the second assertion, optional 'recipe' has been omitted.
-    </p>
-    -->
-    <!--PM comment: here readers will be confused by the processExecutiion / activity disconnect!
-                       also this does not show start/end times, optional attributes. At least one example would be useful-->
    </section>
 
    <section>
     <h3>Use and Generation</h3>
     <pre class="example asn">
-     used(ex:aggregated, ex:dataSet1).
-     used(ex:aggregated, ex:regionList).
-     wasGeneratedBy(ex:aggregate, ex:aggregated).
+     used(ex:compose, ex:dataSet1, _)
+     used(ex:compose, ex:regionList, _)
+     wasGeneratedBy(ex:composition, ex:compose, _)
 
-     used(ex:illustrated, ex:aggregate).
-     wasGeneratedBy(ex:chart1, ex:illustrated).
+     used(ex:illustrate, ex:composition, _)
+     wasGeneratedBy(ex:chart1, ex:illustrate, _)
     </pre>
    </section>
 
    <section>
     <h3>Agents and Responsibility</h3>
     <pre class="example asn">
-     entity(ex:derek, [ type="prov:Person", foaf:givenName = "Derek", 
-            foaf:mbox= "&lt;mailto:derek@example.org&gt;"]).
-     agent(ex:derek).
+     agent(ex:derek, [ prov:type="prov:Person", foaf:givenName = "Derek", 
+            foaf:mbox= "&lt;mailto:derek@example.org&gt;"])
+     wasAssociatedWith(ex:compose, ex:derek, _)
+     wasAssociatedWith(ex:illustrate, ex:derek, _)
 
-     wasControlledBy(ex:aggregated, ex:derek).
-     wasControlledBy(ex:illustrated, ex:derek).
+     agent(ex:chartgen, [ prov:type="prov:Organization",
+            foaf:name = "Chart Generators Inc"])
+     actedOnBehalfOf(ex:chartgen, ex:derek, ex:compose)
+
+     wasAttributedTo(ex:chart1, ex:derek)
     </pre>
    </section>
 
@@ -850,28 +843,62 @@
     <h3>Roles</h3>
     <p>
      Roles are not declared directly in PROV-DM, rather they are attributes of 
-     relations. Thus, the entire Turtle example in sec. 3.5 is rendered as follows:
+     relations. Thus, the entire Turtle example in Section 3.5 is rendered as follows:
     </p>
     <pre class="example asn">
-     used(ex:aggregated, ex:dataSet1,    [ prov:role = "dataToAggregate"]).
-     used(ex:aggregated, ex:regionList, [ prov:role = "regionsToAggregteBy"]).
+     used(ex:compose, ex:dataSet1,   [ prov:role = "prov:dataToCompose"], _)
+     used(ex:compose, ex:regionList, [ prov:role = "prov:regionsToAggregteBy"], _)
     </pre>
     <p>
-     In the first description above, note that this adds a "role" attribute to the first 'used' description of Ex. 3.
-     Similarly in the second description, we have added a "role" attribute to the second  'used' description of Ex. 3.
+     In the first description above, note that this adds a "role" attribute to the first 'used' description of A.3.
+     Similarly in the second description, we have added a "role" attribute to the second  'used' description of A.3.
     </p>
    </section>
 
    <section>
     <h3>Derivation and Revision</h3>
     <pre class="example asn">
-     wasRevisionOf(ex:dataSet2, ex:dataSet1).
+     wasRevisionOf(ex:dataSet2, ex:dataSet1, _)
     </pre>
 
     <pre class="example asn">
-     wasEventuallyDerivedFrom(ex:chart2, ex:dataSet2).
-     wasDerivedFrom(ex:chart2, ex:dataSet2).
-     wasGeneratedBy(ex:chart2, ex:compiled2).
+     wasDerivedFrom(ex:chart2, ex:dataSet2)
+    </pre>
+   </section>
+   
+   <section>
+    <h3>Plans</h3>
+    <p>
+     Similarly to roles, plans are attributes of relations, specifically association relations.
+    </p>
+    <pre class="example asn">
+     wasAssociatedWith(ex:correct, ex:edith, ex:corrections)
+    </pre>
+   </section>
+   
+   <section>
+    <h3>Time</h3>
+    <pre class="example asn">
+     wasGeneratedBy(ex:chart1, ex:compile,  2012-03-02T10:30:00)
+     wasGeneratedBy(ex:chart2, ex:compile2, 2012-04-01T15:21:00)
+
+     activity(ex:correct, 2012-03-31T09:21:00, 2012-04-01T15:21:00)
+    </pre>
+   </section>
+
+   <section>
+    <h3>Alternate Entities and Specialization</h3>
+    <pre class="example asn">
+     entity(ex:blogEntry)
+     wasQuotedFrom(ex:blogEntry, ex:article)
+     
+     entity(ex:articleV1)
+     wasDerivedFrom(ex:articleV1, ex:dataSet1)
+
+     specializationOf(ex:articleV1, ex:article)
+
+     specializationOf(ex:articleV2, ex:article)
+     alternateOf(ex:articleV1, ex:articleV2)
     </pre>
    </section>
   </section>
@@ -906,6 +933,7 @@
     <li>Added PROV-O examples for specialization, alternate and quotation</li>
     <li>Added intuition section on quotation.</li>
     <li>Added PROV-O examples for time</li>
+    <li>Updated old PROV-N and added new PROV-N for all recently added concepts</li>
    </ul>
   </section>