prov-constraints 4.6
authorPaolo Missier <pmissier@acm.org>
Fri, 20 Jul 2012 09:18:06 +0100
changeset 4203 cb916ef8f654
parent 4202 47ca1d26bb71
child 4204 4ff30cca2c9f
prov-constraints 4.6
model/prov-constraints.html
--- a/model/prov-constraints.html	Fri Jul 20 08:45:57 2012 +0100
+++ b/model/prov-constraints.html	Fri Jul 20 09:18:06 2012 +0100
@@ -1589,184 +1589,234 @@
 <section id="type-rules">
 <h2>Type inference rules</h2>
 
-The rules in this section establish the existence of entities, activities, and agents from their use within expressions.
-
+The following table summarizes rules which  establish the existence of entities, activities, and agents from their use within expressions. </p>
+
+    <table border=1 align="center">
+      <tr>
+	<th>Relation</th>
+	<th>Inference rule</th>
+      </tr>
+      <tr>
+     <td class="name">Generation</td>
+	<td>
 <div class='inference' id="generation-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>wasGeneratedBy(gen;e,a,t,attrs)</span>  
 <span class='conditional'>THEN</span> 
-<span class="name">entity(e,[])</span>, 
- <span class="name">activity(a, -,-,[])</span> 
-both hold.
-</p>
+there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that  <span class="name">entity(e,[])</span> AND 
+ <span class="name">activity(a, _t1, _t2,[])</span> holds.
     </div>
-
-
+</td>
+    </tr>
+
+<tr>
+<td class="name">Usage</td>
+
+<td>
 <div class='inference' id="usage-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>used(u;a,e,t,attrs)</span>  
 <span class='conditional'>THEN</span> 
-<span class="name">entity(e,[])</span>, 
- <span class="name">activity(a, -,-,[])</span> 
-both hold.
-</p>
-    </div>
-
-
+there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that  <span class="name">entity(e,[])</span> AND 
+ <span class="name">activity(a, _t1, _t2,[])</span> holds.
+</div>
+</td>
+</tr>
+
+
+<tr>
+<td class="name">Communication</td>
+
+<td>
 <div class='inference' id="communication-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>wasInformedBy(id;a2,a1,attrs)</span>  
 <span class='conditional'>THEN</span> 
- <span class="name">activity(a1, -,-,[])</span>,
- <span class="name">activity(a2, -,-,[])</span> 
- both hold.
-</p>
+there exist <span class="name">_t1</span>, <span class="name">_t2</span>,  <span class="name">_t3</span>, <span class="name">_t4</span> such that
+ <span class="name">activity(a1, _t1,_t2,[])</span> AND
+ <span class="name">activity(a2, _t3,_t4,[])</span>  holds. 
     </div>
-
+</td>
+</tr>
+
+<tr>
+<td class="name">Start</td>
+<td>
 
 <div class='inference' id="start-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>wasStartedBy(id;a2,e,a1,t,attrs)</span>  
 <span class='conditional'>THEN</span> 
- <span class="name">activity(a1, -,-,[])</span>,
- <span class="name">activity(a2, -,-,[])</span>,
+there exist <span class="name">_t1</span>, <span class="name">_t2</span>,  <span class="name">_t3</span>, <span class="name">_t4</span> such that
+ <span class="name">activity(a1, _t1,_t2,[])</span> AND
+ <span class="name">activity(a2, _t3,_t4,[])</span> AND
 <span class="name">entity(e,[])</span> 
- hold.
-</p>
+ holds.
     </div>
-
-
+</td>
+</tr>
+
+<tr>
+<td class="name">End</td>
+<td>
 <div class='inference' id="end-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>wasEndedBy(id;a2,e,a1,t,attrs)</span>  
 <span class='conditional'>THEN</span> 
- <span class="name">activity(a1, -,-,[])</span>,
- <span class="name">activity(a2, -,-,[])</span>,
-<span class="name">entity(e,[])</span> 
- hold.
-</p>
+there exist <span class="name">_t1</span>, <span class="name">_t2</span>,  <span class="name">_t3</span>, <span class="name">_t4</span> such that
+ <span class="name">activity(a1, _t1,_t2,[])</span> AND
+ <span class="name">activity(a2, _t3,_t4,[])</span> AND
+<span class="name">entity(e,[])</span> holds.
     </div>
-
-
+</td>
+</tr>
+
+
+<tr>
+<td class="name">Invalidation</td>
+<td>
 <div class='inference' id="invalidation-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>wasInvalidatedBy(id;e,a,t,attrs)</span>  
 <span class='conditional'>THEN</span> 
- <span class="name">activity(a, -,-,[])</span>,
+there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that
+ <span class="name">activity(a1, _t1,_t2,[])</span> AND
 <span class="name">entity(e,[])</span> 
  hold.
-</p>
     </div>
-
-
-
+</td>
+</tr>
+
+
+<tr>
+<td class="name">Derivation</td>
+<td>
 <div class='inference' id="derivation-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>wasDerivedFrom(id; e2, e1, a, g2, u1, attrs)</span>  
 <span class='conditional'>THEN</span> 
-<span class="name">entity(e1,[])</span>, 
-<span class="name">entity(e2,[])</span>, 
- <span class="name">activity(a, -,-,[])</span> 
- hold.
-</p>
+there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that
+<span class="name">entity(e1,[])</span> AND 
+<span class="name">entity(e2,[])</span> AND
+ <span class="name">activity(a, _t1,_t2,[])</span> 
+ holds.
     </div>
-
-
+</td>
+</tr>
+
+
+<tr>
+<td class="name">Attribution</td>
+<td>
 <div class='inference' id="attribution-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>wasAttributedTo(id;e,ag,attr)</span>  
 <span class='conditional'>THEN</span> 
-<span class="name">entity(e,[])</span>, 
+<span class="name">entity(e,[])</span> AND
 <span class="name">agent(ag,[])</span>
  hold.
-</p>
     </div>
-
-
+</td>
+</tr>
+
+
+<tr>
+<td class="name">Association</td>
+<td>
 <div class='inference' id="association-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>wasAssociatedWith(id;a,ag,pl,attrs)</span>  
 <span class='conditional'>THEN</span> 
- <span class="name">activity(a, -,-,[])</span>, 
-<span class="name">agent(ag,[])</span>,
+there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that
+ <span class="name">activity(a, _t1,_t2,[])</span> AND 
+<span class="name">agent(ag,[])</span> AND
 <span class="name">entity(pl,[prov:type='prov:Plan'])</span>
  hold.
-</p>
     </div>
-
+</td>
+</tr>
+
+
+<tr>
+<td class="name">Delegation</td>
+<td>
 
 <div class='inference' id="delegation-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>actedOnBehalfOf(id;ag2,ag1,a,attrs)</span>  
 <span class='conditional'>THEN</span> 
- <span class="name">activity(a, -,-,[])</span>, 
-<span class="name">agent(ag1,[])</span>,
+there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that
+ <span class="name">activity(a, _t1,_t2,[])</span> AND 
+<span class="name">agent(ag1,[])</span> AND
 <span class="name">agent(ag2,[])</span>
- hold.
-</p>
+ holds.
     </div>
-
-
-
+</td>
+</tr>
+
+<tr>
+<td class="name">Alternate</td>
+<td>
 <div class='inference' id="alternate-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>alternateOf(alt1, alt2)</span>  
 <span class='conditional'>THEN</span> 
-<span class="name">entity(alt1,[])</span>, 
+<span class="name">entity(alt1,[])</span> AND
 <span class="name">entity(alt2,[])</span> 
- hold.
-</p>
+ holds.
     </div>
 
-
+</td>
+</tr>
+
+
+<tr>
+<td class="name">Specialization</td>
+<td>
 <div class='inference' id="specialization-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>specializationOf(infra, supra)</span>  
 <span class='conditional'>THEN</span> 
-<span class="name">entity(infra,[])</span>, 
+<span class="name">entity(infra,[])</span> AND
 <span class="name">entity(supra,[])</span> 
  hold.
-</p>
     </div>
-
-
+</td>
+</tr>
+
+
+<tr>
+<td class="name">Mention</td>
+<td>
 <div class='inference' id="mention-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>mentionOf(infra, supra,bundle)</span>  
 <span class='conditional'>THEN</span> 
-<span class="name">entity(infra,[])</span>, 
+<span class="name">entity(infra,[])</span> AND 
 <span class="name">entity(supra,[])</span> 
  hold.
-</p>
     </div>
-
-
-<div class="note">not sure about this one below: the type could as well be EmptyCollection</div>
+</td>
+</tr>
+
+
+<tr>
+<td class="name">Membership</td>
+<td>
 <div class='inference' id="membership-type-inference">
-<p>
 <span class='conditional'>IF</span> 
    <span class='name'>hadMember(c, e)</span>  
 <span class='conditional'>THEN</span> 
-<span class="name">entity(c,[prov:type="prov:Collection"])</span>, 
+<span class="name">entity(c,[prov:type="prov:Collection"])</span> AND
 <span class="name">entity(e,[])</span> 
  hold.
-</p>
     </div>
-
-
+</td>
+</tr>
+
+
+
+</table>