responsibility relation
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Thu, 17 Nov 2011 09:18:25 +0000
changeset 933 d33518376aee
parent 932 9a361e88b4c7
child 934 386005a0c334
responsibility relation
model/ProvenanceModel.html
--- a/model/ProvenanceModel.html	Wed Nov 16 23:53:28 2011 +0000
+++ b/model/ProvenanceModel.html	Thu Nov 17 09:18:25 2011 +0000
@@ -797,10 +797,6 @@
 
 
 
-<div class='note'>The group is still discussing the need for characterizing attributes in entity records. At heart:  when it comes to exchanging provenance information, why do we *need* 
-to know exactly what makes one entity a constrained view of another.
-This is raised in the following <a href="http://lists.w3.org/Archives/Public/public-prov-wg/2011Sep/0315.html">email</a>.</div>
-
 <div class='note'>The characterization interval of an entity record is currently implicit. Making it explicit would allow us to define wasComplementOf more precisely. It would also allow us to address 
 <a href="http://www.w3.org/2011/prov/track/issues/108">ISSUE-108</a>.
 Beginning and end of characterization interval could be expressed by attributes (similarly to activities). </div>
@@ -1263,7 +1259,7 @@
 <div class="anexample">
 <p>The following derivation assertions</p>
 <pre class="codeexample">
-wasDerivedFrom(e5,e3,pe4,[ex:channel="out"),[ex:channel="in"])
+wasDerivedFrom(e5,e3,pe4,[ex:channel="out"],[ex:channel="in"])
 wasDerivedFrom(e3,e2)
 </pre>
 <p>
@@ -1508,33 +1504,56 @@
 might be a need to define specific aspects of control that various
 agents exert over a given activity.</p>
 
-<p>An activity association record, written <span class="name">wasAssociatedWith(a,ag1,ags2,attrs)</span> in PROV-ASN, has the following constituent:</p>
+<p>An activity association record, written <span class="name">wasAssociatedWith(a,ag2,attrs)</span> in PROV-ASN, has the following constituents:</p>
 <ul>
+<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the activity association record;</li> 
 <li><em>activity</em>: an identifier <span class="name">a</span> for an activity record;</li>
-<li><em>agent</em>: an identifier <span class="name">ag1</span> for an agent record, which represents the agent associated with the activity;</li>
-<li><em>onBehalfOf</em>: a set of identifiers <span class="name">ags2</span>, which represent the agents <span class="name">ag1</span> acts on behalf of in the context of activity <span class="name">a</span>;
+<li><em>agent</em>: an identifier <span class="name">ag2</span> for an agent record, which represents the agent associated with the activity;</li>
 <li><em>attributes</em>: a set of attribute-value pairs <span class="name">attrs</span> that describe the modalities of usage of this entity by this activity.</li>
 </ul>
 
+<p>Given an activity association record <span class="name">wasAssociatedWith(a,ag2,attrs)</span>,
+a responsibility record, written <span class="name">actedOnBehalfOf(id,ag2,ag1,a,attrs)</span> in PROV-ASN, has the following constituents:</p>
+<ul>
+<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the responsibility record;</li> 
+<li><em>subordinate</em>: an identifier <span class="name">ag2</span> for an agent record, which represents an agent associated with an activity, acting on behalf of the dominant agent;</li>
+<li><em>dominant</em>: an identifier <span class="name">ag1</span> for an agent record, which represents the agent on behalf of which the subordinate agent <span class="name">ag2</span> acts;</li>
+<li><em>activity</em>: an OPTIONAL identifier <span class="name">a</span> of an activity record for which the responsibility record holds;</li>
+<li><em>attributes</em>: a set of attribute-value pairs <span class="name">attrs</span> that describe the modalities of this relation.</li>
+</ul>
 
 
 <div class='grammar'>
 <span class="nonterminal">activityAssociationRecord</span>&nbsp;:= 
 <span class="name">wasAssociatedWith</span>
 <span class="name">(</span>
-<span class="nonterminal">identifier</span>,
+[<span class="nonterminal">identifier</span>,]
 <span class="nonterminal">identifier</span>,
 <span class="nonterminal">identifiers</span>,
 <span class="nonterminal">attribute-values</span>
 <span class="name">)</span>
 </div>
 
+<div class='grammar'>
+<span class="nonterminal">responsibilityRecord</span>&nbsp;:= 
+<span class="name">actedOnBehalfOf</span>
+<span class="name">(</span>
+[<span class="nonterminal">identifier</span>,]
+<span class="nonterminal">identifier</span>,
+<span class="nonterminal">identifiers</span>,
+[<span class="nonterminal">identifier</span>,]
+<span class="nonterminal">attribute-values</span>
+<span class="name">)</span>
+</div>
+
 <div class="anexample">
+In the following example, a programmer and a researcher agents are asserted.  The porgrammer is associated with a workflow activity, as the logged-in user.  The programmer acts on behalf of the research, encoding the commands specified by the researcher.
 <pre class="codeexample">
 activity(a,[prov:type="workflow"])
-entity(e1,[prov:type="programmer"]
-entity(e2,[prov:type="researcher"]
-wasAssociatedWith(a,e1,e2)
+agent(e1,[prov:type="programmer"]
+agent(e2,[prov:type="researcher"]
+wasAssociatedWith(a,e1,[prov:role="loggedInUser"])
+actedOnBehalfOf(e1,e2,a)
 </pre>
 </div>