extended example with software agent ag6, activity a5, plan gr1, responsibility ag4
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Wed, 21 Dec 2011 14:13:18 +0000
changeset 1303 c0836e4892ce
parent 1302 9a94c9c2fbaf
child 1304 2544e984a1fc
extended example with software agent ag6, activity a5, plan gr1, responsibility ag4
model/ProvenanceModel.html
--- a/model/ProvenanceModel.html	Wed Dec 21 12:36:52 2011 +0000
+++ b/model/ProvenanceModel.html	Wed Dec 21 14:13:18 2011 +0000
@@ -347,7 +347,7 @@
 
 <p>PROV-DM considers agents as a type of entity so that the model can be
  used to represent the provenance of the agents themselves.  For
- example, a spellchecker software may be an agent of a document
+ example, a grammarchecker software may be an agent of a document
  preparation activity, but itself can have a provenance record that
  states who its vendor is.</p>
 
@@ -679,8 +679,8 @@
 <p><a>Event</a> evt5: Edith emails (a4) the contents of /share/crime.txt as an attachment, referred to as e5.
 </p>
 
-<p><a>Event</a> evt6: between <a title="event">events</a> evt4 and evt5, someone (unspecified) runs a spell checker (a5) on the file /share/crime.txt.
- The file after spell checking is referred to as e6.
+<p><a>Event</a> evt6: between <a title="event">events</a> evt4 and evt5, someone (unspecified) runs a grammar checker (a5) on the file /share/crime.txt.
+ The file after grammatical checking is referred to as e6.
 </p>
 
 </section> 
@@ -698,7 +698,7 @@
 entity(e3, [ prov:type="File", ex:path="/shared/crime.txt", ex:creator="Alice", ex:content="There was a lot of crime in London and New York last month."])
 entity(e4)
 entity(e5)
-entity(e6, [ prov:type="File", ex:path="/shared/crime.txt", ex:creator="Alice", ex:content="There was a lot of crime in London and New York last month.", ex:spellchecked="yes"])
+entity(e6, [ prov:type="File", ex:path="/shared/crime.txt", ex:creator="Alice", ex:content="There was a lot of crime in London and New York last month.", ex:grammarchecked="yes"])
 </pre>
 
 
@@ -727,7 +727,7 @@
 activity(a2, 2011-11-16T17:00:00,,[prov:type="email"])
 activity(a3, 2011-11-17T09:00:00,,[prov:type="edit"])
 activity(a4, 2011-11-17T09:30:00,,[prov:type="email"])
-activity(a5, , ,[prov:type="spellcheck"])
+activity(a5, , ,[prov:type="grammarcheck"])
 </pre>
 
 
@@ -775,7 +775,7 @@
 
 
 <p>
-wasComplementOf:   (this relation is described in <a href="#record-complement-of">Section wasComplementOf</a>). The crime statistics file (<span class="name">e0</span>) has various contents over its existence (<span class="name">e1</span>, <span class="name">e2</span>, <span class="name">e3</span>); the entity records identified by <span class="name">e1</span>, <span class="name">e2</span>, <span class="name">e3</span> complement <span class="name">e0</span> with an attribute <span class="name">content</span>.  Likewise, the one denoted by <span class="name">e6</span> complements the record denoted by <span class="name">e3</span> with an attribute <span class="name">spellchecked</span>.</p>
+wasComplementOf:   (this relation is described in <a href="#record-complement-of">Section wasComplementOf</a>). The crime statistics file (<span class="name">e0</span>) has various contents over its existence (<span class="name">e1</span>, <span class="name">e2</span>, <span class="name">e3</span>); the entity records identified by <span class="name">e1</span>, <span class="name">e2</span>, <span class="name">e3</span> complement <span class="name">e0</span> with an attribute <span class="name">content</span>.  Likewise, the one denoted by <span class="name">e6</span> complements the record denoted by <span class="name">e3</span> with an attribute <span class="name">grammarchecked</span>.</p>
 <pre>
 wasComplementOf(e1,e0)
 wasComplementOf(e2,e0)
@@ -786,7 +786,7 @@
 
 
 <p>
-Agent Records (described at <a href="#record-Agent">Section Agent</a>): the various users are represented as agents, themselves being a type of entity.</p>
+Agent Records (described at <a href="#record-Agent">Section Agent</a>): the various users are represented as agents, themselves being a type of entity. Furthermore, a sixth agent is defined to be a software agent (the grammar checker).</p>
 <pre>
 agent(ag1, [ prov:type="prov:Person" %% xsd:QName, ex:name="Alice" ])
 
@@ -797,12 +797,14 @@
 agent(ag4, [ prov:type="prov:Person" %% xsd:QName, ex:name="David" ])
 
 agent(ag5, [ prov:type="prov:Person" %% xsd:QName, ex:name="Edith" ])
+
+agent(ag6, [ prov:type="prov:SoftwareAgent" %% xsd:QName, ex:name="GoodEnglish" ])
 </pre>
 
 
 
 <p>
-Activity Assocation Records (described in <a href="#record-ActivityAssociation">Section Activity Association</a>): the association of an agent with an activity is expressed with , and the nature of this association is described by attributes.  Illustrations of such attributes include the role of the participating agent, as creator, author and communicator (role is a reserved attribute in PROV-DM).</p>
+Activity Assocation Records (described in <a href="#record-ActivityAssociation">Section Activity Association</a>): the association of an agent with an activity is expressed with , and the nature of this association is described by attributes.  Illustrations of such attributes include the role of the participating agent, as creator, author, communicator, and checker (role is a reserved attribute in PROV-DM).</p>
 <pre>
 wasAssociatedWith(a0, ag1, [prov:role="creator"])
 wasAssociatedWith(a1, ag2, [prov:role="author"])
@@ -810,6 +812,16 @@
 wasAssociatedWith(a3, ag4, [prov:role="author"])
 wasAssociatedWith(a4, ag5, [prov:role="communicator"])
 </pre>
+<p>In addition, activity <span class="name">a5</span> is associated with the grammar checker, which relied on a set of grammatical rules to perform the grammar checking.  Generally,  rules like these are referred to as a <em>plan</em>, a specific type of entity.
+<pre>
+entity(gr1,[prov:type="prov:Plan"%% xsd:QName, ex:url="http://example.org/grammarRules.html" %% xsd:anyURI])
+
+wasAssociatedWith(a5, ag6, gr1, [prov:role="checker"])
+</pre>
+<p>Finally, the software agent <span class="name">ag6</span> did not act autonomously, but was operating on behalf of a user. This chain of responsibility is captured with the Responsibility Record (described in <a href="#record-responsibility">Section Responsibility Record</a>).</p>
+<pre>
+actedOnBehalfOf(ag6, ag4, a5, [prov:type="delegation"])
+</pre>
 </section>