--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ontology/components/wasScheduledAfter/prov-dm-constraint-wasScheduledAfter.ttl	Mon Nov 21 10:49:55 2011 -0500
@@ -0,0 +1,49 @@
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
+@prefix owl:     <http://www.w3.org/2002/07/owl#> .
+@prefix time:    <http://www.w3.org/2006/time#> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+@prefix skos:    <http://www.w3.org/2008/05/skos#> .
+@prefix prov:    <http://www.w3.org/ns/prov-o/> .
+@prefix :        <#> .
+
+:a1 a prov:ProcessExecution .
+
+:a2
+   rdfs:seeAlso <http://dvcs.w3.org/hg/prov/raw-file/default/model/ProvenanceModel.html#record-OrderingOfActivities>;
+   dcterms:description "Given two activity records identified by a1 and a2, the record wasScheduledAfter(a2,a1) holds, if and only if there are two entity records identified by e1 and e2, such that wasControlledBy(a1,e1,[prov:role='end']) and wasControlledBy(a2,e2,[prov:role='start']) and wasDerivedFrom(e2,e1).";
+
+   a prov:ProcessExecution;
+   prov:wasScheduledAfter :a1;
+.
+
+
+# <= If and only if =>
+
+:e1 a prov:Entity .
+:e2 a prov:Entity .
+
+:a1
+   dcterms:description "wasControlledBy(a1,e1,[prov:role='end'])";
+   prov:wasControlledBy :e1;
+   prov:qualfiedControl [
+      a prov:Control;
+      prov:hadRole "end";
+   ];
+.
+
+:a2
+   dcterms:description "wasControlledBy(a2,e2,[prov:role='start'])";
+   prov:wasControlledBy :e2;
+   prov:qualfiedControl [
+      a prov:Control;
+      prov:hadRole "start";
+   ];
+.
+
+:e2
+   dcterms:description "wasDerivedFrom(e2,e1)";
+   prov:wasDerivedFrom :e1;
+   rdfs:comment "The second agent being 'derived' from the first enforces temporal ordering.";
+.
--- a/ontology/components/wasScheduledAfter/prov-dm-wasScheduledAfter.ttl	Mon Nov 21 15:48:22 2011 +0000
+++ b/ontology/components/wasScheduledAfter/prov-dm-wasScheduledAfter.ttl	Mon Nov 21 10:49:55 2011 -0500
@@ -9,16 +9,16 @@
 @prefix app: <http://www.w3.org/TR/2011/WD-prov-dm-20111018/app#> .
 @prefix :    <http://www.w3.org/TR/2011/WD-prov-dm-20111018/#> .
 
-:pe1
+:a1
    rdfs:seeAlso <http://www.w3.org/TR/2011/WD-prov-dm-20111018/#expression-OrderingOfProcessExecutions>;
-   dcterms:description "processExecution(pe1,long-workflow,t1,t2,[host='server1.example.org'])";
+   dcterms:description "activity(a1,long-workflow,t1,t2,[host='server1.example.org'])";
    a prov:ProcessExecution;
    prov:hadRecipe :long-workflow;
    time:hasBeginning [ a prov:Time; rdf:value 1 ];
    time:hasEnd       [ a prov:Time; rdf:value 2 ];
    :host <http://server.example.org>;
 
-   dcterms:description "wasControlledBy(pe1,e1,qualifier(role='end'))";
+   dcterms:description "wasControlledBy(a1,e1,qualifier(role='end'))";
    prov:wasControlledBy :e1;
    prov:qualifedControl [
       a prov:Control;
@@ -32,16 +32,16 @@
 .
 :end a prov:Role .
 
-:pe2
+:a2
    rdfs:seeAlso <http://www.w3.org/TR/2011/WD-prov-dm-20111018/#expression-OrderingOfProcessExecutions>;
-   dcterms:description "processExecution(pe2,long-workflow,t3,t4,[host='server2.example.org'])";
+   dcterms:description "activity(a2,long-workflow,t3,t4,[host='server2.example.org'])";
    a prov:ProcessExecution;
    prov:hadRecipe :long-workflow;
    time:hasBeginning [ a prov:Time; rdf:value 3 ];
    time:hasEnd       [ a prov:Time; rdf:value 4 ];
    :host <http://server2.example.org>;
 
-   dcterms:description "wasControlledBy(pe2,e2,qualifier(role='start'))";
+   dcterms:description "wasControlledBy(a2,e2,qualifier(role='start'))";
    prov:wasControlledBy :e2;
    prov:qualifedControl [
       a prov:Control;
@@ -49,8 +49,8 @@
       prov:role :start;
    ];
 
-   dcterms:description "wasScheduledAfter(pe2,pe1)";
-   prov:wasScheduledAfter :pe1;
+   dcterms:description "wasScheduledAfter(a2,a1)";
+   prov:wasScheduledAfter :a1;
 .
 :e1
    rdfs:seeAlso <http://www.w3.org/TR/2011/WD-prov-dm-20111018/#expression-OrderingOfProcessExecutions>;