@prefix dc:    <http://purl.org/dc/elements/1.1/> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix dctype: <http://purl.org/dc/dcmitype/> .
@prefix dct:   <http://purl.org/dc/terms/> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix vann:  <http://purl.org/vocab/vann/> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix skos:  <http://www.w3.org/2004/02/skos/core#> .
@prefix cc:    <http://web.resource.org/cc/> .

<http://creativecommons.org/licenses/by/2.0/uk/>
        a            cc:License ;
        cc:permits   cc:DerivativeWorks , cc:Distribution , cc:Reproduction ;
        cc:requires  cc:Attribution , cc:Notice .

<http://purl.org/vocab/lifecycle/schema#next>
        a                 rdf:Property ;
        rdfs:comment      "provides a simple ordering relationship to allow tasks to be ordered in user interfaces." ;
        rdfs:domain       [ a            owl:Class ;
                            owl:unionOf  ( <http://purl.org/vocab/lifecycle/schema#Task> <http://purl.org/vocab/lifecycle/schema#TaskGroup> )
                          ] ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "next"@en ;
        rdfs:range        [ a            owl:Class ;
                            owl:unionOf  ( <http://purl.org/vocab/lifecycle/schema#Task> <http://purl.org/vocab/lifecycle/schema#TaskGroup> )
                          ] ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#Task>
        a                 owl:Class , rdfs:Class ;
        rdfs:comment      "Represents a task in a workflow"@en ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "Task"@en ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#Lifecycle>
        a                 rdfs:Class ;
        rdfs:comment      "A lifecycle is a series of states connected by allowable transitions. It may be used to describe the lifecycle of business objects or equally the lifecycle of a butterfly."@en ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "Lifecycle"@en ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#Completed>
        a                 <http://purl.org/vocab/lifecycle/schema#TaskProgress> , rdfs:Description ;
        rdfs:comment      "Represents that an individual task has been completed."@en ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "Completed"@en .

<http://purl.org/vocab/lifecycle/schema#possibleState>
        a                 rdf:Property ;
        rdfs:comment      "The possible state property is used to identify the states that occur within a given lifecycle and are thus the possible states of a resource going through that lifecycle." ;
        rdfs:domain       <http://purl.org/vocab/lifecycle/schema#Lifecycle> ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "possible state"@en ;
        rdfs:range        <http://purl.org/vocab/lifecycle/schema#State> ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema-20080603.rdf>
        a          dctype:Text ;
        dc:format  [ a           dct:IMT ;
                     rdf:value   "application/rdf+xml" ;
                     rdfs:label  "RDF"@en
                   ] .

<http://purl.org/vocab/lifecycle/schema#taskGroup>
        a                 rdf:Property ;
        rdfs:comment      "A task group related to this transition." ;
        rdfs:domain       <http://purl.org/vocab/lifecycle/schema#Transition> ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "task group"@en ;
        rdfs:range        <http://purl.org/vocab/lifecycle/schema#TaskGroup> ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#stateOf>
        a                 rdf:Property ;
        rdfs:comment      "The 'state of' property is the inverse of the state property, relating a state to all of the resources currently in that state." ;
        rdfs:domain       <http://purl.org/vocab/lifecycle/schema#State> ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "state of"@en ;
        rdfs:range        rdf:Resource ;
        dct:issued        "2008-06-03" ;
        owl:inverseOf     <http://purl.org/vocab/lifecycle/schema#state> .

<http://purl.org/vocab/lifecycle/schema-20080603.html>
        a          dctype:Text ;
        dc:format  [ a           dct:IMT ;
                     rdf:value   "text/html" ;
                     rdfs:label  "HTML"@en
                   ] .

<http://purl.org/vocab/lifecycle/schema#task>
        a                 rdf:Property ;
        rdfs:comment      "A task related to this transition." ;
        rdfs:domain       [ a            owl:Class ;
                            owl:unionOf  ( <http://purl.org/vocab/lifecycle/schema#TaskGroup> <http://purl.org/vocab/lifecycle/schema#Transition> )
                          ] ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "task"@en ;
        rdfs:range        <http://purl.org/vocab/lifecycle/schema#Task> ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#taskProgress>
        a                 rdf:Property ;
        rdfs:comment      "The current progress on this task. Some resources are defined in this ontology for this, but you are free to define your own." ;
        rdfs:domain       <http://purl.org/vocab/lifecycle/schema#Action> ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "task progress"@en ;
        rdfs:range        <http://purl.org/vocab/lifecycle/schema#TaskProgress> ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#Started>
        a                 <http://purl.org/vocab/lifecycle/schema#TaskProgress> , rdfs:Description ;
        rdfs:comment      "Represents that an individual task has been started."@en ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "Started"@en .

<http://purl.org/vocab/lifecycle/schema#possibleTransition>
        a                 rdf:Property ;
        rdfs:comment      "When in a state there may be many possible transitions." ;
        rdfs:domain       <http://purl.org/vocab/lifecycle/schema#State> ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "possible transition"@en ;
        rdfs:range        <http://purl.org/vocab/lifecycle/schema#Transition> ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#mandatory>
        a                 rdf:Property ;
        rdfs:comment      "Sepcifies if a task is mandatory or optional." ;
        rdfs:domain       <http://purl.org/vocab/lifecycle/schema#Task> ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "mandatory"@en ;
        rdfs:range        xsd:boolean ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#resource>
        a                 rdf:Property ;
        rdfs:comment      "The resource on which the action being taken. This is a resource that is being processed through a lifecycle." ;
        rdfs:domain       <http://purl.org/vocab/lifecycle/schema#Action> ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "resource"@en ;
        rdfs:range        rdf:Resource ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#state>
        a                 rdf:Property ;
        rdfs:comment      "The state property relates any resource with the state that it is currently in." ;
        rdfs:domain       rdf:Resource ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "state"@en ;
        rdfs:range        <http://purl.org/vocab/lifecycle/schema#State> ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#State>
        a                 rdfs:Class ;
        rdfs:comment      "A state describes one possible state that a resource can be in at a given time. Resources may be in one state in a given lifecycle at any given time, states are considered mutually exclusive within a lifecycle."@en ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "State"@en ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#Transition>
        a                 owl:Class , rdfs:Class ;
        rdfs:comment      "A transition describes the way in which a resource moves from one state to another state and may also describe the tasks required to make that transition."@en ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "Transition"@en ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#OnHold>
        a                 <http://purl.org/vocab/lifecycle/schema#TaskProgress> , rdfs:Description ;
        rdfs:comment      "Represents that an individual task has been placed on hold."@en ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "On Hold"@en .

<http://purl.org/vocab/lifecycle/schema#completed>
        a                 rdf:Property ;
        rdfs:comment      "This uses a boolean to represent if an action has been completed. This is a simple alternative to the taskProgress property." ;
        rdfs:domain       <http://purl.org/vocab/lifecycle/schema#Action> ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "completed"@en ;
        rdfs:range        xsd:boolean ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#TaskGroup>
        a                 owl:Class , rdfs:Class ;
        rdfs:comment      "Represents a collection of tasks grouped together for convenience"@en ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "Task Group"@en ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema>
        a                              cc:Work , owl:Ontology ;
        rdfs:comment                   "\n\t\t\tThe Lifecycle Schema provides classes and properties that allow the specification of a lifecycle that any resource may pass through. It's intention to allow the description of the states and transitions that constitute a given lifecycle without imposing any constraint on the way in which transitions happen or how long it may take to move through a lifecycle.\n    \t"@en ;
        dc:creator                     "Nadeem Shabir" , "Rob Styles" ;
        dc:date                        "2008-06-03" ;
        dc:identifier                  "http://purl.org/vocab/lifecycle/schema-20080603" ;
        dc:rights                      "Copyright © 2008 Talis Information Ltd" ;
        dc:title                       "Lifecycle Schema"@en ;
        dct:hasFormat                  <http://purl.org/vocab/lifecycle/schema-20080603.rdf> , <http://purl.org/vocab/lifecycle/schema-20080603.html> ;
        dct:isVersionOf                <http://purl.org/vocab/lifecycle/schema#> ;
        dct:issued                     "2008-06-03" ;
        dct:replaces                   <http://purl.org/vocab/lifecycle/schema-20080603> ;
        vann:example                   <http://purl.org/vocab/lifecycle/schema-diagram.html> , <http://purl.org/vocab/lifecycle/example-job-application-lifecycle.html> ;
        vann:preferredNamespacePrefix  "lifecycle" ;
        vann:preferredNamespaceUri     "http://purl.org/vocab/lifecycle/schema#" ;
        cc:license                     <http://creativecommons.org/licenses/by/2.0/uk/> ;
        skos:historyNote               [ rdf:value   "First cut of the ontology published" ;
                                         dc:creator  "Rob Styles" ;
                                         dc:date     "2008-06-03"
                                       ] .

<http://purl.org/vocab/lifecycle/schema#resultingState>
        a                 rdf:Property ;
        rdfs:comment      "Once a transition is completed the state of the resource should change to the state specified as the resulting state." ;
        rdfs:domain       <http://purl.org/vocab/lifecycle/schema#Transition> ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "resulting state"@en ;
        rdfs:range        <http://purl.org/vocab/lifecycle/schema#State> ;
        dct:issued        "2008-06-03" .

<http://purl.org/vocab/lifecycle/schema#Action>
        a                 rdfs:Class ;
        rdfs:comment      "Represents an instance of a task taking place against a given resource"@en ;
        rdfs:isDefinedBy  <http://purl.org/vocab/lifecycle/schema#> ;
        rdfs:label        "Action"@en ;
        dct:issued        "2008-06-03" .
