assumedBy -> wasAssumedBy
authorStian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
Fri, 21 Oct 2011 17:52:20 +0100
changeset 766 91230a312638
parent 765 ba48e75086ca
child 767 1b62bcdb41f3
assumedBy -> wasAssumedBy

clarified examples for assumed.*
ontology/ProvenanceFormalModel.html
--- a/ontology/ProvenanceFormalModel.html	Fri Oct 21 11:53:20 2011 +0100
+++ b/ontology/ProvenanceFormalModel.html	Fri Oct 21 17:52:20 2011 +0100
@@ -195,7 +195,7 @@
         It has been suggested that [[PROV-DM]] and PROV-O should instead use 
         the namespace <code>http://www.w3.org/ns/prov/</code> for terms that are
         common in both models. This is <a
-        href="http://www.w3.org/2011/prov/track/issues/90">PROV-ISSUE-90</a>
+        href="http://www.w3.org/2011/prov/track/issues/90">ISSUE-90</a>
         </div>
 	  </section>
 	</section> <!-- PROV Ontology -->
@@ -358,7 +358,8 @@
 				 
 		  <div class='note'> According to the definitions of ProvenanceContainer and Account, both contain a set of provenance assertions and have an identifier. Hence, ProvenanceContainer class can also be used to create instances of accounts.
 		  </div>
-		  <div class='issue'>Scope and Identifiers. This is <a href="http://www.w3.org/2011/prov/track/issues/81">ISSUE-81</a>.</div>
+		  <div class='issue'>Scope and Identifiers. 
+          This is <a href="http://www.w3.org/2011/prov/track/issues/81">ISSUE-81</a>.</div>
 		<section>
 			<h4>Modeling ProvenanceContainer and Account as RDF Graph</h4>
 			<p>Placeholder for Tim's description</p>
@@ -401,16 +402,16 @@
 			<pre class="example">
 				&lt;rdf:Description rdf:about="http://www.example.com/crimeFile#BobAsAuthor"&gt;
 				    &lt;rdf:type rdf:resource="http://www.w3.org/ns/prov-o/EntityInRole"/&gt;
-				    &lt;prov:assumedBy rdf:resource="http://www.example.com/crimeFile#Bob"/&gt;
+				    &lt;prov:wasAssumedBy rdf:resource="http://www.example.com/crimeFile#Bob"/&gt;
 				    &lt;prov:assumedRole rdf:resource="http://www.example.com/crime#author"/&gt;
 				&lt;/rdf:Description&gt;
 			</pre>
 		  </div>
           <p>
-            An <code>EntityInRole</code> can be used together with
+            An <code>EntityInRole</code> is used together with
             <code>used</code>, <code>wasGeneratedBy</code> and
             <code>wasControlledBy</code> to specify that the
-            <code>assumedBy</code> entity
+            <code>wasAssumedBy</code> entity
             participated in the relation in a given <em>role</em>. The role is
             specified using <code>assumedRole</code>, referring to a
             <code>Role</code>.
@@ -420,10 +421,10 @@
                 &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#pe1"&gt;
                   &lt;prov:used rdf:parseType="Resource"&gt;
                       &lt;rdf:type rdf:resource="http://www.w3.org/ns/prov-o/EntityInRole"/&gt;
-                      &lt;prov:assumedBy rdf:resource="http://www.example.com/crimeFile#Bob"/&gt;
+                      &lt;prov:wasAssumedBy rdf:resource="http://www.example.com/crimeFile#Bob"/&gt;
                       &lt;prov:assumedRole rdf:resource="http://www.example.com/crime#author"/&gt;
                       &lt;crime:parameter&gt;p1&lt;/crime:parameter&gt;
-                  &lt;/prov:assumedRoleAt&gt;
+                  &lt;/prov:used&gt;
                 &lt;/rdf:Description&gt;	
             </pre>
           </div>		
@@ -618,7 +619,7 @@
               two classes and their subclasses. This property can be
               considered an abstract property, specialised by
               <code>startedAt</code>, <code>endedAt</code>,
-              <code>iwasGeneratedAt</code> and
+              <code>wasGeneratedAt</code> and
               <code>assumedRoleAt</code> where the time MUST be specified as
               an <code>time:Instant</code> or more specifically MAY be
               specified using the PROV-O subclass <code>Time</code>
@@ -675,6 +676,9 @@
               <code>Time</code> subclass by specifying the time using a
               <code>time:inXSDDateTime</code> data property.
 	          </p>
+              <p>
+              Note that by constraint 
+              </p>
               <div class="exampleOuter">
                 <pre class="example">
                     &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#e1"&gt;
@@ -686,11 +690,79 @@
                 </pre>
               </div>		
 	    </section>
+		<section id="wasAssumedBy">
+	          <h4>wasAssumedBy</h4>
+              <p>This object property defines which
+              <code>Entity</code> assumed a <em>role</em>, forming
+              a placeholder <code>EntityInRole</code> for use in
+              relations such as <code>used</code> and
+              <code>wasGeneratedBy</code>.
+              <code>wasAssumedBy</code> is a required, functional property of
+              <code>EntityInRole</code>, so an <code>EntityInRole</code>
+              is assumed by one and only one <code>Entity</code>.
+              <code>wasAssumedBy</code> is a subproperty of <code>wasComplementOf</code>.
+              </p>
+              <div class="exampleOuter">
+                <pre class="example">
+                    &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#pe1"&gt;
+                      &lt;prov:used&gt;
+                        &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#BobAsAuthor"&gt;
+                            &lt;rdf:type rdf:resource="http://www.w3.org/ns/prov-o/EntityInRole"/&gt;
+                            <strong>&lt;prov:wasAssumedBy rdf:resource="http://www.example.com/crimeFile#Bob"/&gt;</strong>
+                            &lt;prov:assumedRole rdf:resource="http://www.example.com/crime#author"/&gt;
+                        &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#pe1"&gt;
+                      &lt;prov:used&gt;
+                    &lt;/rdf:Description&gt;	
+                </pre>
+              </div>		
+              <p>
+              The example above corresponds to the PROV-ASN assertion:
+              <code>used(pe1, bob, qualifier(role="author")</code>
+              </p>
+	    </section>
+		<section id="assumedRole">
+	          <h4>assumedRole</h4>
+              <p>This object property defines which
+              <code>Role</code> has been assumed in an
+              <code>EntityInRole</code>. This property is applied in
+              relations such as <code>used</code> and
+              <code>wasGeneratedBy</code>.
+              </p>
+              <p>
+              The definition and interpretation of the <code>Role</code>
+              is outside the scope for PROV-O. The <code>Role</code> class is
+              a placeholder that can be extended and specialized.
+	          </p>
+              <div class="exampleOuter">
+                <pre class="example">
+                    &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#pe1"&gt;
+                      &lt;prov:used&gt;
+                        &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#BobAsAuthor"&gt;
+                            &lt;rdf:type rdf:resource="http://www.w3.org/ns/prov-o/EntityInRole"/&gt;
+                            &lt;prov:wasAssumedBy rdf:resource="http://www.example.com/crimeFile#Bob"/&gt;
+                            <strong>&lt;prov:assumedRole rdf:resource="http://www.example.com/crime#author"/&gt;</strong>
+                        &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#pe1"&gt;
+                      &lt;prov:used&gt;
+                    &lt;/rdf:Description&gt;	
+                </pre>
+              </div>		
+              <p>
+              The example above corresponds to the PROV-ASN assertion:
+              <code>used(pe1, bob, qualifier(role="author")</code>
+              </p>
+              <div class="issue">
+              It has been suggested that roles should be represented as
+              classes, allowing hierarchies and composition of roles. <a
+              href="http://www.w3.org/TR/owl2-new-features/#F12:_Punning">OWL2 punning</a>
+              would allow both <code>:entityInRole rdf:type :ExampleRole</code> and
+              <code>:entityInRole prov:assumedRole :ExampleRole</code>.
+              </div>
+	    </section>
 		<section id="assumedRoleAt">
 	          <h4>assumedRoleAt</h4>
-              <p> This object property defines the time when a
-              <code>Entity</code> assumed a role, ie. when the
-              <code>EntityInRole</code> was generated. 
+              <p> This object property defines the first time an
+              <code>Entity</code> assumed a <em>role</em>, ie. when the
+              <code>EntityInRole</code> which <code>wasAssumedBy</code> was active. 
               This is intended to be used together with a
               <code>used</code> statement to define the instant when an
               entity was first used. The time is specified as an
@@ -698,16 +770,24 @@
               <code>Time</code> subclass by specifying the time using a
               <code>time:inXSDDateTime</code> data property.
 	          </p>
+              <p>
+              According to the constraint <a
+              href="#provenance-constraint-on-wasgeneratedby-generation-unicity">generation-unicity</a>
+              from [[PROV-DM]] an entity can only be generated once by a single process
+              execution. This ontology further assumes that all
+              assertions about that generation must have the same
+              start time.
+              </p>
               <div class="exampleOuter">
                 <pre class="example">
                     &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#pe1"&gt;
                       &lt;prov:used rdf:parseType="Resource"&gt;
                           &lt;rdf:type rdf:resource="http://www.w3.org/ns/prov-o/EntityInRole"/&gt;
-                          &lt;prov:assumedRoleAt rdf:parseType="Resource"&gt;
+                          <strong>&lt;prov:assumedRoleAt rdf:parseType="Resource"&gt;</strong>
                             &lt;rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Time"/&gt;
-                            &lt;time:inXSDDateTime&gt;2011-10-20T17:14:12Z&lt;/time:inXSDDateTime&gt;
-                          &lt;/prov:assumedRoleAt&gt;
-                      &lt;/prov:assumedRoleAt&gt;
+                            <strong>&lt;time:inXSDDateTime&gt;2011-10-20T17:14:12Z&lt;/time:inXSDDateTime&gt;</strong>
+                         &lt;/prov:assumedRoleAt&gt;
+                      &lt;/prov:used&gt;
                     &lt;/rdf:Description&gt;	
                 </pre>
               </div>		
@@ -1172,17 +1252,13 @@
                  </dd>
                  <dt>wf:sawValue</dt>
                  <dd>
-                    A subproperty of <i>prov:wasComplementOf</i> which
+                    A subproperty of <i>prov:wasAssumedBy</i> which
                     indicates that an <i>wf:Value</i> was
                     <i>wf:seenAtPort</i> within an
                     <i>wf:ValueAtPort</i>. This ValueAtPort is a complement of the
                     pointed at Value because one can consider this
                     entity to to have the same attributes, but in
                     addition the <i>wf:seenAtPort</i> property is fixed.
-                  <div class='issue'>Should be subproperty of
-                  not-yet-existing prov:assumedBy or similar -Stian -
-                  part of <a
-                  href="http://www.w3.org/2011/prov/track/issues/103">ISSUE-103</a></div>
                  </dd>
 
                  <dt>wf:wasSeenAtPort</dt>