Lifecycle Schema

This Version
http://purl.org/vocab/lifecycle/schema-20080603 [HTML] [RDF]
Latest Version
http://purl.org/vocab/lifecycle/schema#
Previous Version
http://purl.org/vocab/lifecycle/schema-20080603
Authors
Rob Styles
Nadeem Shabir
Contributors

Copyright © 2008 Talis Information Ltd

This work is licensed under a Creative Commons License.

Table of Contents

Introduction

The 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.

Changes From Previous Version

Namespace

The URI for this vocabulary is

http://purl.org/vocab/lifecycle/schema#

When used in XML documents the suggested prefix is lifecycle

Each class or property in the vocabulary has a URI constructed by appending a term name to the vocabulary URI. For example:

http://purl.org/vocab/lifecycle/schema#state
http://purl.org/vocab/lifecycle/schema#Lifecycle

The term name for a class always starts with an uppercase character. Where the term name is comprised of multiple concatenated words, the leading character of each word will be an uppercase character. For example:

Lifecycle
State

The term name for a property always starts with an lowercase character. Where the term name is comprised of multiple concatenated words, the leading character of the second and each subsequent word will be an uppercase character. For example:

state
stateOf

Summary of Terms

This vocabulary defines 6 classes and 12 properties .

Term NameTypeDefinition
ActionclassRepresents an instance of a task taking place against a given resource
LifecycleclassA 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.
StateclassA 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.
TaskclassRepresents a task in a workflow
TaskGroupclassRepresents a collection of tasks grouped together for convenience
TransitionclassA 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.
completedpropertyThis uses a boolean to represent if an action has been completed. This is a simple alternative to the taskProgress property.
mandatorypropertySepcifies if a task is mandatory or optional.
nextpropertyprovides a simple ordering relationship to allow tasks to be ordered in user interfaces.
possibleStatepropertyThe 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.
possibleTransitionpropertyWhen in a state there may be many possible transitions.
resourcepropertyThe resource on which the action being taken. This is a resource that is being processed through a lifecycle.
resultingStatepropertyOnce a transition is completed the state of the resource should change to the state specified as the resulting state.
statepropertyThe state property relates any resource with the state that it is currently in.
stateOfpropertyThe 'state of' property is the inverse of the state property, relating a state to all of the resources currently in that state.
taskpropertyA task related to this transition.
taskGrouppropertyA task group related to this transition.
taskProgresspropertyThe current progress on this task. Some resources are defined in this ontology for this, but you are free to define your own.

Vocabulary Classes

Class: Action

Represents an instance of a task taking place against a given resource

URI:http://purl.org/vocab/lifecycle/schema#Action
Label:Action

History

Class: Lifecycle

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.

URI:http://purl.org/vocab/lifecycle/schema#Lifecycle
Label:Lifecycle

History

Class: State

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.

URI:http://purl.org/vocab/lifecycle/schema#State
Label:State

History

Class: Task

Represents a task in a workflow

URI:http://purl.org/vocab/lifecycle/schema#Task
Label:Task

History

Class: TaskGroup

Represents a collection of tasks grouped together for convenience

URI:http://purl.org/vocab/lifecycle/schema#TaskGroup
Label:Task Group

History

Class: Transition

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.

URI:http://purl.org/vocab/lifecycle/schema#Transition
Label:Transition

History

Vocabulary Properties

Property: completed

This uses a boolean to represent if an action has been completed. This is a simple alternative to the taskProgress property.

URI:http://purl.org/vocab/lifecycle/schema#completed
Label:completed
Domainlifecycle:Action
Rangexsd:boolean
Paraphrase (experimental) Having a lifecycle:completed implies being something that, amongst other things, is a lifecycle:Action

History

Property: mandatory

Sepcifies if a task is mandatory or optional.

URI:http://purl.org/vocab/lifecycle/schema#mandatory
Label:mandatory
Domainlifecycle:Task
Rangexsd:boolean
Paraphrase (experimental) Having a lifecycle:mandatory implies being something that, amongst other things, is a lifecycle:Task

History

Property: next

provides a simple ordering relationship to allow tasks to be ordered in user interfaces.

URI:http://purl.org/vocab/lifecycle/schema#next
Label:next
DomainUnion of lifecycle:Task or a lifecycle:TaskGroup
RangeUnion of lifecycle:Task or a lifecycle:TaskGroup
Paraphrase (experimental) Having a lifecycle:next implies being something that, amongst other things, is a lifecycle:Task or a lifecycle:TaskGroup

History

Property: possibleState

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.

URI:http://purl.org/vocab/lifecycle/schema#possibleState
Label:possible state
Domainlifecycle:Lifecycle
Rangelifecycle:State
Paraphrase (experimental) Having a lifecycle:possibleState implies being something that, amongst other things, is a lifecycle:Lifecycle

History

Property: possibleTransition

When in a state there may be many possible transitions.

URI:http://purl.org/vocab/lifecycle/schema#possibleTransition
Label:possible transition
Domainlifecycle:State
Rangelifecycle:Transition
Paraphrase (experimental) Having a lifecycle:possibleTransition implies being something that, amongst other things, is a lifecycle:State

History

Property: resource

The resource on which the action being taken. This is a resource that is being processed through a lifecycle.

URI:http://purl.org/vocab/lifecycle/schema#resource
Label:resource
Domainlifecycle:Action
Rangerdf:Resource
Paraphrase (experimental) Having a lifecycle:resource implies being something that, amongst other things, is a lifecycle:Action

History

Property: resultingState

Once a transition is completed the state of the resource should change to the state specified as the resulting state.

URI:http://purl.org/vocab/lifecycle/schema#resultingState
Label:resulting state
Domainlifecycle:Transition
Rangelifecycle:State
Paraphrase (experimental) Having a lifecycle:resultingState implies being something that, amongst other things, is a lifecycle:Transition

History

Property: state

The state property relates any resource with the state that it is currently in.

URI:http://purl.org/vocab/lifecycle/schema#state
Label:state
Domainrdf:Resource
Rangelifecycle:State
Paraphrase (experimental) Having a lifecycle:state implies being something that, amongst other things, is a rdf:Resource

History

Property: stateOf

The 'state of' property is the inverse of the state property, relating a state to all of the resources currently in that state.

URI:http://purl.org/vocab/lifecycle/schema#stateOf
Label:state of
Domainlifecycle:State
Rangerdf:Resource
Inverse oflifecycle:state
Paraphrase (experimental) Having a lifecycle:stateOf implies being something that, amongst other things, is a lifecycle:State

History

Property: task

A task related to this transition.

URI:http://purl.org/vocab/lifecycle/schema#task
Label:task
DomainUnion of lifecycle:TaskGroup or a lifecycle:Transition
Rangelifecycle:Task
Paraphrase (experimental) Having a lifecycle:task implies being something that, amongst other things, is a lifecycle:TaskGroup or a lifecycle:Transition

History

Property: taskGroup

A task group related to this transition.

URI:http://purl.org/vocab/lifecycle/schema#taskGroup
Label:task group
Domainlifecycle:Transition
Rangelifecycle:TaskGroup
Paraphrase (experimental) Having a lifecycle:taskGroup implies being something that, amongst other things, is a lifecycle:Transition

History

Property: taskProgress

The current progress on this task. Some resources are defined in this ontology for this, but you are free to define your own.

URI:http://purl.org/vocab/lifecycle/schema#taskProgress
Label:task progress
Domainlifecycle:Action
Rangelifecycle:TaskProgress
Paraphrase (experimental) Having a lifecycle:taskProgress implies being something that, amongst other things, is a lifecycle:Action

History

Examples

Diagram of Lifecycle Ontology

Job Application Example of Lifecycle Ontology

The following example (in Turtle) describes the lifecycle of a job application.

We have an applicant, a foaf agent:

		@prefix foaf: <http://xmlns.com/foaf/spec/>

		<http://example.com/foaf/geoff>
			a foaf:Person;
			foaf:name "Geoff Foo".
	

Geoff has applied for a job at example.com and his application has been received:

		@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
		@prefix lifecycle: <http://purl.org/vocab/lifecycle/schema#>
		@prefix job: <http://example.com/schemas/job-application/schema#>
		@prefix jobApplication: <http://example.com/lifecycles/job-application#>

		<http://example.com/jobs/application-12997>
			rdfs:label "Job application from Geoff Foo";
			a job:Application;
			job:applicant <http://example.com/foaf/geoff>;
			lifecycle:state jobApplication:Received.
	

His application is being stored using a very basic example ontology:

		@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
		@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
		@prefix foaf: <http://xmlns.com/foaf/spec/>
		@prefix job: <http://example.com/schemas/job-application/schema#>

		job:Application
			a rdfs:Class;
			rdfs:Label "A class representing an application for a job".

		job:applicant
			a rdf:Property;
			rdfs:Label "A foaf agent who is applying for a job";
			rdfs:domain job:Application;
			rdfs:range foaf:Agent.
	

We can see from the snippet for Geoff's application that his application is the "Received" state. Actions are already underway to process it:

		@prefix lifecycle: <http://purl.org/vocab/lifecycle/schema#>
		@prefix jobApplication: <http://example.com/lifecycles/job-application#>

		<http://example.com/actions/124353648593626818>
			a lifecycle:Action;
			lifecycle:resource <http://example.com/jobs/application-12997>;
			lifecycle:task jobApplication:confirmRightToWork;
			lifecycle:taskProgress lifecycle:Completed.

		<http://example.com/actions/985637ahj7826127y>
			a lifecycle:Action;
			lifecycle:resource <http://example.com/jobs/application-12997>;
			lifecycle:task jobApplication:checkForPreviousApplications;
			lifecycle:taskProgress lifecycle:Started.
	

The state of Geoff's application, and the actions that have taken place to process it thus far have been specified using the Lifecycle ontology. The specification of the job application process looks like this:

@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 foaf: <http://xmlns.com/foaf/spec/>
@prefix lifecycle: <http://purl.org/vocab/lifecycle/schema#>
@prefix job: <http://example.com/schemas/job-application/schema#>
@prefix jobApplication: <http://example.com/lifecycles/job-application#>

jobApplication:ApplicationProcess
	rdfs:Label "Lifecycle for Processing Job Applications"
	a lifecycle:Lifecycle;
	possibleState jobApplication:Received;
	possibleState jobApplication:Reviewed;
	possibleState jobApplication:ToInterview;
	possibleState jobApplication:Interviewed;
	possibleState jobApplication:Offered;
	possibleState jobApplication:TheyDeclined;
	possibleState jobApplication:WeDeclined;
	possibleState jobApplication:Accepted.

jobApplication:Received
	a lifecycle:State;
	rdfs:Label "Received";
	lifecycle:possibleTransition jobApplication:reviewApplication;
	lifecycle:possibleTransition jobApplication:withdrawApplication.

jobApplication:Reviewed
	a lifecycle:State;
	rdfs:Label "Reviewed";
	lifecycle:possibleTransition jobApplication:acceptApplication;
	lifecycle:possibleTransition jobApplication:declineByLetter;
	lifecycle:possibleTransition jobApplication:withdrawApplication.

jobApplication:ToInterview
	a lifecycle:State;
	rdfs:Label "To Interview";
	lifecycle:possibleTransition jobApplication:arrangeInterview;
	lifecycle:possibleTransition jobApplication:withdrawApplication.

jobApplication:Interviewed
	a lifecycle:State;
	rdfs:Label "Interviewed";
	lifecycle:possibleTransition jobApplication:makeOffer;
	lifecycle:possibleTransition jobApplication:declineByPhone;
	lifecycle:possibleTransition jobApplication:withdrawApplication.

jobApplication:Offered
	a lifecycle:State;
	rdfs:Label "An offer has been made";
	lifecycle:possibleTransition jobApplication:acceptOffer;
	lifecycle:possibleTransition jobApplication:declineOffer;
	lifecycle:possibleTransition jobApplication:withdrawApplication.

jobApplication:Accepted
	a lifecycle:State;
	rdfs:Label "The applicant has accepted this role";
	lifecycle:possibleTransition jobApplication:withdrawApplication.

jobApplication:TheyDeclined
	a lifecycle:State;
	rdfs:Label "The applicant has declined this role".

jobApplication:WeDeclined
	a lifecycle:State;
	rdfs:Label "We have declined this applicant".

jobApplication:acceptApplication
	a lifecycle:Transition;
	rdfs:Label "Accept this application";
	lifecycle:resultingState jobApplication:ToInterview.
	
jobApplication:acceptOffer
	a lifecycle:Transition;
	rdfs:Label "Accept this offer";
	lifecycle:resultingState jobApplication:Accepted.

jobApplication:arrangeInterview
	a lifecycle:Transition;
	rdfs:Label "Arrange an Interview";
	lifecycle:taskGroup jobApplication:arrangeInternalDates;
	lifecycle:task jobApplication:arrangeExternalDates;
	lifecycle:task jobApplication:sendDetailsToEveryone;	
	lifecycle:resultingState jobApplication:Interviewed.

jobApplication:declineByLetter
	a lifecycle:Transition;
	rdfs:Label "Decline this application by letter";
	lifecycle:resultingState jobApplication:WeDeclined.

jobApplication:declineByPhone
	a lifecycle:Transition;
	rdfs:Label "Decline this application by phone";
	lifecycle:resultingState jobApplication:WeDeclined.

jobApplication:declineOffer
	a lifecycle:Transition;
	rdfs:Label "Decline this offer";
	lifecycle:resultingState jobApplication:TheyDeclined.

jobApplication:makeOffer
	a lifecycle:Transition;
	rdfs:Label "Make an offer to this applicant";
	lifecycle:resultingState jobApplication:Offered.

jobApplication:reviewApplication
	a lifecycle:Transition;
	rdfs:Label "Review this application";
	lifecycle:task jobApplication:confirmRightToWork;
	lifecycle:task jobApplication:checkForPreviousApplications;	
	lifecycle:resultingState jobApplication:Reviewed.

jobApplication:withdrawApplication
	a lifecycle:Transition;
	rdfs:Label "Withdraw this application";
	lifecycle:resultingState jobApplication:TheyDeclined.

jobApplication:confirmRightToWork
	a lifecycle:Task;
	rdfs:Label "Confirm Right To Work";
	lifecycle:mandatory "true"^^xsd:boolean;
	lifecycle:next jobApplication:checkForPreviousApplications.
	
jobApplication:checkForPreviousApplications
	a lifecycle:Task;
	rdfs:Label "Check for Previous Applications".

jobApplication:arrangeInternalDates
	a lifecycle:taskGroup;
	rdfs:Label "Arrange internal interviewer dates";
	lifecycle:task jobApplication:findLineManagerDates;
	lifecycle:task jobApplication:findSecondaryInterviewerDates;
	lifecycle:next jobApplication:arrangeExternalDates.
	
jobApplication:arrangeExternalDates
	a lifecycle:task;
	rdfs:Label "Arrange dates with applicant";
	lifecycle:next jobApplication:sendDetailsToEveryone.
	
jobApplication:sendDetailsToEveryone
	a lifecycle:task;
	rdfs:Label "Send interview details to everyone".

jobApplication:findLineManagerDates
	a lifecycle:task;
	rdfs:Label "Find available dates for interviewing manager";
	lifecycle:next jobApplication:findSecondaryInterviewerDates.

jobApplication:findSecondaryInterviewerDates
	a lifecycle:task;
	rdfs:Label "Find available dates for secondary interviewers".
	

RDF Schema

The schema included here is informational only. The normative schema can be found at http://purl.org/vocab/lifecycle/schema-20080603.rdf

<rdf:RDF
   xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
   xmlns:owl="http://www.w3.org/2002/07/owl#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:vann="http://purl.org/vocab/vann/"
   xmlns:dct="http://purl.org/dc/terms/"
   xmlns:dctype="http://purl.org/dc/dcmitype/"
   xmlns:cc="http://web.resource.org/cc/"
   xmlns:skos="http://www.w3.org/2004/02/skos/core#">
  
  <owl:Ontology
     rdf:about=""
     dc:date="2008-06-03">
    <dc:title xml:lang="en">Lifecycle Schema</dc:title>
    <rdfs:comment xml:lang="en">
      The 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.
    </rdfs:comment>
    <dc:identifier>http://purl.org/vocab/lifecycle/schema-20080603</dc:identifier>
    <dct:isVersionOf rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
    <dc:creator>Rob Styles</dc:creator>
    <dc:creator>Nadeem Shabir</dc:creator>
    <dc:rights>Copyright © 2008 Talis Information Ltd</dc:rights>
    <vann:preferredNamespaceUri>http://purl.org/vocab/lifecycle/schema#</vann:preferredNamespaceUri>
    <vann:preferredNamespacePrefix>lifecycle</vann:preferredNamespacePrefix>
    <vann:example rdf:resource="schema-diagram.html"/>
    <vann:example rdf:resource="example-job-application-lifecycle.html"/>
    <dct:replaces rdf:resource="http://purl.org/vocab/lifecycle/schema-20080603"/>
    <dct:hasFormat>
      <dctype:Text rdf:about="http://purl.org/vocab/lifecycle/schema-20080603.html">
        <dc:format>
          <dct:IMT>
            <rdf:value>text/html</rdf:value>
            <rdfs:label xml:lang="en">HTML</rdfs:label>
          </dct:IMT>
        </dc:format>
      </dctype:Text>
    </dct:hasFormat>
    <dct:hasFormat>
      <dctype:Text rdf:about="http://purl.org/vocab/lifecycle/schema-20080603.rdf">
        <dc:format>
          <dct:IMT>
            <rdf:value>application/rdf+xml</rdf:value>
            <rdfs:label xml:lang="en">RDF</rdfs:label>
          </dct:IMT>
        </dc:format>
      </dctype:Text>
    </dct:hasFormat>
    <dct:issued>2008-06-03</dct:issued>
    <skos:historyNote
       rdf:value="First cut of the ontology published"
       dc:date="2008-06-03"
       dc:creator="Rob Styles"/>
  </owl:Ontology>
  
  <cc:Work rdf:about="">
    <cc:license rdf:resource="http://creativecommons.org/licenses/by/2.0/uk/"/>
  </cc:Work>
  
  <cc:License rdf:about="http://creativecommons.org/licenses/by/2.0/uk/">
    <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
    <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
    <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/>
    <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/>
    <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
  </cc:License>
  
  <rdfs:Class rdf:about="http://purl.org/vocab/lifecycle/schema#Lifecycle">
    <rdfs:label xml:lang="en">Lifecycle</rdfs:label>
    <rdfs:comment xml:lang="en">
      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.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
    <dct:issued>2008-06-03</dct:issued>
  </rdfs:Class>
  
  <rdfs:Class rdf:about="http://purl.org/vocab/lifecycle/schema#State">
    <rdfs:label xml:lang="en">State</rdfs:label>
    <rdfs:comment xml:lang="en">
      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.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
    <dct:issued>2008-06-03</dct:issued>
  </rdfs:Class>
  
  <rdfs:Class rdf:about="http://purl.org/vocab/lifecycle/schema#Transition">
    <rdfs:label xml:lang="en">Transition</rdfs:label>
    <rdfs:comment xml:lang="en">
      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.
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
    <dct:issued>2008-06-03</dct:issued>
  </rdfs:Class>
  
  <rdfs:Class rdf:about="http://purl.org/vocab/lifecycle/schema#TaskGroup">
    <rdfs:label xml:lang="en">Task Group</rdfs:label>
    <rdfs:comment xml:lang="en">
      Represents a collection of tasks grouped together for convenience
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
    <dct:issued>2008-06-03</dct:issued>
  </rdfs:Class>
  
  <rdfs:Class rdf:about="http://purl.org/vocab/lifecycle/schema#Task">
    <rdfs:label xml:lang="en">Task</rdfs:label>
    <rdfs:comment xml:lang="en">Represents a task in a workflow</rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
    <dct:issued>2008-06-03</dct:issued>
  </rdfs:Class>
  
  <rdfs:Class rdf:about="http://purl.org/vocab/lifecycle/schema#Action">
    <rdfs:label xml:lang="en">Action</rdfs:label>
    <rdfs:comment xml:lang="en">
      Represents an instance of a task taking place against a given resource
    </rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
    <dct:issued>2008-06-03</dct:issued>
  </rdfs:Class>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#state">
    <rdfs:label xml:lang="en">state</rdfs:label>
    <rdfs:comment>
      The state property relates any resource with the state that it is 
      currently in.
    </rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Resource"/>
    <rdfs:range rdf:resource="http://purl.org/vocab/lifecycle/schema#State"/>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#stateOf">
    <rdfs:label xml:lang="en">state of</rdfs:label>
    <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:comment>
    <rdfs:domain rdf:resource="http://purl.org/vocab/lifecycle/schema#State"/>
    <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Resource"/>
    <owl:inverseOf rdf:resource="http://purl.org/vocab/lifecycle/schema#state"/>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#possibleState">
    <rdfs:label xml:lang="en">possible state</rdfs:label>
    <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:comment>
    <rdfs:domain rdf:resource="http://purl.org/vocab/lifecycle/schema#Lifecycle"/>
    <rdfs:range rdf:resource="http://purl.org/vocab/lifecycle/schema#State"/>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#resultingState">
    <rdfs:label xml:lang="en">resulting state</rdfs:label>
    <rdfs:comment>
      Once a transition is completed the state of the resource should change 
      to the state specified as the resulting state.
    </rdfs:comment>
    <rdfs:domain rdf:resource="http://purl.org/vocab/lifecycle/schema#Transition"/>
    <rdfs:range rdf:resource="http://purl.org/vocab/lifecycle/schema#State"/>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#possibleTransition">
    <rdfs:label xml:lang="en">possible transition</rdfs:label>
    <rdfs:comment>When in a state there may be many possible transitions.</rdfs:comment>
    <rdfs:domain rdf:resource="http://purl.org/vocab/lifecycle/schema#State"/>
    <rdfs:range rdf:resource="http://purl.org/vocab/lifecycle/schema#Transition"/>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#completed">
    <rdfs:label xml:lang="en">completed</rdfs:label>
    <rdfs:comment>
      This uses a boolean to represent if an action has been completed. This 
      is a simple alternative to the taskProgress property.
    </rdfs:comment>
    <rdfs:domain rdf:resource="http://purl.org/vocab/lifecycle/schema#Action"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#mandatory">
    <rdfs:label xml:lang="en">mandatory</rdfs:label>
    <rdfs:comment>Sepcifies if a task is mandatory or optional.</rdfs:comment>
    <rdfs:domain rdf:resource="http://purl.org/vocab/lifecycle/schema#Task"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#next">
    <rdfs:label xml:lang="en">next</rdfs:label>
    <rdfs:comment>
      provides a simple ordering relationship to allow tasks to be ordered in 
      user interfaces.
    </rdfs:comment>
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="http://purl.org/vocab/lifecycle/schema#Task"/>
          <owl:Class rdf:about="http://purl.org/vocab/lifecycle/schema#TaskGroup"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdfs:range>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="http://purl.org/vocab/lifecycle/schema#Task"/>
          <owl:Class rdf:about="http://purl.org/vocab/lifecycle/schema#TaskGroup"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:range>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#taskGroup">
    <rdfs:label xml:lang="en">task group</rdfs:label>
    <rdfs:comment>A task group related to this transition.</rdfs:comment>
    <rdfs:domain rdf:resource="http://purl.org/vocab/lifecycle/schema#Transition"/>
    <rdfs:range rdf:resource="http://purl.org/vocab/lifecycle/schema#TaskGroup"/>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#task">
    <rdfs:label xml:lang="en">task</rdfs:label>
    <rdfs:comment>A task related to this transition.</rdfs:comment>
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="http://purl.org/vocab/lifecycle/schema#TaskGroup"/>
          <owl:Class rdf:about="http://purl.org/vocab/lifecycle/schema#Transition"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdfs:range rdf:resource="http://purl.org/vocab/lifecycle/schema#Task"/>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#taskProgress">
    <rdfs:label xml:lang="en">task progress</rdfs:label>
    <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:comment>
    <rdfs:domain rdf:resource="http://purl.org/vocab/lifecycle/schema#Action"/>
    <rdfs:range rdf:resource="http://purl.org/vocab/lifecycle/schema#TaskProgress"/>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdf:Property rdf:about="http://purl.org/vocab/lifecycle/schema#resource">
    <rdfs:label xml:lang="en">resource</rdfs:label>
    <rdfs:comment>
      The resource on which the action being taken. This is a resource that is 
      being processed through a lifecycle.
    </rdfs:comment>
    <rdfs:domain rdf:resource="http://purl.org/vocab/lifecycle/schema#Action"/>
    <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Resource"/>
    <dct:issued>2008-06-03</dct:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
  </rdf:Property>
  
  <rdfs:Description rdf:about="http://purl.org/vocab/lifecycle/schema#Completed">
    <rdfs:label xml:lang="en">Completed</rdfs:label>
    <rdfs:comment xml:lang="en">Represents that an individual task has been completed.</rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
    <rdf:type rdf:resource="http://purl.org/vocab/lifecycle/schema#TaskProgress"/>
  </rdfs:Description>
  
  <rdfs:Description rdf:about="http://purl.org/vocab/lifecycle/schema#Started">
    <rdfs:label xml:lang="en">Started</rdfs:label>
    <rdfs:comment xml:lang="en">Represents that an individual task has been started.</rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
    <rdf:type rdf:resource="http://purl.org/vocab/lifecycle/schema#TaskProgress"/>
  </rdfs:Description>
  
  <rdfs:Description rdf:about="http://purl.org/vocab/lifecycle/schema#OnHold">
    <rdfs:label xml:lang="en">On Hold</rdfs:label>
    <rdfs:comment xml:lang="en">Represents that an individual task has been placed on hold.</rdfs:comment>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/lifecycle/schema#"/>
    <rdf:type rdf:resource="http://purl.org/vocab/lifecycle/schema#TaskProgress"/>
  </rdfs:Description>
</rdf:RDF>

License

This work is licensed under a Creative Commons License.

The following section is informational only, please refer to the Original License for complete license terms.

This license grants the following rights:

This license imposes the following restrictions: