section 4
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Mon, 13 Feb 2012 11:05:00 +0000
changeset 1530 61c689662e1f
parent 1529 fb9c77f7f97b
child 1531 f5287842034e
section 4
model/working-copy/towards-wd4.html
--- a/model/working-copy/towards-wd4.html	Mon Feb 13 09:50:31 2012 +0000
+++ b/model/working-copy/towards-wd4.html	Mon Feb 13 11:05:00 2012 +0000
@@ -716,6 +716,11 @@
 
 <h2>PROV-DM Core</h2>
 
+<p>In this section, we revisit each concept introduction in <a href='#conceptualization'>Section 2</a>, and provide its detailed definition in the PROV data model, in terms of its various constituents. </p>
+
+<p>In PROV-DM, we distinguish elements from relations, which are respectively discussed in 
+<a href='#term-element'>Section 4.1</a> and <a href='#term-relation'>Section 4.2</a>.</p>
+
 <section id="term-element"> 
 <h3>Element</h3>
 
@@ -733,13 +738,20 @@
 
 <div class="anexample">
 <p>
-The following entity,</p>
+The following expression</p>
 <pre class="codeexample">
+entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ])
+</pre>
+states the existence of an entity, denoted by identifier <span class="name">tr:WD-prov-dm-20111215</span>,  with type <span class="name">document</span> and version number <span class="name">2</span>. The  attributes <span class="name">ex:version</span> is application specific, whereas the attribute <span
+class="name">type</span> is reserved in the PROV-DM namespace.
+<!--The following expression</p>
+<pre class="codeexample">
+entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ])
 entity(e0, [ prov:type="File", ex:path="/shared/crime.txt", ex:creator="Alice" ])
 </pre>
 states the existence of an entity, denoted by identifier <span class="name">e0</span>,  with type <span class="name">File</span> and path <span class="name">/shared/crime.txt</span> in the
 file system,  and creator alice. The  attributes <span class="name">path</span> and <span class="name">creator</span> are application specific, whereas the attribute <span
-class="name">type</span> is reserved in the PROV-DM namespace.
+class="name">type</span> is reserved in the PROV-DM namespace.-->
 </div>
 
 <p>Further considerations:</p>
@@ -771,9 +783,9 @@
 <p> An activity<span class="withAsn">, written <span class="name">activity(id, st, et, [ attr1=val1, ...])</span> in PROV-ASN,</span> contains:</p>
 <ul>
 <li><em>id</em>: an identifier identifying an activity;</li>
-<li><em>startTime</em>: an OPTIONAL time marking the start of the activity;</li>
-<li><em>endTime</em>: an OPTIONAL time marking the end of the activity;</li>
-<li><em>attributes</em>:  an OPTIONAL set of attribute-value pairs, representing  attributes of this activity.</li>
+<li><em>startTime</em>: an OPTIONAL time for the start of the activity;</li>
+<li><em>endTime</em>: an OPTIONAL time for the end of the activity;</li>
+<li><em>attributes</em>:  an OPTIONAL set of attribute-value pairs for this activity.</li>
 </ul>
 
 <div class="anexample">
@@ -784,8 +796,7 @@
         [ex:host="server.example.org",prov:type="ex:edit" %% xsd:QName])
 </pre>
 <p>states the existence of an activity with identifier <span class="name">a1</span>, start time <span class="name">2011-11-16T16:05:00</span>, and end time <span
-class="name">2011-11-16T16:06:00</span>, running on host <span class="name">server.example.org</span>, and of type <span class="name">edit</span> (declared in some namespace with prefix
-<span class="name">ex</span>).  The attribute <span class="name">host</span> is application specific, but MUST hold for the duration of activity.  The attribute <span
+class="name">2011-11-16T16:06:00</span>, running on host <span class="name">server.example.org</span>, and of type <span class="name">edit</span>.  The attribute <span class="name">host</span>  is application specific  (declared in some namespace with prefix <span class="name">ex</span>).  The attribute <span
 class="name">type</span> is a reserved attribute of PROV-DM, allowing for subtyping to be expressed.</p>
 </div>
 
@@ -837,10 +848,11 @@
 
 
 <div class="anexample">
-The following expression is about an agent identified by <span class="name">e1</span>, which is a person, named Alice, with employee number 1234.
+<p>The following expression is about an agent identified by <span class="name">e1</span>, which is a person, named Alice, with employee number 1234.</p>
 <pre class="codeexample">
 agent(e1, [ex:employee="1234", ex:name="Alice", prov:type="prov:Person" %% xsd:QName])
 </pre>
+<p>It is optional to specify the type of an agent. When present, it is expressed using the <span class="name">prov:type</span> attribute.</p>
 </div>
 
 <div class='issue'> Shouldn't we allow for entities (not agent) to be associated with an activity?  Should we drop the inference association-agent? <a
@@ -852,8 +864,8 @@
       
 <h4>Note</h4>
 
-<p>As provenance descriptions are exchanged between systems, it may be useful to add extra-information about such descriptions. For instance, a "trust service" may add value-judgements about the
-trustworthiness of some of the descriptions. Likewise, an interactive visualization component may want to enrich a set of provenance descriptions with information helping reproduce their
+<p>As provenance descriptions are exchanged between systems, it may be useful to add extra-information to what they are describing. For instance, a "trust service" may add value-judgements about the
+trustworthiness of some of the entities or agents involved. Likewise, an interactive visualization component may want to enrich a set of provenance descriptions with information helping reproduce their
 visual representation. To help with inter-operability, PROV-DM introduces a simple annotation mechanism allowing anythig that is identifiable to be associated with notes.</p>
 
 <p>A <dfn title="dfn-note">note</dfn><span class="withAsn">, noted <span class="name">note(id, [ attr1=val1, ...])</span> in PROV-ASN,</span> contains:</p>
@@ -865,8 +877,8 @@
 
 
 
-<p>A separate PROV-DM construct is used to associate a note with something that is identifiable (see <a href="#term-annotation">Section on annotation</a>). A given note may be associated with
-multiple asssertions.
+<p>A separate PROV-DM relation is used to associate a note with something that is identifiable (see <a href="#term-annotation">Section on annotation</a>). A given note may be associated with
+multiple identifiable things.
 </p>
 
 
@@ -880,10 +892,16 @@
 hasAnnotation(tr:WD-prov-dm-20111215,ex:n1)
 </pre>
 <p>The note is associated with the entity <span class="name">tr:WD-prov-dm-20111215</span> previously introduced (<a title="annotation">hasAnnotation</a> is 
-discussed in Section <a href="#term-annotation">Annotation</a>).  In this example,
-the attribute-value pairs do not constitute a representation of something
-in the world; they are just used to help render provenance.
+discussed in Section <a href="#term-annotation">Annotation</a>).  
 </p>
+
+<p>Alternatively, a reputation service may enrich a provenance record with notes providing reputation ratings about agents. In the following fragment, both agents <span class="name">ex:Simon</span> and <span class="name">ex:Paolo</span> are rated "excellent".</p>
+<pre class="codeexample">
+note(ex:n2,[ex:reputation:"excellent"])
+hasAnnotation(ex:Simon,ex:n2)
+hasAnnotation(ex:Paolo,ex:n2)
+</pre>
+
 </div>
 
 
@@ -903,11 +921,11 @@
 <table border="1" style="margin-left: auto; margin-right: auto;">
 <caption>PROV-DM Core Relation Summary</caption>
 <tr><td></td><td>Entity</td><td>Activity</td><td>Agent</td><td>Note</td></tr> 
-<tr><td>Entity</td><td><a title="derivations">wasDerivedFrom</a><br><a title="alternate">alternateOf</a><br><a title="specialization record">specializationOf</a></td><td><a
-title="generation">wasGeneratedBy</a></td><td>&mdash;</td><td><a title="annotation">hasAnnotation</a></td></tr>
-<tr><td>Activity</td><td><a title="usage">used</a></td><td>&mdash;</td><td><a title="start record">wasStartedBy</a><br><a title="end record">wasEndedBy</a><br><a title="activity association">wasAssociatedWith</a></td><td><a title="annotation">hasAnnotation</a></td></tr>
-<tr><td>Agent</td><td>&mdash;</td><td>&mdash;</td><td><a title="responsibility chain">actedOnBehalfOf</a></td><td><a title="annotation">hasAnnotation</a></td></tr>
-<tr><td>Note</td><td>&mdash;</td><td>&mdash;</td><td>&mdash;</td><td><a title="annotation">hasAnnotation</a></td></tr>
+<tr><td>Entity</td><td><a title="derivations">wasDerivedFrom</a><br><a title="dfn-alternate">alternateOf</a><br><a title="dfn-specialization">specializationOf</a></td><td><a
+title="dfn-Generation">wasGeneratedBy</a></td><td>&mdash;</td><td><a title="dfn-annotation">hasAnnotation</a></td></tr>
+<tr><td>Activity</td><td><a title="usage">used</a></td><td>&mdash;</td><td><a title="start record">wasStartedBy</a><br><a title="end record">wasEndedBy</a><br><a title="dfn-activity-association">wasAssociatedWith</a></td><td><a title="dfn-annotation">hasAnnotation</a></td></tr>
+<tr><td>Agent</td><td>&mdash;</td><td>&mdash;</td><td><a title="dfn-responsibility-chain">actedOnBehalfOf</a></td><td><a title="dfn-annotation">hasAnnotation</a></td></tr>
+<tr><td>Note</td><td>&mdash;</td><td>&mdash;</td><td>&mdash;</td><td><a title="dfn-annotation">hasAnnotation</a></td></tr>
 </table>
 </div>
 
@@ -922,7 +940,7 @@
 
 <p><dfn title="dfn-Generation">Generation</dfn><span class="withAsn">, written <span class="name">wasGeneratedBy(id,e,a,t,attrs)</span> in PROV-ASN,</span> has the following components:</p>
 <ul>
-<li><em>id</em>:  an OPTIONAL identifier identifying the generation;</li> 
+<li><em>id</em>:  an OPTIONAL identifier identifying a generation;</li> 
 <li><em>entity</em>:  an identifier identifying a created entity; </li>
 <li><em>activity</em>:  an OPTIONAL identifier identifying the activity that creates the entity;</li>
 
@@ -930,7 +948,7 @@
 
 <li><em>attributes</em>:  an OPTIONAL set of attribute-value pairs that describes the modalities of generation of this entity by this activity.</li>
 </ul>
-<p>While the components <em>activity</em>, <em>time</em>, and  <em>attributes</em> are OPTIONAL, at least one of them MUST be present.</p>
+<p>While each of the components <em>activity</em>, <em>time</em>, and  <em>attributes</em> is OPTIONAL, at least one of them MUST be present.</p>
 
 
 
@@ -960,12 +978,6 @@
 </pre>
 </div>
 
-<div class='note'>
-<p>????????? 
-A generation's id is OPTIONAL. It MUST be used when annotating generations (see Section <a href="#term-annotation">Annotation Record</a>) or when defining precise-1
-derivations (see <a href="#Derivation-Relation">Derivation Record</a>).
-</p>
-</div>
 
 <div class='pending'> We may want to assert the time at which an entity is created. The placeholder for such time information is a generation record. But a generation mandates the presence of an activity identifier. But it may not be known.
 It would be nice if the activity identifier was made optional in the generation record.
@@ -982,7 +994,7 @@
 
 <p><dfn title="dfn-Usage">Usage</dfn><span class="withAsn">, written <span class="name">used(id,a,e,t,attrs)</span> in PROV-ASN,</span> has the following constituents:</p>
 <ul>
-<li><em>id</em>:  an OPTIONAL identifier identifying the usage;</li> 
+<li><em>id</em>:  an OPTIONAL identifier identifying a usage;</li> 
 <li><em>activity</em>: an identifier for the consuming activity;</li>
 <li><em>entity</em>: an identifier for the consumed entity;</li>
 <li><em>time</em>: an OPTIONAL "usage time", the time at which the entity started to be used;</li>
@@ -1001,7 +1013,7 @@
   used(a1,e1,2011-11-16T16:00:00,[ex:parameter="p1"])
   used(a1,e2,2011-11-16T16:00:01,[ex:parameter="p2"])
 </pre>
-<p>state that the activity identified by <span class="name">a1</span>, consumed two entities identified by <span
+<p>state that the activity identified by <span class="name">a1</span> consumed two entities identified by <span
 class="name">e1</span> and <span class="name">e2</span>, at times <span class="name">2011-11-16T16:00:00</span> and  <span class="name">2011-11-16T16:00:01</span>, respectively; the first
 one was found as the value of parameter <span class="name">p1</span>, whereas the second was found as value of parameter <span class="name">p2</span>.  The semantics of <span
 class="name">parameter</span> is application specific.</p>
@@ -1035,8 +1047,8 @@
 <h4>Activity Association</h4>
 
 
-<p>As far as responsibility is concerned, PROV-DM offers two kinds of constructs. The first, introduced in this section, represents an association between an agent, a plan, and an activity; the second, introduced in <a
-href="#term-responsibility">Section Responsibility</a>, represents the fact that an agent was acting on behalf of another, in the context of an activity. </p>
+<p>As far as responsibility is concerned, PROV-DM offers two kinds of constructs. The first, introduced in this section, is relation between an agent, a plan, and an activity; the second, introduced in <a
+href="#term-responsibility">Section Responsibility</a>, is a relation between agents expressing that an agent was acting on behalf of another, in the context of an activity. </p>
 
 
 <p>An <dfn title="dfn-activity-association">activity association</dfn><span class="withAsn">, written <span class="name">wasAssociatedWith(id,a,ag2,pl,attrs)</span> in PROV-ASN,</span> has the following
@@ -1045,7 +1057,7 @@
 <li><em>id</em>:  an OPTIONAL identifier for the association between an activity and an agent;</li> 
 <li><em>activity</em>: an identifier for the activity;</li>
 <li><em>agent</em>: an identifier for the agent associated with the activity;</li>
-<li><em>plan</em>: an OPTIONAL identifier for an entity, which is the plan adopted by the agent in the context of this activity;
+<li><em>plan</em>: an OPTIONAL identifier for the plan adopted by the agent in the context of this activity;
 <li><em>attributes</em>: an OPTIONAL set of attribute-value pairs that describe the modalities of association of this activity with this agent.</li>
 </ul>
 
@@ -1132,7 +1144,7 @@
 
 <h4>Responsibility Chain</h4>
 
-<p>To promote take-up, PROV-DM offers a mild version of responsibility
+<p>PROV-DM offers a mild version of responsibility
 in the form of a relation to represent when an agent acted on another
 agent's behalf.  So in the example of someone running a mail program,
 the program is an agent of that activity and the person is also an
@@ -1141,7 +1153,7 @@
 student acted on behalf of his supervisor, who acted on behalf of the
 department chair, who acts on behalf of the university, and all those
 agents are responsible in some way for the activity to take place but
-we don't say explicitly who bears responsibility and to what
+we do not say explicitly who bears responsibility and to what
 degree. </p>
 
 <p>We could also say that an agent can act on behalf of several other
@@ -1155,8 +1167,7 @@
 might be a need to define specific aspects of control that various
 agents exert over a given activity.</p>
 
-<p>Given an activity association<span class="withAsn">, written <span class="name">wasAssociatedWith(a,ag2,attrs)</span></span>,
-a <dfn title="dfn-responsibility">responsibility chain</dfn><span class="withAsn">, written <span class="name">actedOnBehalfOf(id,ag2,ag1,a,attrs)</span> in PROV-ASN,</span> has the following constituents:</p>
+<p>A <dfn title="dfn-responsibility-chain">responsibility chain</dfn><span class="withAsn">, written <span class="name">actedOnBehalfOf(id,ag2,ag1,a,attrs)</span> in PROV-ASN,</span> has the following constituents:</p>
 <ul>
 <li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the responsibility chain;</li> 
 <li><em>subordinate</em>: an identifier for the agent associated with an activity, acting on behalf of the responsible
@@ -1190,7 +1201,7 @@
 <h4>Derivation</h4>
 
 <div class='note'>
-Using asserter/assertion.
+This text was not edited much. It keeps on referring to asserter/assertion.  Before editing this section, we would like to have  <a href="http://www.w3.org/2011/prov/track/issues/249">ISSUE-249</a> resolved.</div>
 </div>
 
 
@@ -1249,7 +1260,7 @@
 When <span class="name">prov:steps="single"</span>, derivation is due to one activity; when <span class="name">prov:steps="any"</span>, the number of activities is multiple or not known.</p>
 
 
-<p>The three kinds of <dfn title="dfn-derivation">derivations</dfn> are successively introduced.  Making use of the attribute <span class="name">steps</span>, we can distinguish the various derivation types.</p>
+<p>The three kinds of <dfn id="dfn-derivation">derivations</dfn> are successively introduced.  Making use of the attribute <span class="name">steps</span>, we can distinguish the various derivation types.</p>
 
 <p>A <dfn>precise-1 derivation</dfn><span class="withAsn">, written <span class="name">wasDerivedFrom(id, e2, e1, a, g2, u1, attrs)</span> in PROV-ASN,</span> contains:</p>
 <ul>
@@ -1338,7 +1349,7 @@
 
 <h4>Alternate and Specialization</h4>
 
-<p>The purpose of this section is to introduce relations between two entities that provide different characterizations for the same thing.
+<p>The purpose of this section is to introduce relations between two entities that refer to the same thing in the world.
 Consider for example three entities:
 </p>
 <ul>
@@ -1353,8 +1364,8 @@
 
 
 <ol>
-  <li>e1 and e2 describe Bob from two different perspectives (as facebook and twitter users, respectively)
-  <li> both of e1 and e2  provide a more concrete  perspective on Bob than e1 does (each of them provides more details).
+  <li>e1 and e2 refer to Bob in two contexts (as facebook and twitter users, respectively)
+  <li> both of e1 and e2  provide a more concrete  perspective on Bob than e3 does (each of them provides more details).
 </ol>