Entity in place of BOB and restrictions on object properties added to ontology
authorSatya Sahoo <satya.sahoo@case.edu>
Wed, 03 Aug 2011 22:04:33 -0400
changeset 88 dbb58bc31cfc
parent 87 099575e51e2c
child 90 aa461de8309e
Entity in place of BOB and restrictions on object properties added to ontology
ontology/ProvenanceFormalModel.html
ontology/ProvenanceOntology.owl
--- a/ontology/ProvenanceFormalModel.html	Thu Aug 04 00:00:27 2011 +0100
+++ b/ontology/ProvenanceFormalModel.html	Wed Aug 03 22:04:33 2011 -0400
@@ -47,9 +47,9 @@
           // only "name" is required
           editors:  [
               { name: "Satya Sahoo", url: "http://cci.case.edu/cci/index.php/Satya_Sahoo",
-                company: "Case Western Reserve University" },
+                company: "Case Western Reserve University, USA" },
 			  { name: "Deborah McGuinness", url: "http://www.cs.rpi.edu/~dlm/",
-	                company: "Rensselaer Polytechnic Institute" }
+	                company: "Rensselaer Polytechnic Institute, USA" }
           ],
 
           // authors, add as many as you like. 
@@ -105,13 +105,12 @@
 	    <p>The Provenance Model consists of the following classes. </p>
 	    <p><i>Note: CamelBack notation is used for class names</i></p> 
 	    <section>
-		<h4>BOB</h4>
+		<h4>Entity</h4>
 		<div><b>OWL syntax</b></div>
-		<pre> pil:BOB rdfs:subClassOf owl:Thing. 
+		<pre> pil:Entity rdfs:subClassOf owl:Thing. 
 		</pre>		
 		<div><b>Class Description</b></div>
-	    <p>BOB is defined to be "A BOB represents an identifiable characterized entity." <i>(from the Provenance Conceptual Model)</i></p>
-	   <div class='issue'>The name BOB is a placeholder. The WG still has to choose a name for this construct. This is <a href="http://www.w3.org/2011/prov/track/issues/30">ISSUE-30</a></div>
+	    <p>Entity is defined to be "A Entity represents an identifiable characterized entity." <i>(from the Provenance Conceptual Model)</i></p>
 	    </section>
 		<section>
 		<h4>ProcessExecution</h4>
@@ -123,7 +122,7 @@
 		<section>
 		<h4>Agent</h4>
 	    <div><b>OWL syntax</b></div>
-		<pre>pil:Agent rdfs:subClassOf pil:BOB.</pre>
+		<pre>pil:Agent rdfs:subClassOf pil:Entity.</pre>
 		<div><b>Class Description</b></div>
 	    <p>Agent is defined to be a "characterized entity capable of activity" <i>(from the Provenance Conceptual Model)</i></p>
 	    </section>
@@ -137,21 +136,21 @@
 		<section>
 		<h4>Revision</h4>
 	    <div><b>OWL syntax</b></div>
-		<pre>pil:Revision rdfs:subClassOf pil:BOB.</pre>
+		<pre>pil:Revision rdfs:subClassOf pil:Entity.</pre>
 	    <div><b>Class Description</b></div>
-	    <p>Revision is defined as a modified version of a BOB.</p> 
+	    <p>Revision is defined as a modified version of a Entity.</p> 
 	    </section>
 		<section>
 		<h4>ProvenanceContainer</h4>
 	    <div><b>OWL syntax</b></div>
-		<pre>pil:ProvenanceContainer rdfs:subClassOf pil:BOB.</pre>
+		<pre>pil:ProvenanceContainer rdfs:subClassOf pil:Entity.</pre>
 	    <div><b>Class Description</b></div>
 	    <p>ProvenanceContainer is defined to be an aggregation of provenance assertions. A provenance container SHOULD have an URI associated with it.
 	    </section>
 		<section>
 		<h4>Location</h4>
 	    <div><b>OWL syntax</b></div>
-		<pre>pil:Location rdfs:subClassOf pil:BOB.</pre>
+		<pre>pil:Location rdfs:subClassOf pil:Entity.</pre>
 		<div><b>Class Description</b></div>
 	    <p>Location is defined to be "is an identifiable geographic place (ISO 19112)." <i>(from the Provenance Conceptual Model)</i></p>
 	    </section>
@@ -160,7 +159,7 @@
 	    <div><b>OWL syntax</b></div>
 		<pre>pil:Role rdfs:subClassOf owl:Thing.</pre>
 		<div><b>Class Description</b></div>
-	    <p>Role is defined to be "a function assumed by a BOB or an agent." <i>(from the Provenance Conceptual Model)</i></p>
+	    <p>Role is defined to be "a function assumed by a Entity or an agent." <i>(from the Provenance Conceptual Model)</i></p>
 	    </section>
 	  </section>
 	  <section> 
@@ -169,8 +168,8 @@
  	    <p><i>Note: Names of properties starts with a verb in lower case followed by verb(s) starting with upper case </i></p> 
 		<section>
 		<h4>isGeneratedBy</h4>
-	    <p>isGeneratedBy links BOB with ProcessExecution representing that BOB was generated as a result of ProcessExecution</p>
-	    <p><i>Note: No arity constraints are assumed between BOB and ProcessExecution</i></p>	
+	    <p>isGeneratedBy links Entity with ProcessExecution representing that Entity was generated as a result of ProcessExecution</p>
+	    <p><i>Note: No arity constraints are assumed between Entity and ProcessExecution</i></p>	
 	    </section>
 		<section>
 		<h4>isDerivedFrom</h4>
@@ -178,21 +177,21 @@
 	    </section>
 		<section>
 		<h4>isUsedBy</h4>
-	    <p>isUsedBy links BOB to ProcessExecution, where BOB is consumed by ProcessExecution.</p>
-	    <p><i>Note: No arity constraints are assumed between BOB and ProcessExecution</i></p>
+	    <p>isUsedBy links Entity to ProcessExecution, where Entity is consumed by ProcessExecution.</p>
+	    <p><i>Note: No arity constraints are assumed between Entity and ProcessExecution</i></p>
 	    </section>
 		<section>
 		<h4>hasParticipant</h4>
-	    <p>hasParticipant links BOB to ProcessExecution, where BOB isUsedBy or isGeneratedBy ProcessExecution.
-		<p><i>Note: No arity constraints are assumed between BOB and ProcessExecution</i></p>
+	    <p>hasParticipant links Entity to ProcessExecution, where Entity isUsedBy or isGeneratedBy ProcessExecution.
+		<p><i>Note: No arity constraints are assumed between Entity and ProcessExecution</i></p>
 	    </section>
 		<section>
 		<h4>isIVPOf</h4>
-	    <p> isIVPOf links two instances of BOB, where "it is relationship between two characterized entities asserted to have compatible characterization over some continuous time interval." <i>(from the Provenance Conceptual Model)</i></p>
+	    <p> isIVPOf links two instances of Entity, where "it is relationship between two characterized entities asserted to have compatible characterization over some continuous time interval." <i>(from the Provenance Conceptual Model)</i></p>
 	    </section>
 		<section>
 		<h4>isControlledBy</h4>
-	    <p>isControlledBy links ProcessExecution to Agent, where "Control represents the involvement of an agent or a BOB in a process execution"<i>(from the Provenance Conceptual Model)</i></p>
+	    <p>isControlledBy links ProcessExecution to Agent, where "Control represents the involvement of an agent or a Entity in a process execution"<i>(from the Provenance Conceptual Model)</i></p>
 	    </section>
 		<section>
 		<h4>isPrecededBy</h4>
@@ -249,6 +248,17 @@
 </td><td style="border-style: solid; border-width: 0 1px 1px 0">Yes
 </td></tr>
 <tr>
+<td style="border-style: solid; border-width: 0 1px 1px 0"> isParticipantIn
+</td><td style="border-style: solid; border-width: 0 1px 1px 0">No
+</td><td style="border-style: solid; border-width: 0 1px 1px 0">No
+</td><td style="border-style: solid; border-width: 0 1px 1px 0">?
+</td><td style="border-style: solid; border-width: 0 1px 1px 0">No
+</td><td style="border-style: solid; border-width: 0 1px 1px 0">Yes
+</td><td style="border-style: solid; border-width: 0 1px 1px 0">No
+</td><td style="border-style: solid; border-width: 0 1px 1px 0">Yes
+</td></tr>
+<tr>
+<tr>
 <td style="border-style: solid; border-width: 0 1px 1px 0"> isGeneratedBy
 </td><td style="border-style: solid; border-width: 0 1px 1px 0">Yes
 </td><td style="border-style: solid; border-width: 0 1px 1px 0">No
@@ -256,7 +266,6 @@
 </td><td style="border-style: solid; border-width: 0 1px 1px 0">No
 </td><td style="border-style: solid; border-width: 0 1px 1px 0">Yes
 </td><td style="border-style: solid; border-width: 0 1px 1px 0">No
-
 </td><td style="border-style: solid; border-width: 0 1px 1px 0">Yes
 </td></tr>
 <tr>
--- a/ontology/ProvenanceOntology.owl	Thu Aug 04 00:00:27 2011 +0100
+++ b/ontology/ProvenanceOntology.owl	Wed Aug 03 22:04:33 2011 -0400
@@ -43,6 +43,8 @@
     <!-- http://w3.org/ProvenanceOntology.owl#isControlledBy -->
 
     <owl:ObjectProperty rdf:about="#isControlledBy">
+        <rdf:type rdf:resource="&owl;AsymmetricProperty"/>
+        <rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
         <rdfs:range rdf:resource="#Agent"/>
         <rdfs:domain rdf:resource="#ProcessExecution"/>
     </owl:ObjectProperty>
@@ -52,10 +54,13 @@
     <!-- http://w3.org/ProvenanceOntology.owl#isDerivedFrom -->
 
     <owl:ObjectProperty rdf:about="#isDerivedFrom">
+        <rdf:type rdf:resource="&owl;AsymmetricProperty"/>
+        <rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
+        <rdf:type rdf:resource="&owl;TransitiveProperty"/>
         <rdfs:label rdf:datatype="&xsd;string"
             >isDerivedFrom links two distinct characterized entities, where &quot;some characterized entity is transformed from, created from, or affected by another characterized entity.&quot;</rdfs:label>
-        <rdfs:domain rdf:resource="#BOB"/>
-        <rdfs:range rdf:resource="#BOB"/>
+        <rdfs:range rdf:resource="#Entity"/>
+        <rdfs:domain rdf:resource="#Entity"/>
     </owl:ObjectProperty>
     
 
@@ -63,9 +68,11 @@
     <!-- http://w3.org/ProvenanceOntology.owl#isGeneratedBy -->
 
     <owl:ObjectProperty rdf:about="#isGeneratedBy">
+        <rdf:type rdf:resource="&owl;AsymmetricProperty"/>
+        <rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
         <rdfs:label rdf:datatype="&xsd;string"
             >isGeneratedBy links BOB with ProcessExecution representing that BOB was generated as a result of ProcessExecution</rdfs:label>
-        <rdfs:domain rdf:resource="#BOB"/>
+        <rdfs:domain rdf:resource="#Entity"/>
         <rdfs:range rdf:resource="#ProcessExecution"/>
         <rdfs:subPropertyOf rdf:resource="#isParticipantIn"/>
     </owl:ObjectProperty>
@@ -74,13 +81,19 @@
 
     <!-- http://w3.org/ProvenanceOntology.owl#isParticipantIn -->
 
-    <owl:ObjectProperty rdf:about="#isParticipantIn"/>
+    <owl:ObjectProperty rdf:about="#isParticipantIn">
+        <rdf:type rdf:resource="&owl;AsymmetricProperty"/>
+        <rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
+    </owl:ObjectProperty>
     
 
 
     <!-- http://w3.org/ProvenanceOntology.owl#isPrecededBy -->
 
     <owl:ObjectProperty rdf:about="#isPrecededBy">
+        <rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
+        <rdf:type rdf:resource="&owl;ReflexiveProperty"/>
+        <rdf:type rdf:resource="&owl;TransitiveProperty"/>
         <rdfs:domain rdf:resource="#ProcessExecution"/>
         <rdfs:range rdf:resource="#ProcessExecution"/>
     </owl:ObjectProperty>
@@ -90,7 +103,9 @@
     <!-- http://w3.org/ProvenanceOntology.owl#isUsedBy -->
 
     <owl:ObjectProperty rdf:about="#isUsedBy">
-        <rdfs:domain rdf:resource="#BOB"/>
+        <rdf:type rdf:resource="&owl;AsymmetricProperty"/>
+        <rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
+        <rdfs:domain rdf:resource="#Entity"/>
         <rdfs:range rdf:resource="#ProcessExecution"/>
         <rdfs:subPropertyOf rdf:resource="#isParticipantIn"/>
     </owl:ObjectProperty>
@@ -113,14 +128,14 @@
     <owl:Class rdf:about="#Agent">
         <rdfs:label rdf:datatype="&xsd;string"
             >An agent represents a characterized entity capable of activity.</rdfs:label>
-        <rdfs:subClassOf rdf:resource="#BOB"/>
+        <rdfs:subClassOf rdf:resource="#Entity"/>
     </owl:Class>
     
 
 
-    <!-- http://w3.org/ProvenanceOntology.owl#BOB -->
+    <!-- http://w3.org/ProvenanceOntology.owl#Entity -->
 
-    <owl:Class rdf:about="#BOB">
+    <owl:Class rdf:about="#Entity">
         <rdfs:label rdf:datatype="&xsd;string"
             >A BOB represents an identifiable characterized entity.</rdfs:label>
     </owl:Class>
@@ -147,7 +162,7 @@
     <owl:Class rdf:about="#ProvenanceContainer">
         <rdfs:label rdf:datatype="&xsd;string"
             >ProvenanceContainer is defined to be an aggregation of provenance assertions. A provenance container SHOULD have an URI associated with it.</rdfs:label>
-        <rdfs:subClassOf rdf:resource="#BOB"/>
+        <rdfs:subClassOf rdf:resource="#Entity"/>
     </owl:Class>
     
 
@@ -164,7 +179,7 @@
     <!-- http://w3.org/ProvenanceOntology.owl#Role -->
 
     <owl:Class rdf:about="#Role">
-        <rdfs:subClassOf rdf:resource="#BOB"/>
+        <rdfs:subClassOf rdf:resource="#Entity"/>
         <rdfs:comment rdf:datatype="&xsd;string"
             >Role is defined to be &quot;a function assumed by a BOB or an agent.&quot;</rdfs:comment>
     </owl:Class>