--- 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>