<?xml version="1.0"?>
<rdf:RDF
    xmlns="http://www.mygrid.org.uk/provenance#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.mygrid.org.uk/provenance">
  <owl:Ontology rdf:about=""/>
  <owl:Class rdf:ID="FailedProcessRun">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="FailedRun"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="ProcessRun"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="ProcessIteration">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#ProcessRun"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="NestedWorkflowRun">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="WorkflowRun"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Run"/>
  <owl:Class rdf:ID="Process">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="Runnable"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="ProcessProperty"/>
  <owl:Class rdf:ID="FailedNestedWorkflowRun">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="FailedWorkflowRun"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="#NestedWorkflowRun"/>
  </owl:Class>
  <owl:Class rdf:about="#FailedWorkflowRun">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#WorkflowRun"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#FailedRun"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="AtomicData">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="DataObject"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#ProcessRun">
    <rdfs:subClassOf rdf:resource="#Run"/>
  </owl:Class>
  <owl:Class rdf:ID="ChangedDataObject">
    <rdfs:subClassOf rdf:resource="#DataObject"/>
  </owl:Class>
  <owl:Class rdf:ID="Experimenter"/>
  <owl:Class rdf:ID="Workflow">
    <rdfs:subClassOf rdf:resource="#Runnable"/>
  </owl:Class>
  <owl:Class rdf:ID="InputDataName">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="DataName"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="OutputDataName">
    <rdfs:subClassOf rdf:resource="#DataName"/>
  </owl:Class>
  <owl:Class rdf:ID="NestedWorkflowProcessRun">
    <rdfs:subClassOf rdf:resource="#ProcessRun"/>
  </owl:Class>
  <owl:Class rdf:ID="DataCollection">
    <rdfs:subClassOf rdf:resource="#DataObject"/>
  </owl:Class>
  <owl:Class rdf:about="#WorkflowRun">
    <rdfs:subClassOf rdf:resource="#Run"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Navigate ontology starting from here</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:about="#FailedRun">
    <rdfs:subClassOf rdf:resource="#Run"/>
  </owl:Class>
  <owl:Class rdf:ID="Organization"/>
  <owl:Class rdf:ID="ProcessRunWithIterations">
    <rdfs:subClassOf rdf:resource="#ProcessRun"/>
  </owl:Class>
  <owl:ObjectProperty rdf:ID="belongsTo">
    <rdfs:range rdf:resource="#Organization"/>
    <rdfs:domain rdf:resource="#Experimenter"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="dataDerivedFrom">
    <rdfs:domain rdf:resource="#DataObject"/>
    <rdfs:range rdf:resource="#DataObject"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="processInput">
    <rdfs:domain rdf:resource="#ProcessRun"/>
    <rdfs:range rdf:resource="#DataObject"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="runs">
    <rdfs:range rdf:resource="#Runnable"/>
    <rdfs:domain rdf:resource="#Run"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="inputDataHasName">
    <rdfs:range rdf:resource="#InputDataName"/>
    <rdfs:subPropertyOf>
      <owl:ObjectProperty rdf:ID="dataHasName"/>
    </rdfs:subPropertyOf>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="nestedWorkflow">
    <rdfs:range rdf:resource="#NestedWorkflowRun"/>
    <rdfs:domain rdf:resource="#NestedWorkflowProcessRun"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="runsWorkflow">
    <rdfs:range rdf:resource="#Workflow"/>
    <rdfs:domain rdf:resource="#WorkflowRun"/>
    <rdfs:subPropertyOf rdf:resource="#runs"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasProperty">
    <rdfs:range rdf:resource="#ProcessProperty"/>
    <rdfs:domain rdf:resource="#Process"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="userPredicate">
    <rdfs:domain rdf:resource="#DataObject"/>
    <rdfs:range rdf:resource="#DataObject"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="executedProcessRun">
    <rdfs:domain rdf:resource="#WorkflowRun"/>
    <rdfs:range rdf:resource="#ProcessRun"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="nestedRun">
    <rdfs:domain rdf:resource="#WorkflowRun"/>
    <rdfs:range rdf:resource="#NestedWorkflowRun"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="runsProcess">
    <rdfs:range rdf:resource="#Process"/>
    <rdfs:domain rdf:resource="#ProcessRun"/>
    <rdfs:subPropertyOf rdf:resource="#runs"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="launchedBy">
    <rdfs:range rdf:resource="#Experimenter"/>
    <rdfs:domain rdf:resource="#WorkflowRun"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="workflowOutput">
    <rdfs:domain rdf:resource="#WorkflowRun"/>
    <rdfs:range rdf:resource="#DataObject"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="iteration">
    <rdfs:range rdf:resource="#ProcessIteration"/>
    <rdfs:domain rdf:resource="#ProcessRunWithIterations"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="containsData">
    <rdfs:domain rdf:resource="#DataCollection"/>
    <rdfs:range rdf:resource="#DataObject"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="dataWrappedInto">
    <rdfs:domain rdf:resource="#AtomicData"/>
    <rdfs:range rdf:resource="#DataCollection"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="oldDataObject">
    <rdfs:range rdf:resource="#DataObject"/>
    <rdfs:domain rdf:resource="#ChangedDataObject"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="workflowInput">
    <rdfs:range rdf:resource="#DataObject"/>
    <rdfs:domain rdf:resource="#WorkflowRun"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#dataHasName">
    <rdfs:domain rdf:resource="#DataObject"/>
    <rdfs:range rdf:resource="#DataName"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="processOutput">
    <rdfs:domain rdf:resource="#ProcessRun"/>
    <rdfs:range rdf:resource="#DataObject"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="outputDataHasName">
    <rdfs:range rdf:resource="#OutputDataName"/>
    <rdfs:subPropertyOf rdf:resource="#dataHasName"/>
  </owl:ObjectProperty>
  <owl:DatatypeProperty rdf:ID="workflowAuthor">
    <rdfs:domain rdf:resource="#Workflow"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="numberOfIterations">
    <rdfs:domain rdf:resource="#ProcessRunWithIterations"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="workflowDescription">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#Workflow"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="value">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
    <rdfs:domain rdf:resource="#ProcessProperty"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="dataSyntacticType">
    <rdfs:domain rdf:resource="#DataName"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="mimeType">
    <rdfs:domain rdf:resource="#DataName"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="endTime">
    <rdfs:domain rdf:resource="#Run"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="startTime">
    <rdfs:domain rdf:resource="#WorkflowRun"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="cause">
    <rdfs:domain rdf:resource="#FailedProcessRun"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:FunctionalProperty rdf:ID="key">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#ProcessProperty"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="workflowInitialLSID">
    <rdfs:domain rdf:resource="#Workflow"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#anyURI"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="className">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:domain rdf:resource="#Process"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="workflowTitle">
    <rdfs:domain rdf:resource="#Workflow"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:FunctionalProperty>
</rdf:RDF>

<!-- Created with Protege (with OWL Plugin 2.1, Build 284)  http://protege.stanford.edu -->
