experimental startedAt etc.
authorStian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
Thu, 20 Oct 2011 17:41:27 +0100
changeset 759 6c73d96a892e
parent 758 d6e34fe039ae
child 760 996447ae712d
experimental startedAt etc.
ontology/ProvenanceFormalModel.html
ontology/ProvenanceOntology.owl
--- a/ontology/ProvenanceFormalModel.html	Thu Oct 20 15:39:27 2011 +0100
+++ b/ontology/ProvenanceFormalModel.html	Thu Oct 20 17:41:27 2011 +0100
@@ -324,6 +324,17 @@
 		  </div>
 	    </section>
 
+		<section id="time">
+		  <h4>Time</h4>	    
+	      <div><b>Class Description</b></div>
+	      <p><code>Time</code> is subclass of <code>time:Instant</code>
+          from [[!OWL-TIME]] which requires that the time is defined 
+          using the <code>time:inXSDDateTime</code> property. This
+          class used with <code>startedAt</code> and other subproperties
+          of <code>hasTemporalValue</code> ensures compatibility with <code>xsd:dateTime</code> literals
+          expressions in [[PROV-DM]] ASN and other serialisations. 
+          c</p> 
+		</section>
 
 
 		<section id="revision">
@@ -579,11 +590,109 @@
                style="height: 3em"  alt="followed links ProcessExecution to ProcessExecution" />		      
 		</section>
 		
-		 <section id="hastemporalvalue">
+		<section id="hastemporalvalue">
 	          <h4>hasTemporalValue</h4>
-	          <p> This object property links an instance of ProcessExecution or Entity with TemporalEntity thereby allowing association of time value with instances of the two classes and their subclasses
+	          <p> This object property links an instance of
+              <code>ProcessExecution</code> or <code>Entity</code> with an
+              <code>time:TemporalEntity</code> from [[!OWL-TIME]], thereby
+              allowing association of time value with instances of the
+              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>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>
+              which mandates the use of the
+              <code>time:inXSDDateTime</code> data property.
 	          </p>
-	        </section>
+	    </section>
+		<section id="startedAt">
+	          <h4>startedAt</h4>
+              <p> This object property defines the time when a
+              <code>ProcessExecution</code> started. The time is specified as an
+              <code>time:Instant</code> [[!OWL-TIME]], which MAY be a 
+              <code>Time</code> subclass by specifying the time using a
+              <code>time:inXSDDateTime</code> data property.
+	          </p>
+              <div class="exampleOuter">
+                <pre class="example">
+                    &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#pe1"&gt;
+                      &lt;prov:startedAt rdf:parseType="Resource"&gt;
+                          &lt;rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Time"/&gt;
+                          &lt;time:inXSDDateTime&gt;2011-10-20T16:26:45Z&lt;/time:inXSDDateTime&gt;
+                      &lt;/prov:startedAt&gt;
+                    &lt;/rdf:Description&gt;	
+                </pre>
+              </div>		
+	    </section>
+		<section id="endedAt">
+	          <h4>endedAt</h4>
+              <p> This object property defines the time when a
+              <code>ProcessExecution</code> ended. The time is specified as an
+              <code>time:Instant</code> [[!OWL-TIME]], which MAY be a 
+              <code>Time</code> subclass by specifying the time using a
+              <code>time:inXSDDateTime</code> data property.
+	          </p>
+              <div class="exampleOuter">
+                <pre class="example">
+                    &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#pe1"&gt;
+                      &lt;prov:endedAt rdf:parseType="Resource"&gt;
+                          &lt;rdf:type rdf:resource="http://www.w3.org/ns/prov-o/Time"/&gt;
+                          &lt;time:inXSDDateTime&gt;2011-11-21T18:36:52Z&lt;/time:inXSDDateTime&gt;
+                      &lt;/prov:endedAt&gt;
+                    &lt;/rdf:Description&gt;	
+                </pre>
+              </div>		
+	    </section>
+		<section id="wasGeneratedAt">
+	          <h4>wasGeneratedAt</h4>
+              <p> This object property defines the time when a
+              <code>Entity</code> was generated (as specified using
+              <code>wasGeneratedBy</code>), meaning the instant when the entity 
+              first existed (and could be used by other process
+              executions). The time is specified as an
+              <code>time:Instant</code> [[!OWL-TIME]], which MAY be a 
+              <code>Time</code> subclass by specifying the time using a
+              <code>time:inXSDDateTime</code> data property.
+	          </p>
+              <div class="exampleOuter">
+                <pre class="example">
+                    &lt;rdf:Description rdf:about="http://www.example.com/crimeFile#e1"&gt;
+                      &lt;prov:wasGeneratedAt rdf:parseType="Resource"&gt;
+                          &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:wasGeneratedAt&gt;
+                    &lt;/rdf:Description&gt;	
+                </pre>
+              </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. 
+              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
+              <code>time:Instant</code> [[!OWL-TIME]], which MAY be a 
+              <code>Time</code> subclass by specifying the time using a
+              <code>time:inXSDDateTime</code> data property.
+	          </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;
+                            &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;
+                    &lt;/rdf:Description&gt;	
+                </pre>
+              </div>		
+	    </section>
 
       </section>
 
--- a/ontology/ProvenanceOntology.owl	Thu Oct 20 15:39:27 2011 +0100
+++ b/ontology/ProvenanceOntology.owl	Thu Oct 20 17:41:27 2011 +0100
@@ -23,6 +23,7 @@
      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
     <owl:Ontology rdf:about="">
         <owl:versionInfo rdf:datatype="&xsd;string">0.02</owl:versionInfo>
+        <owl:imports rdf:resource="&time" /> 
         <rdfs:comment xml:lang="en"
             >This document is published by the Provenance Working Group (http://www.w3.org/2011/prov/wiki/Main_Page). 
 
@@ -68,6 +69,7 @@
         <rdfs:label xml:lang="en">preceded</rdfs:label>
         <rdfs:domain rdf:resource="ProcessExecution"/>
         <rdfs:range rdf:resource="ProcessExecution"/>
+        <rdfs:subPropertyOf rdf:resource="&time;intervalAfter" />
     </owl:ObjectProperty>
     
 
@@ -118,13 +120,43 @@
             <owl:Class>
                 <owl:unionOf rdf:parseType="Collection">
                     <rdf:Description rdf:about="Entity"/>
-                    <rdf:Description rdf:about="ProcessExecution"/>
+                        <rdf:Description rdf:about="ProcessExecution"/>
                 </owl:unionOf>
             </owl:Class>
         </rdfs:domain>
     </owl:ObjectProperty>
     
-
+    <!-- adapted from components/Time.ttl and
+    components/Time/example-3-extension.ttl -->
+    <owl:ObjectProperty rdf:about="startedAt">
+        <rdfs:subPropertyOf rdf:resource="hasTemporalValue" />
+        <rdfs:subPropertyOf rdf:resource="&time;hasBeginning" />
+        <rdfs:domain rdf:resource="ProcessExecution"/>
+        <rdfs:range rdf:resource="&time;Instant"/>
+    </owl:ObjectProperty>
+    <owl:ObjectProperty rdf:about="endedAt">
+        <rdfs:subPropertyOf rdf:resource="hasTemporalValue" />
+        <rdfs:subPropertyOf rdf:resource="&time;hasEnd" />
+        <rdfs:domain rdf:resource="ProcessExecution"/>
+        <rdfs:range rdf:resource="&time;Instant"/>
+    </owl:ObjectProperty>
+    <owl:ObjectProperty rdf:about="wasGeneratedAt">
+        <rdfs:subPropertyOf rdf:resource="hasTemporalValue" />
+        <rdfs:subPropertyOf rdf:resource="&time;hasBeginning" />
+        <rdfs:domain rdf:resource="Entity"/>
+        <rdfs:range rdf:resource="&time;Instant"/>
+    </owl:ObjectProperty>
+    <owl:ObjectProperty rdf:about="assumedRoleAt">
+        <rdfs:subPropertyOf rdf:resource="hasTemporalValue" />
+        <rdfs:subPropertyOf rdf:resource="&time;hasBeginning" />
+        <rdfs:domain rdf:resource="EntityInRole"/>
+        <rdfs:range rdf:resource="&time;Instant"/>
+    </owl:ObjectProperty>
+    
+    <owl:Class rdf:about="Time">
+        <rdfs:subClassOf rdf:resource="&time;Instant" />
+    </owl:Class>  
+  
 
     <!-- http://www.w3.org/ns/prov-o/used -->
 
@@ -230,24 +262,6 @@
     
 
 
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Data properties
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.w3.org/2006/time#inXSDDateTime -->
-
-    <owl:DatatypeProperty rdf:about="&time;inXSDDateTime">
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-        <rdfs:domain rdf:resource="&time;Instant"/>
-    </owl:DatatypeProperty>
-    
 
 
     <!-- 
@@ -263,36 +277,6 @@
 
     <!-- http://www.w3.org/2006/time#Instant -->
 
-    <owl:Class rdf:about="&time;Instant">
-        <rdfs:subClassOf rdf:resource="&time;TemporalEntity"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/2006/time#Interval -->
-
-    <owl:Class rdf:about="&time;Interval">
-        <rdfs:subClassOf rdf:resource="&time;TemporalEntity"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/2006/time#TemporalEntity -->
-
-    <owl:Class rdf:about="&time;TemporalEntity">
-        <owl:equivalentClass>
-            <owl:Class>
-                <owl:unionOf rdf:parseType="Collection">
-                    <rdf:Description rdf:about="&time;Instant"/>
-                    <rdf:Description rdf:about="&time;Interval"/>
-                </owl:unionOf>
-            </owl:Class>
-        </owl:equivalentClass>
-        <rdfs:comment xml:lang="en"
-            >Time represents temporal information about entities in the Provenance model.</rdfs:comment>
-    </owl:Class>
-    
-
 
     <!-- http://www.w3.org/ns/prov-o/Agent -->