<?xml version="1.0"?>


<!DOCTYPE rdf:RDF [
    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
    <!ENTITY swrl "http://www.w3.org/2003/11/swrl#" >
    <!ENTITY swrlb "http://www.w3.org/2003/11/swrlb#" >
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTITY owl2xml "http://www.w3.org/2006/12/owl2-xml#" >
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
    <!ENTITY orechem "http://www.openarchives.org/2010/05/24-orechem-core-ns#" >
]>


<rdf:RDF xmlns="&orechem;experiments/"
     xml:base="http://www.openarchives.org/2010/05/24-orechem-core-ns"
     xmlns:owl2xml="http://www.w3.org/2006/12/owl2-xml#"
     xmlns:orechem="http://www.openarchives.org/2010/05/24-orechem-core-ns#"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:swrl="http://www.w3.org/2003/11/swrl#"
     xmlns:swrlb="http://www.w3.org/2003/11/swrlb#"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:owl="http://www.w3.org/2002/07/owl#">
    <owl:Ontology rdf:about="">
        <rdfs:comment rdf:datatype="&xsd;string"
            >Rule: To establish provenance, the followed [eo:followed] object property should be asserted when the emission [eo:emitted] of a stage [eo:Stage] is used [eo:used] by another stage.</rdfs:comment>
        <owl:versionInfo
            >v 1.01 2010/01/27 00:00:00 mib</owl:versionInfo>
        <rdfs:comment
            >Rule: The derives [eo:derives] object property should be asserted if the requirements [eo:requires] and emissions [eo:emits] of a plan-stage [eo:PlanStage] are distinct.</rdfs:comment>
        <rdfs:comment
            >Rule: To establish provenance, the derived from [eo:derivedFrom] object property should be asserted when the derivative [eo:derives] of an object-type [eo:ObjectType] is realised within the context of a run [eo:Run].</rdfs:comment>
        <rdfs:comment
            >The oreChem s Ontology [eo] describes (a) the planned method of a scientific experiment; (b) the enactment of plans and (c) the provenance of objects realised during enactments.</rdfs:comment>
        <rdfs:comment
            >Rule: The follows [eo:follows] object property should be asserted if the emission [eo:emits] of a plan-stage [eo:PlanStage] is required [eo:requires] by another plan-stage.</rdfs:comment>
    </owl:Ontology>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Object Properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#containsObject -->

    <owl:ObjectProperty rdf:about="#containsObject">
        <rdfs:label
            >contains experiment object</rdfs:label>
        <rdfs:comment
            >Definition: An experiment run [eo:Run] may contain [eo:containsObject] zero or many experiment objects [eo:Object].</rdfs:comment>
        <rdfs:range rdf:resource="#Object"/>
        <rdfs:domain rdf:resource="#Run"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#containsObjectType -->

    <owl:ObjectProperty rdf:about="#containsObjectType">
        <rdfs:label
            >contains experiment object-type</rdfs:label>
        <rdfs:comment
            >Definition: An experiment plan [eo:Plan] may contain [eo:containsObjectType] one or many experiment object-types [eo:ObjectType].</rdfs:comment>
        <rdfs:range rdf:resource="#ObjectType"/>
        <rdfs:domain rdf:resource="#Plan"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#containsPlanStage -->

    <owl:ObjectProperty rdf:about="#containsPlanStage">
        <rdfs:label
            >contains experiment plan-stage</rdfs:label>
        <rdfs:comment
            >Definition: An experiment plan [eo:Plan] may contain [eo:containsPlanStage] one or many experiment plan-stages [eo:PlanStage].</rdfs:comment>
        <rdfs:domain rdf:resource="#Plan"/>
        <rdfs:range rdf:resource="#PlanStage"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#containsStage -->

    <owl:ObjectProperty rdf:about="#containsStage">
        <rdfs:label
            >contains experiment stage</rdfs:label>
        <rdfs:comment
            >Definition: An experiment run [eo:Run] may contain [eo:containsStage] zero or many experiment stages [eo:Stage].</rdfs:comment>
        <rdfs:domain rdf:resource="#Run"/>
        <rdfs:range rdf:resource="#Stage"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#derivedFrom -->

    <owl:ObjectProperty rdf:about="#derivedFrom">
        <rdf:type rdf:resource="&owl;TransitiveProperty"/>
        <rdfs:label>derived from</rdfs:label>
        <rdfs:comment
            >Definition: To establish provenance, an experiment object [eo:Object] should assert this object property explicitly if it is a derivative [eo:derivedFrom] of another experiment object.</rdfs:comment>
        <rdfs:range rdf:resource="#Object"/>
        <rdfs:domain rdf:resource="#Object"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#derives -->

    <owl:ObjectProperty rdf:about="#derives">
        <rdf:type rdf:resource="&owl;TransitiveProperty"/>
        <rdfs:label>derives</rdfs:label>
        <rdfs:comment
            >Definition: An experiment object-type [eo:ObjectType] may  derive [eo:derives] zero or many experiment object-types.</rdfs:comment>
        <rdfs:domain rdf:resource="#ObjectType"/>
        <rdfs:range rdf:resource="#ObjectType"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#emits -->

    <owl:ObjectProperty rdf:about="#emits">
        <rdfs:label>emits</rdfs:label>
        <rdfs:comment
            >Definition: An experiment plan-stage [eo:PlanStage] may emit [eo:emits] zero or many experiment object-types [eo:ObjectType].</rdfs:comment>
        <rdfs:range rdf:resource="#ObjectType"/>
        <rdfs:domain rdf:resource="#PlanStage"/>
        <owl:propertyDisjointWith rdf:resource="#requires"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#emitted -->

    <owl:ObjectProperty rdf:about="#emitted">
        <rdfs:label>emitted</rdfs:label>
        <rdfs:comment
            >Definition: An experiment stage [eo:Stage] may emit [eo:emitted] zero or many experiment objects [eo:Object].</rdfs:comment>
        <rdfs:range rdf:resource="#Object"/>
        <rdfs:domain rdf:resource="#Stage"/>
        <owl:propertyDisjointWith rdf:resource="#used"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#followed -->

    <owl:ObjectProperty rdf:about="#followed">
        <rdf:type rdf:resource="&owl;TransitiveProperty"/>
        <rdfs:range rdf:resource="#Stage"/>
        <rdfs:domain rdf:resource="#Stage"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#follows -->

    <owl:ObjectProperty rdf:about="#follows">
        <rdf:type rdf:resource="&owl;TransitiveProperty"/>
        <rdfs:label>follows</rdfs:label>
        <rdfs:comment
            >Definition: An experiment plan-stage [eo:PlanStage] may follow [eo:follows] zero or many experiment plan-stages.</rdfs:comment>
        <rdfs:range rdf:resource="#PlanStage"/>
        <rdfs:domain rdf:resource="#PlanStage"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#hasObjectType -->

    <owl:ObjectProperty rdf:about="#hasObjectType">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:label
            >has experiment object-type</rdfs:label>
        <rdfs:comment
            >Definition: An experiment object [eo:Object] must reference [eo:hasObjectType] exactly one experiment object-type [eo:ObjectType].</rdfs:comment>
        <rdfs:domain rdf:resource="#Object"/>
        <rdfs:range rdf:resource="#ObjectType"/>
        <rdfs:subPropertyOf rdf:resource="#hasPlanThing"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#hasPlan -->

    <owl:ObjectProperty rdf:about="#hasPlan">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:label
            >has experiment plan</rdfs:label>
        <rdfs:comment
            >Definition: An experiment run [eo:Run] must reference [eo:hasPlan] exactly one experiment plan [eo:Plan].</rdfs:comment>
        <rdfs:range rdf:resource="#Plan"/>
        <rdfs:domain rdf:resource="#Run"/>
        <rdfs:subPropertyOf rdf:resource="#hasPlanThing"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#hasPlanStage -->

    <owl:ObjectProperty rdf:about="#hasPlanStage">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:label
            >has experiment plan-stage</rdfs:label>
        <rdfs:comment
            >Definition: An experiment stage [eo:Stage] must reference [eo:hasPlanStage] exactly one experiment plan-stage [eo:PlanStage].</rdfs:comment>
        <rdfs:range rdf:resource="#PlanStage"/>
        <rdfs:domain rdf:resource="#Stage"/>
        <rdfs:subPropertyOf rdf:resource="#hasPlanThing"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#hasPlanThing -->

    <owl:ObjectProperty rdf:about="#hasPlanThing">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:label>has plan</rdfs:label>
        <rdfs:comment
            >Definition: A run-thing [eo:RunThing] must reference [eo:hasPlanThing] exactly one plan-thing [eo:PlanThing].</rdfs:comment>
        <rdfs:range rdf:resource="#PlanThing"/>
        <rdfs:domain rdf:resource="#RunThing"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#requires -->

    <owl:ObjectProperty rdf:about="#requires">
        <rdfs:label>requires</rdfs:label>
        <rdfs:comment
            >Definition: An experiment plan-stage [eo:PlanStage] may require [eo:requires] one or many experiment object-types [eo:ObjectType].</rdfs:comment>
        <rdfs:range rdf:resource="#ObjectType"/>
        <rdfs:domain rdf:resource="#PlanStage"/>
    </owl:ObjectProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#used -->

    <owl:ObjectProperty rdf:about="#used">
        <rdfs:label>used</rdfs:label>
        <rdfs:comment
            >Definition: An experiment stage [eo:Stage] may use [eo:used] one or many experiment objects [eo:Object].</rdfs:comment>
        <rdfs:range rdf:resource="#Object"/>
        <rdfs:domain rdf:resource="#Stage"/>
    </owl:ObjectProperty>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Data properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#created -->

    <owl:DatatypeProperty rdf:about="#created">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:label>created</rdfs:label>
        <rdfs:comment
            >Definition: A run-thing [eo:RunThing] must assert when it was created [eo:created].</rdfs:comment>
        <rdfs:domain rdf:resource="#RunThing"/>
        <rdfs:range rdf:resource="&xsd;dateTime"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#destroyed -->

    <owl:DatatypeProperty rdf:about="#destroyed">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:label>destroyed</rdfs:label>
        <rdfs:comment
            >Definition: A run-thing [eo:RunThing] may assert when it was destroyed [eo:destroyed].</rdfs:comment>
        <rdfs:domain rdf:resource="#RunThing"/>
        <rdfs:range rdf:resource="&xsd;dateTime"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#finished -->

    <owl:DatatypeProperty rdf:about="#finished">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:label>finished</rdfs:label>
        <rdfs:comment
            >Definition: An experiment event [eo:Event] may assert that it has finished [eo:finished].</rdfs:comment>
        <rdfs:domain rdf:resource="#Event"/>
        <rdfs:range rdf:resource="&xsd;dateTime"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#ready -->

    <owl:DatatypeProperty rdf:about="#ready">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:label>ready</rdfs:label>
        <rdfs:comment
            >Definition: An experiment stage [eo:Stage] may assert that it is ready [eo:ready].</rdfs:comment>
        <rdfs:domain rdf:resource="#Stage"/>
        <rdfs:range rdf:resource="&xsd;dateTime"/>
    </owl:DatatypeProperty>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#started -->

    <owl:DatatypeProperty rdf:about="#started">
        <rdf:type rdf:resource="&owl;FunctionalProperty"/>
        <rdfs:label>started</rdfs:label>
        <rdfs:comment
            >Definition: An experiment event [eo:Event] may assert that it has started [eo:started].</rdfs:comment>
        <rdfs:domain rdf:resource="#Event"/>
        <rdfs:range rdf:resource="&xsd;dateTime"/>
    </owl:DatatypeProperty>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Classes
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#CreatedRunThing -->

    <owl:Class rdf:about="#CreatedRunThing">
        <rdfs:label
            >created run-thing</rdfs:label>
        <owl:equivalentClass>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#created"/>
                <owl:someValuesFrom rdf:resource="&xsd;dateTime"/>
            </owl:Restriction>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="#RunThing"/>
        <rdfs:comment
            >Definition: A created run-thing [eo:CreatedRunThing] is a run-thing [eo:RunThing] that has been created [eo:created].</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#DestroyedRunThing -->

    <owl:Class rdf:about="#DestroyedRunThing">
        <rdfs:label
            >destroyed run-thing</rdfs:label>
        <rdfs:label
            >Definition: A destroyed run-thing [eo:DestroyedRunThing] is a created run-thing [eo:CreatedRunThing] that has been destroyed [eo:destroyed].</rdfs:label>
        <owl:equivalentClass>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#destroyed"/>
                <owl:someValuesFrom rdf:resource="&xsd;dateTime"/>
            </owl:Restriction>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="#CreatedRunThing"/>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#Event -->

    <owl:Class rdf:about="#Event">
        <rdfs:label>event</rdfs:label>
        <owl:equivalentClass>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="#Run"/>
                    <rdf:Description rdf:about="#Stage"/>
                </owl:unionOf>
            </owl:Class>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="#RunThing"/>
        <owl:disjointWith rdf:resource="#Object"/>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#File -->

    <owl:Class rdf:about="#File">
        <rdfs:label>file</rdfs:label>
        <rdfs:subClassOf rdf:resource="#Object"/>
        <owl:disjointWith rdf:resource="#Substance"/>
        <rdfs:comment
            >Definition: A file [eo:File] is a realisation of a yet-to-exist file [eo:YetToExistFile].</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#FinishedEvent -->

    <owl:Class rdf:about="#FinishedEvent">
        <rdfs:label>finished event</rdfs:label>
        <owl:equivalentClass>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#finished"/>
                <owl:someValuesFrom rdf:resource="&xsd;dateTime"/>
            </owl:Restriction>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="#StartedEvent"/>
        <rdfs:comment
            >Definition: A finished event [eo:FinishedEvent] is an event [eo:Event] that has been flagged as finished [eo:finished].</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#Object -->

    <owl:Class rdf:about="#Object">
        <rdfs:label>object</rdfs:label>
        <rdfs:subClassOf rdf:resource="#RunThing"/>
        <rdfs:comment
            >Definition: An object [eo:Object] is a realisation of an object-type [eo:ObjectType].</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#ObjectType -->

    <owl:Class rdf:about="#ObjectType">
        <rdfs:label>object-type</rdfs:label>
        <rdfs:subClassOf rdf:resource="#PlanThing"/>
        <rdfs:comment
            >Definition: An object-type [eo:ObjectType] is an abstract description of an object realised during an enactment of a plan.</rdfs:comment>
        <rdfs:comment
            >Examples: A text file; the molecular entity for liquid water; an empty test-tube; a beaker containing 200ml of Solution X; a X-ray spectrometer</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#Plan -->

    <owl:Class rdf:about="#Plan">
        <rdfs:label>plan</rdfs:label>
        <rdfs:subClassOf rdf:resource="#PlanThing"/>
        <rdfs:comment
            >Definition: An plan [eo:Plan] is a description of the planned method (methodology) of a scientific experiment.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#PlanStage -->

    <owl:Class rdf:about="#PlanStage">
        <rdfs:label>plan-stage</rdfs:label>
        <rdfs:subClassOf rdf:resource="#PlanThing"/>
        <rdfs:comment
            >Definition: An plan-stage [eo:PlanStage] is an atomic event that is subject to pre and post conditions and is enacted within the context of a plan [eo:Plan].</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#PlanThing -->

    <owl:Class rdf:about="#PlanThing">
        <rdfs:label>plan-thing</rdfs:label>
        <owl:equivalentClass>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="#ObjectType"/>
                    <rdf:Description rdf:about="#Plan"/>
                    <rdf:Description rdf:about="#PlanStage"/>
                </owl:unionOf>
            </owl:Class>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
        <owl:disjointWith rdf:resource="#RunThing"/>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#ReadyStage -->

    <owl:Class rdf:about="#ReadyStage">
        <rdfs:label>ready stage</rdfs:label>
        <owl:equivalentClass>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#ready"/>
                <owl:someValuesFrom rdf:resource="&xsd;dateTime"/>
            </owl:Restriction>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="#Stage"/>
        <rdfs:comment
            >Definition: A ready stage [eo:ReadyStage] is an stage [eo:Stage] that has been flagged as ready [eo:ready].</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#RealisedRunThing -->

    <owl:Class rdf:about="#RealisedRunThing">
        <rdfs:label
            >realised run-thing</rdfs:label>
        <owl:equivalentClass>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#hasPlanThing"/>
                <owl:someValuesFrom rdf:resource="#PlanThing"/>
            </owl:Restriction>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="#RunThing"/>
        <rdfs:comment
            >Definition: A realised run-thing [eo:RealisedRunThing] is a run-thing [eo:RunThing] that references [eo:hasPlanThing] a plan-thing [eo:PlanThing].</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#Run -->

    <owl:Class rdf:about="#Run">
        <rdfs:label>run</rdfs:label>
        <rdfs:subClassOf rdf:resource="#Event"/>
        <owl:disjointWith rdf:resource="#Stage"/>
        <rdfs:comment
            >Definition: An run [eo:Run] is a realisation of a plan [eo:Plan].</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#RunThing -->

    <owl:Class rdf:about="#RunThing">
        <rdfs:label>run-thing</rdfs:label>
        <owl:equivalentClass>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="#Event"/>
                    <rdf:Description rdf:about="#Object"/>
                </owl:unionOf>
            </owl:Class>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#Stage -->

    <owl:Class rdf:about="#Stage">
        <rdfs:label>stage</rdfs:label>
        <rdfs:subClassOf rdf:resource="#Event"/>
        <rdfs:comment
            >Definition: A stage [eo:Stage] is a realisation of a plan-stage [eo:PlanStage].</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#StartedEvent -->

    <owl:Class rdf:about="#StartedEvent">
        <rdfs:label>started event</rdfs:label>
        <owl:equivalentClass>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#started"/>
                <owl:someValuesFrom rdf:resource="&xsd;dateTime"/>
            </owl:Restriction>
        </owl:equivalentClass>
        <rdfs:subClassOf rdf:resource="#Event"/>
        <rdfs:comment
            >Definition: A started event [eo:StartedEvent] is an event [eo:Event] that has been flagged as started [eo:started].</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#Substance -->

    <owl:Class rdf:about="#Substance">
        <rdfs:label>substance</rdfs:label>
        <rdfs:subClassOf rdf:resource="#Object"/>
        <rdfs:comment
            >Definition: A substance [eo:Substance] is a realisation of a yet-to-exist substance [eo:YetToExistSubstance].</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#YetToExistFile -->

    <owl:Class rdf:about="#YetToExistFile">
        <rdfs:label
            >yet-to-exist file</rdfs:label>
        <rdfs:subClassOf rdf:resource="#ObjectType"/>
        <owl:disjointWith rdf:resource="#YetToExistSubstance"/>
        <rdfs:comment
            >Definition: A yet-to-exist file [eo:YetToExistFile] is an experiment object-type [eo:ObjectType] that is realised as a file.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.openarchives.org/2010/05/24-orechem-core-ns#YetToExistSubstance -->

    <owl:Class rdf:about="#YetToExistSubstance">
        <rdfs:label
            >yet-to-exist substance</rdfs:label>
        <rdfs:subClassOf rdf:resource="#ObjectType"/>
        <rdfs:comment
            >Note: All substances are potentially hazardous.</rdfs:comment>
        <rdfs:comment
            >Definition: A yet-to-exist substance [eo:YetToExistSubstance] is an experiment object-type [eo:ObjectType] that is realised as a chemical substance.</rdfs:comment>
    </owl:Class>
    


    <!-- http://www.w3.org/2002/07/owl#Thing -->

    <owl:Class rdf:about="&owl;Thing"/>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // General axioms
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    <rdf:Description>
        <rdf:type rdf:resource="&owl;AllDisjointClasses"/>
        <owl:members rdf:parseType="Collection">
            <rdf:Description rdf:about="#ObjectType"/>
            <rdf:Description rdf:about="#Plan"/>
            <rdf:Description rdf:about="#PlanStage"/>
        </owl:members>
    </rdf:Description>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Rules
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    <swrl:Variable rdf:about="#stage"/>
    <swrl:Variable rdf:about="#run"/>
    <swrl:Variable rdf:about="#plan_stage2"/>
    <swrl:Variable rdf:about="#object_type1"/>
    <swrl:Variable rdf:about="#plan_stage"/>
    <swrl:Variable rdf:about="#object_type2"/>
    <swrl:Variable rdf:about="#object2"/>
    <swrl:Variable rdf:about="#object_type"/>
    <swrl:Variable rdf:about="#plan"/>
    <swrl:Variable rdf:about="#object1"/>
    <swrl:Variable rdf:about="#stage2"/>
    <swrl:Variable rdf:about="#stage1"/>
    <swrl:Variable rdf:about="#plan_stage1"/>
    <swrl:Variable rdf:about="#object"/>
    <swrl:Imp>
        <swrl:head>
            <swrl:AtomList>
                <rdf:rest rdf:resource="&rdf;nil"/>
                <rdf:first>
                    <swrl:IndividualPropertyAtom>
                        <swrl:propertyPredicate rdf:resource="#followed"/>
                        <swrl:argument2 rdf:resource="#stage1"/>
                        <swrl:argument1 rdf:resource="#stage2"/>
                    </swrl:IndividualPropertyAtom>
                </rdf:first>
            </swrl:AtomList>
        </swrl:head>
        <swrl:body>
            <swrl:AtomList>
                <rdf:first>
                    <swrl:ClassAtom>
                        <swrl:classPredicate rdf:resource="#Object"/>
                        <swrl:argument1 rdf:resource="#object"/>
                    </swrl:ClassAtom>
                </rdf:first>
                <rdf:rest>
                    <swrl:AtomList>
                        <rdf:first>
                            <swrl:ClassAtom>
                                <swrl:classPredicate rdf:resource="#Run"/>
                                <swrl:argument1 rdf:resource="#run"/>
                            </swrl:ClassAtom>
                        </rdf:first>
                        <rdf:rest>
                            <swrl:AtomList>
                                <rdf:rest>
                                    <swrl:AtomList>
                                        <rdf:first>
                                            <swrl:ClassAtom>
                                                <swrl:classPredicate rdf:resource="#Stage"/>
                                                <swrl:argument1 rdf:resource="#stage2"/>
                                            </swrl:ClassAtom>
                                        </rdf:first>
                                        <rdf:rest>
                                            <swrl:AtomList>
                                                <rdf:rest>
                                                    <swrl:AtomList>
                                                        <rdf:first>
                                                            <swrl:IndividualPropertyAtom>
                                                                <swrl:propertyPredicate rdf:resource="#containsStage"/>
                                                                <swrl:argument1 rdf:resource="#run"/>
                                                                <swrl:argument2 rdf:resource="#stage1"/>
                                                            </swrl:IndividualPropertyAtom>
                                                        </rdf:first>
                                                        <rdf:rest>
                                                            <swrl:AtomList>
                                                                <rdf:rest>
                                                                    <swrl:AtomList>
                                                                        <rdf:rest>
                                                                            <swrl:AtomList>
                                                                                <rdf:first>
                                                                                    <swrl:IndividualPropertyAtom>
                                                                                        <swrl:argument2 rdf:resource="#object"/>
                                                                                        <swrl:argument1 rdf:resource="#stage2"/>
                                                                                        <swrl:propertyPredicate rdf:resource="#used"/>
                                                                                    </swrl:IndividualPropertyAtom>
                                                                                </rdf:first>
                                                                                <rdf:rest>
                                                                                    <swrl:AtomList>
                                                                                        <rdf:rest rdf:resource="&rdf;nil"/>
                                                                                        <rdf:first>
                                                                                            <swrl:DifferentIndividualsAtom>
                                                                                                <swrl:argument1 rdf:resource="#stage1"/>
                                                                                                <swrl:argument2 rdf:resource="#stage2"/>
                                                                                            </swrl:DifferentIndividualsAtom>
                                                                                        </rdf:first>
                                                                                    </swrl:AtomList>
                                                                                </rdf:rest>
                                                                            </swrl:AtomList>
                                                                        </rdf:rest>
                                                                        <rdf:first>
                                                                            <swrl:IndividualPropertyAtom>
                                                                                <swrl:propertyPredicate rdf:resource="#emitted"/>
                                                                                <swrl:argument2 rdf:resource="#object"/>
                                                                                <swrl:argument1 rdf:resource="#stage1"/>
                                                                            </swrl:IndividualPropertyAtom>
                                                                        </rdf:first>
                                                                    </swrl:AtomList>
                                                                </rdf:rest>
                                                                <rdf:first>
                                                                    <swrl:IndividualPropertyAtom>
                                                                        <swrl:propertyPredicate rdf:resource="#containsStage"/>
                                                                        <swrl:argument1 rdf:resource="#run"/>
                                                                        <swrl:argument2 rdf:resource="#stage2"/>
                                                                    </swrl:IndividualPropertyAtom>
                                                                </rdf:first>
                                                            </swrl:AtomList>
                                                        </rdf:rest>
                                                    </swrl:AtomList>
                                                </rdf:rest>
                                                <rdf:first>
                                                    <swrl:IndividualPropertyAtom>
                                                        <swrl:propertyPredicate rdf:resource="#containsObject"/>
                                                        <swrl:argument2 rdf:resource="#object"/>
                                                        <swrl:argument1 rdf:resource="#run"/>
                                                    </swrl:IndividualPropertyAtom>
                                                </rdf:first>
                                            </swrl:AtomList>
                                        </rdf:rest>
                                    </swrl:AtomList>
                                </rdf:rest>
                                <rdf:first>
                                    <swrl:ClassAtom>
                                        <swrl:classPredicate rdf:resource="#Stage"/>
                                        <swrl:argument1 rdf:resource="#stage1"/>
                                    </swrl:ClassAtom>
                                </rdf:first>
                            </swrl:AtomList>
                        </rdf:rest>
                    </swrl:AtomList>
                </rdf:rest>
            </swrl:AtomList>
        </swrl:body>
    </swrl:Imp>
    <swrl:Imp>
        <swrl:head>
            <swrl:AtomList>
                <rdf:rest rdf:resource="&rdf;nil"/>
                <rdf:first>
                    <swrl:IndividualPropertyAtom>
                        <swrl:propertyPredicate rdf:resource="#derivedFrom"/>
                        <swrl:argument2 rdf:resource="#object1"/>
                        <swrl:argument1 rdf:resource="#object2"/>
                    </swrl:IndividualPropertyAtom>
                </rdf:first>
            </swrl:AtomList>
        </swrl:head>
        <swrl:body>
            <swrl:AtomList>
                <rdf:rest>
                    <swrl:AtomList>
                        <rdf:rest>
                            <swrl:AtomList>
                                <rdf:rest>
                                    <swrl:AtomList>
                                        <rdf:rest>
                                            <swrl:AtomList>
                                                <rdf:first>
                                                    <swrl:IndividualPropertyAtom>
                                                        <swrl:propertyPredicate rdf:resource="#containsObject"/>
                                                        <swrl:argument2 rdf:resource="#object1"/>
                                                        <swrl:argument1 rdf:resource="#run"/>
                                                    </swrl:IndividualPropertyAtom>
                                                </rdf:first>
                                                <rdf:rest>
                                                    <swrl:AtomList>
                                                        <rdf:first>
                                                            <swrl:IndividualPropertyAtom>
                                                                <swrl:propertyPredicate rdf:resource="#containsObject"/>
                                                                <swrl:argument2 rdf:resource="#object2"/>
                                                                <swrl:argument1 rdf:resource="#run"/>
                                                            </swrl:IndividualPropertyAtom>
                                                        </rdf:first>
                                                        <rdf:rest>
                                                            <swrl:AtomList>
                                                                <rdf:rest>
                                                                    <swrl:AtomList>
                                                                        <rdf:rest>
                                                                            <swrl:AtomList>
                                                                                <rdf:rest>
                                                                                    <swrl:AtomList>
                                                                                        <rdf:rest rdf:resource="&rdf;nil"/>
                                                                                        <rdf:first>
                                                                                            <swrl:DifferentIndividualsAtom>
                                                                                                <swrl:argument1 rdf:resource="#object1"/>
                                                                                                <swrl:argument2 rdf:resource="#object2"/>
                                                                                            </swrl:DifferentIndividualsAtom>
                                                                                        </rdf:first>
                                                                                    </swrl:AtomList>
                                                                                </rdf:rest>
                                                                                <rdf:first>
                                                                                    <swrl:IndividualPropertyAtom>
                                                                                        <swrl:argument2 rdf:resource="#object1"/>
                                                                                        <swrl:argument1 rdf:resource="#stage"/>
                                                                                        <swrl:propertyPredicate rdf:resource="#used"/>
                                                                                    </swrl:IndividualPropertyAtom>
                                                                                </rdf:first>
                                                                            </swrl:AtomList>
                                                                        </rdf:rest>
                                                                        <rdf:first>
                                                                            <swrl:IndividualPropertyAtom>
                                                                                <swrl:propertyPredicate rdf:resource="#emitted"/>
                                                                                <swrl:argument2 rdf:resource="#object2"/>
                                                                                <swrl:argument1 rdf:resource="#stage"/>
                                                                            </swrl:IndividualPropertyAtom>
                                                                        </rdf:first>
                                                                    </swrl:AtomList>
                                                                </rdf:rest>
                                                                <rdf:first>
                                                                    <swrl:IndividualPropertyAtom>
                                                                        <swrl:propertyPredicate rdf:resource="#containsStage"/>
                                                                        <swrl:argument1 rdf:resource="#run"/>
                                                                        <swrl:argument2 rdf:resource="#stage"/>
                                                                    </swrl:IndividualPropertyAtom>
                                                                </rdf:first>
                                                            </swrl:AtomList>
                                                        </rdf:rest>
                                                    </swrl:AtomList>
                                                </rdf:rest>
                                            </swrl:AtomList>
                                        </rdf:rest>
                                        <rdf:first>
                                            <swrl:ClassAtom>
                                                <swrl:classPredicate rdf:resource="#Stage"/>
                                                <swrl:argument1 rdf:resource="#stage"/>
                                            </swrl:ClassAtom>
                                        </rdf:first>
                                    </swrl:AtomList>
                                </rdf:rest>
                                <rdf:first>
                                    <swrl:ClassAtom>
                                        <swrl:classPredicate rdf:resource="#Run"/>
                                        <swrl:argument1 rdf:resource="#run"/>
                                    </swrl:ClassAtom>
                                </rdf:first>
                            </swrl:AtomList>
                        </rdf:rest>
                        <rdf:first>
                            <swrl:ClassAtom>
                                <swrl:classPredicate rdf:resource="#Object"/>
                                <swrl:argument1 rdf:resource="#object2"/>
                            </swrl:ClassAtom>
                        </rdf:first>
                    </swrl:AtomList>
                </rdf:rest>
                <rdf:first>
                    <swrl:ClassAtom>
                        <swrl:classPredicate rdf:resource="#Object"/>
                        <swrl:argument1 rdf:resource="#object1"/>
                    </swrl:ClassAtom>
                </rdf:first>
            </swrl:AtomList>
        </swrl:body>
    </swrl:Imp>
    <swrl:Imp>
        <swrl:body>
            <swrl:AtomList>
                <rdf:rest>
                    <swrl:AtomList>
                        <rdf:first>
                            <swrl:ClassAtom>
                                <swrl:classPredicate rdf:resource="#ObjectType"/>
                                <swrl:argument1 rdf:resource="#object_type2"/>
                            </swrl:ClassAtom>
                        </rdf:first>
                        <rdf:rest>
                            <swrl:AtomList>
                                <rdf:rest>
                                    <swrl:AtomList>
                                        <rdf:first>
                                            <swrl:ClassAtom>
                                                <swrl:classPredicate rdf:resource="#PlanStage"/>
                                                <swrl:argument1 rdf:resource="#plan_stage"/>
                                            </swrl:ClassAtom>
                                        </rdf:first>
                                        <rdf:rest>
                                            <swrl:AtomList>
                                                <rdf:rest>
                                                    <swrl:AtomList>
                                                        <rdf:rest>
                                                            <swrl:AtomList>
                                                                <rdf:rest>
                                                                    <swrl:AtomList>
                                                                        <rdf:rest>
                                                                            <swrl:AtomList>
                                                                                <rdf:rest>
                                                                                    <swrl:AtomList>
                                                                                        <rdf:rest rdf:resource="&rdf;nil"/>
                                                                                        <rdf:first>
                                                                                            <swrl:DifferentIndividualsAtom>
                                                                                                <swrl:argument1 rdf:resource="#object_type1"/>
                                                                                                <swrl:argument2 rdf:resource="#object_type2"/>
                                                                                            </swrl:DifferentIndividualsAtom>
                                                                                        </rdf:first>
                                                                                    </swrl:AtomList>
                                                                                </rdf:rest>
                                                                                <rdf:first>
                                                                                    <swrl:IndividualPropertyAtom>
                                                                                        <swrl:argument2 rdf:resource="#object_type1"/>
                                                                                        <swrl:argument1 rdf:resource="#plan_stage"/>
                                                                                        <swrl:propertyPredicate rdf:resource="#requires"/>
                                                                                    </swrl:IndividualPropertyAtom>
                                                                                </rdf:first>
                                                                            </swrl:AtomList>
                                                                        </rdf:rest>
                                                                        <rdf:first>
                                                                            <swrl:IndividualPropertyAtom>
                                                                                <swrl:propertyPredicate rdf:resource="#emits"/>
                                                                                <swrl:argument2 rdf:resource="#object_type2"/>
                                                                                <swrl:argument1 rdf:resource="#plan_stage"/>
                                                                            </swrl:IndividualPropertyAtom>
                                                                        </rdf:first>
                                                                    </swrl:AtomList>
                                                                </rdf:rest>
                                                                <rdf:first>
                                                                    <swrl:IndividualPropertyAtom>
                                                                        <swrl:propertyPredicate rdf:resource="#containsPlanStage"/>
                                                                        <swrl:argument1 rdf:resource="#plan"/>
                                                                        <swrl:argument2 rdf:resource="#plan_stage"/>
                                                                    </swrl:IndividualPropertyAtom>
                                                                </rdf:first>
                                                            </swrl:AtomList>
                                                        </rdf:rest>
                                                        <rdf:first>
                                                            <swrl:IndividualPropertyAtom>
                                                                <swrl:propertyPredicate rdf:resource="#containsObjectType"/>
                                                                <swrl:argument2 rdf:resource="#object_type2"/>
                                                                <swrl:argument1 rdf:resource="#plan"/>
                                                            </swrl:IndividualPropertyAtom>
                                                        </rdf:first>
                                                    </swrl:AtomList>
                                                </rdf:rest>
                                                <rdf:first>
                                                    <swrl:IndividualPropertyAtom>
                                                        <swrl:propertyPredicate rdf:resource="#containsObjectType"/>
                                                        <swrl:argument2 rdf:resource="#object_type1"/>
                                                        <swrl:argument1 rdf:resource="#plan"/>
                                                    </swrl:IndividualPropertyAtom>
                                                </rdf:first>
                                            </swrl:AtomList>
                                        </rdf:rest>
                                    </swrl:AtomList>
                                </rdf:rest>
                                <rdf:first>
                                    <swrl:ClassAtom>
                                        <swrl:classPredicate rdf:resource="#Plan"/>
                                        <swrl:argument1 rdf:resource="#plan"/>
                                    </swrl:ClassAtom>
                                </rdf:first>
                            </swrl:AtomList>
                        </rdf:rest>
                    </swrl:AtomList>
                </rdf:rest>
                <rdf:first>
                    <swrl:ClassAtom>
                        <swrl:classPredicate rdf:resource="#ObjectType"/>
                        <swrl:argument1 rdf:resource="#object_type1"/>
                    </swrl:ClassAtom>
                </rdf:first>
            </swrl:AtomList>
        </swrl:body>
        <swrl:head>
            <swrl:AtomList>
                <rdf:rest rdf:resource="&rdf;nil"/>
                <rdf:first>
                    <swrl:IndividualPropertyAtom>
                        <swrl:propertyPredicate rdf:resource="#derives"/>
                        <swrl:argument1 rdf:resource="#object_type1"/>
                        <swrl:argument2 rdf:resource="#object_type2"/>
                    </swrl:IndividualPropertyAtom>
                </rdf:first>
            </swrl:AtomList>
        </swrl:head>
    </swrl:Imp>
    <swrl:Imp>
        <swrl:body>
            <swrl:AtomList>
                <rdf:rest>
                    <swrl:AtomList>
                        <rdf:rest>
                            <swrl:AtomList>
                                <rdf:first>
                                    <swrl:ClassAtom>
                                        <swrl:classPredicate rdf:resource="#PlanStage"/>
                                        <swrl:argument1 rdf:resource="#plan_stage1"/>
                                    </swrl:ClassAtom>
                                </rdf:first>
                                <rdf:rest>
                                    <swrl:AtomList>
                                        <rdf:rest>
                                            <swrl:AtomList>
                                                <rdf:first>
                                                    <swrl:IndividualPropertyAtom>
                                                        <swrl:propertyPredicate rdf:resource="#containsObjectType"/>
                                                        <swrl:argument2 rdf:resource="#object_type"/>
                                                        <swrl:argument1 rdf:resource="#plan"/>
                                                    </swrl:IndividualPropertyAtom>
                                                </rdf:first>
                                                <rdf:rest>
                                                    <swrl:AtomList>
                                                        <rdf:first>
                                                            <swrl:IndividualPropertyAtom>
                                                                <swrl:propertyPredicate rdf:resource="#containsPlanStage"/>
                                                                <swrl:argument1 rdf:resource="#plan"/>
                                                                <swrl:argument2 rdf:resource="#plan_stage1"/>
                                                            </swrl:IndividualPropertyAtom>
                                                        </rdf:first>
                                                        <rdf:rest>
                                                            <swrl:AtomList>
                                                                <rdf:rest>
                                                                    <swrl:AtomList>
                                                                        <rdf:first>
                                                                            <swrl:IndividualPropertyAtom>
                                                                                <swrl:propertyPredicate rdf:resource="#emits"/>
                                                                                <swrl:argument2 rdf:resource="#object_type"/>
                                                                                <swrl:argument1 rdf:resource="#plan_stage1"/>
                                                                            </swrl:IndividualPropertyAtom>
                                                                        </rdf:first>
                                                                        <rdf:rest>
                                                                            <swrl:AtomList>
                                                                                <rdf:rest>
                                                                                    <swrl:AtomList>
                                                                                        <rdf:rest rdf:resource="&rdf;nil"/>
                                                                                        <rdf:first>
                                                                                            <swrl:DifferentIndividualsAtom>
                                                                                                <swrl:argument1 rdf:resource="#plan_stage1"/>
                                                                                                <swrl:argument2 rdf:resource="#plan_stage2"/>
                                                                                            </swrl:DifferentIndividualsAtom>
                                                                                        </rdf:first>
                                                                                    </swrl:AtomList>
                                                                                </rdf:rest>
                                                                                <rdf:first>
                                                                                    <swrl:IndividualPropertyAtom>
                                                                                        <swrl:argument2 rdf:resource="#object_type"/>
                                                                                        <swrl:argument1 rdf:resource="#plan_stage2"/>
                                                                                        <swrl:propertyPredicate rdf:resource="#requires"/>
                                                                                    </swrl:IndividualPropertyAtom>
                                                                                </rdf:first>
                                                                            </swrl:AtomList>
                                                                        </rdf:rest>
                                                                    </swrl:AtomList>
                                                                </rdf:rest>
                                                                <rdf:first>
                                                                    <swrl:IndividualPropertyAtom>
                                                                        <swrl:propertyPredicate rdf:resource="#containsPlanStage"/>
                                                                        <swrl:argument1 rdf:resource="#plan"/>
                                                                        <swrl:argument2 rdf:resource="#plan_stage2"/>
                                                                    </swrl:IndividualPropertyAtom>
                                                                </rdf:first>
                                                            </swrl:AtomList>
                                                        </rdf:rest>
                                                    </swrl:AtomList>
                                                </rdf:rest>
                                            </swrl:AtomList>
                                        </rdf:rest>
                                        <rdf:first>
                                            <swrl:ClassAtom>
                                                <swrl:classPredicate rdf:resource="#PlanStage"/>
                                                <swrl:argument1 rdf:resource="#plan_stage2"/>
                                            </swrl:ClassAtom>
                                        </rdf:first>
                                    </swrl:AtomList>
                                </rdf:rest>
                            </swrl:AtomList>
                        </rdf:rest>
                        <rdf:first>
                            <swrl:ClassAtom>
                                <swrl:classPredicate rdf:resource="#Plan"/>
                                <swrl:argument1 rdf:resource="#plan"/>
                            </swrl:ClassAtom>
                        </rdf:first>
                    </swrl:AtomList>
                </rdf:rest>
                <rdf:first>
                    <swrl:ClassAtom>
                        <swrl:classPredicate rdf:resource="#ObjectType"/>
                        <swrl:argument1 rdf:resource="#object_type"/>
                    </swrl:ClassAtom>
                </rdf:first>
            </swrl:AtomList>
        </swrl:body>
        <swrl:head>
            <swrl:AtomList>
                <rdf:rest rdf:resource="&rdf;nil"/>
                <rdf:first>
                    <swrl:IndividualPropertyAtom>
                        <swrl:propertyPredicate rdf:resource="#follows"/>
                        <swrl:argument2 rdf:resource="#plan_stage1"/>
                        <swrl:argument1 rdf:resource="#plan_stage2"/>
                    </swrl:IndividualPropertyAtom>
                </rdf:first>
            </swrl:AtomList>
        </swrl:head>
    </swrl:Imp>
</rdf:RDF>



<!-- Generated by the OWL API (version 2.2.1.1138) http://owlapi.sourceforge.net -->

