table of constraints
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Fri, 01 Jun 2012 14:12:31 +0100
changeset 3143 34d1e7cde2d4
parent 3142 21358c088635
child 3145 b58d8011512e
child 3146 5fb481dea6cf
table of constraints
model/prov-constraints.html
--- a/model/prov-constraints.html	Fri Jun 01 08:16:48 2012 -0400
+++ b/model/prov-constraints.html	Fri Jun 01 14:12:31 2012 +0100
@@ -455,6 +455,64 @@
     are meant to be validated or not?  Seems outside the scope of this
     document, may require changes to PROV-N.
   </div>
+
+<p>
+
+<div class="note">Table: work in progress</div>
+
+<div id="prov-dm-constraints-fig" style="text-align: left;">
+<table  class="thinborder" style="margin-left: auto; margin-right: auto;">
+<caption id="prov-dm-constraints">Table 5: Summary of definitions, constraints, and inferences for PROV-DM Types and Relations</caption>
+<tr><td><a><b>Type or Relation Name</b></a></td><td><b>Definitiosn, Constraints, Inferences</b></td><td><b>Component</b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component1-color"><td class="essential"><a>Entity</a></td><td><a class="rule-text" href="#entity-unique"><span>TBD</span></a></td><td rowspan="8"><a href="#component1">Component 1: Entities/Activities</a></td></tr>
+<tr class="component1-color"><td class="essential"><a>Activity</a></td><td><a class="rule-text" href="#activity-unique"><span>TBD</span></a><br><a class="rule-text" href="#unique-startTime"><span>TBD</span></a><br><a class="rule-text" href="#unique-endTime"><span>TBD</span></a></td></tr>
+<tr class="component1-color"><td class="essential"><a>Generation</a></td><td> </td></tr>
+<tr class="component1-color"><td class="essential"><a>Usage</a></td><td> </td></tr>
+<tr class="component1-color"><td class="essential"><a>Communication</a></td><td><a class="rule-text" href="#wasInformedBy-definition"><span>TBD</span></a> </td></tr>
+<tr class="component1-color"><td><a>Start</a></td><td><a class="rule-text" href="#wasStartedBy-definition"><span>TBD</span></a> </td></tr>
+<tr class="component1-color"><td><a>End</a></td><td><a class="rule-text" href="#wasEndedBy-definition"><span>TBD</span></a> </td></tr>
+<tr class="component1-color"><td><a>Invalidation</a></td><td> </td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+
+<tr class="component2-color"><td class="essential"><a>Derivation</a></td><td><a class="rule-text" href="#derivation-use"><span>TBD</span></a></td><td  rowspan="5"><a href="#component2">Component 2: Derivations</a></td></tr>
+<tr class="component2-color"><td class="provType"><a>Revision</a></td><td></td></tr>
+<tr class="component2-color"><td class="provType"><a>Quotation</a></td><td></td></tr>
+<tr class="component2-color"><td class="provType"><a>Original Source</a></td><td></td></tr>
+<tr class="component2-color"><td><a>Trace</a></td><td><a class="rule-text" href="#trace-inference"><span>TBD</span></a></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component3-color" style="border-collapse: collapse; "><td  class="essential"><a>Agent</a></td><td> </td><td  rowspan="8"><a href="#component3">Component 3: Agents/Responsibility</a></td></tr>
+<tr class="component3-color"><td class="essential"><a>Attribution</a></td><td><a class="rule-text" href="#attribution-implication"><span>TBD</span></a> </td></tr>
+<tr class="component3-color"><td class="essential"><a>Association</a></td><td> </td></tr>
+<tr class="component3-color"><td class="essential"><a>Delegation</a></td><td> </td></tr>
+<tr class="component3-color"><td class="provType"><a>Plan</a></td><td> </td>
+<tr class="component3-color"><td class="provType"><a>Person</a></td><td> </a></td>
+<tr class="component3-color"><td class="provType"><a>Organization</a></td><td> </td>
+<tr class="component3-color"><td class="provType"><a title="software-agent">SoftwareAgent</a></td><td></td>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+
+<tr class="component4-color"><td><a>Alternate</a></td><td><a class="rule-text" href="#alternate-reflexive"><span>TBD</span></a><br><a class="rule-text" href="#alternate-transitive"><span>TBD</span></a><br><a class="rule-text" href="#alternate-symmetric"><span>TBD</span></a> </td><td  rowspan="2"><a href="#component4">Component 4: Alternate</a></td></tr>
+<tr class="component4-color"><td><a>Specialization</a></td><td><a class="rule-text" href="#specialization-irreflexive"><span>TBD</span></a><br><a class="rule-text" href="#specialization-transitive"><span>TBD</span></a><br><a class="rule-text" href="#specialization-antisymmetric"><span>TBD</span></a><br><a class="rule-text" href="#specialization-alternate"><span>TBD</span></a> </td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component5-color"><td><a title="bundle">Bundle constructor</a></td><td><a title="dfn-bundle">bundle id description_1 ... description_n endBundle</a></td><td  rowspan="3"><a href="#component5">Component 5: Bundles</a></td></tr>
+<tr class="component5-color"><td class="provType"><a title="bundle">Bundle type</a></td><td><a>... prov:type='prov:Bundle' ...</a></td></tr>
+<tr class="component5-color"><td><a>Provenance Locator</a></td><td><a title="hasProvenanceIn">hasProvenanceIn(id, subject, bundle, target, service, prov, attrs)</a></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+<tr class="component6-color"><td class="provType"><a>Collection</a></td><td><a title="collection">... prov:type='prov:Collection' ...</a></td><td  rowspan="6"><a href="#component6">Component 6: Collections</a></td></tr>
+<tr class="component6-color"><td class="provType"><a>Dictionary</a></td><td><a title="dictionary">... prov:type='prov:Dictionary' ...</a></td></tr>
+<tr class="component6-color"><td class="provType"><a title="empty dictionary">EmptyDictionary</a></td><td><a title="empty dictionary">... prov:type='prov:EmptyDictionary' ...</a></td></tr>
+<tr class="component6-color"><td><a>Insertion</a></td><td><a title="derivedByInsertionFrom">derivedByInsertionFrom(id; c2, c1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</a></td></tr>
+<tr class="component6-color"><td><a>Removal</a></td><td><a title="derivedByRemovalFrom">derivedByRemovalFrom(id; c2, c1, {key_1, ... key_n}, attrs)</a></td></tr>
+<tr class="component6-color"><td><a>Membership</a></td><td><a title="memberOf">memberOf(c, {(key_1, e_1), ..., (key_n, e_n)})</a></td></tr>
+</table>
+</div>
+
   
 </section>
 
@@ -701,11 +759,12 @@
 <section >
 <h3>Component 3: Agents</h3>
 
-Attribution identifies an agent as responsible for an entity.  An
+<p  id='attribution-implication_text'> Attribution identifies an agent as responsible for an entity.  An
 agent can only be responsible for an entity if it was associated with
 an activity that generated the entity.  If the activity, generation
 and association events are not explicit in the instance, they can
-be inferred.
+be inferred.</p>
+
 <div class='inference' id='attribution-implication'>
 <p>
 <span class='conditional'>IF</span>
@@ -821,6 +880,10 @@
     have <span class='name'>specializationOf(e,e)</span>.</p>
     </div>
 
+<p>
+<hr>
+<p id="specialization-antisymmetric_text"/>
+
 <div class='inference' id="specialization-antisymmetric">
 <p>  For any
     entities <span class='name'>e1</span>, <span
@@ -830,6 +893,11 @@
     and
 	 <span class='name'>specializationOf(e2,e1)</span>.</p>
 </div> 
+
+<p>
+<hr>
+<p id="specialization-transitive_text"/>
+
        <div class='inference' id="specialization-transitive">
 <p>
     For any
@@ -994,19 +1062,26 @@
   not very explicit about the difference between "not present" and
   "omitted but inferred".
   </div>
-<div id="optional-attributes1">PROV-DM allows for some attributes to
+<div id="optional-attributes1">
+<p>PROV-DM allows for some attributes to
   be optionally expressed. Unless otherwise specified, when an
   optional attribute is not present in a statement, some value
   SHOULD be assumed to exist for this attribute, though it is not
-  known which.
+  known which.</p>
 
   The only exceptions are:
   <ul>
    <li><span id="optional-attributes2">Activities also allow for an
   optional start time attribute.  If both are specified, they MUST be
-  the same, as expressed by the following constraint.</span></li>
-    <li><span id="optional-attributes3">Activities also allow for an optional end time attribute.  If both are specified, they MUST be the same, as expressed by the following constraint.</span></li>
-    <li>
+  the same, as expressed by <a class="rule-text"
+href="#unique-startTime"><span>TBD</span></a>.</span></li>
+
+
+
+
+    <li><span id="optional-attributes3">Activities also allow for an optional end time attribute.  If both are specified, they MUST be the same, as expressed by <a class="rule-text"
+href="#unique-endTime"><span>TBD</span></a>.</span></li>
+
 </li>
 <li><div id="optional-attributes4">In an association of the form
   <span class="name">wasAssociatedWith(a, ag, -, attr)</span>, the
@@ -1016,7 +1091,7 @@
 In an association of the form <span class="name">wasAssociatedWith(a, -, pl, attr)</span>, an agent exists but it is not identified.</div>
 </li>
 <li><div id="optional-activity">
-In a a delegation of the form <span class="name">actedOnBehalfOf(a,
+In a delegation of the form <span class="name">actedOnBehalfOf(a,
   ag2, ag1, -, attr)</span>, an activity exists but is not identified.
 </div></li>
    </ul>