@prefix : .
@prefix cflow: .
@prefix cpannotationschema: .
@prefix dc: .
@prefix error: .
@prefix owl: .
@prefix owl2: .
@prefix owlapi: .
@prefix parameter: .
@prefix part: .
@prefix plan: .
@prefix plandesc: .
@prefix planex: .
@prefix rdf: .
@prefix rdfs: .
@prefix sequence: .
@prefix sit: .
@prefix swrl: .
@prefix swrlb: .
@prefix swrlx: .
@prefix taskex: .
@prefix time: .
@prefix timeint: .
@prefix tisit: .
@prefix xml: .
@prefix xsd: .
dc:contributor a owl:AnnotationProperty .
dc:creator a owl:AnnotationProperty .
dc:date a owl:AnnotationProperty .
dc:description a owl:AnnotationProperty .
dc:rights a owl:AnnotationProperty .
dc:title a owl:AnnotationProperty .
a owl:Ontology ;
dc:creator "Aldo Gangemi"^^xsd:string,
"David Shotton"^^xsd:string,
"Silvio Peroni"^^xsd:string ;
dc:date "2017-06-01"^^xsd:string ;
dc:description :pwo.png,
"The Publishing Workflow Ontology (PWO) is a simple ontology written in OWL 2 DL for the characterization of the main stages in the workflow associated with the publication of a document (e.g. being written, under review, XML capture, page design, publication to the Web)."@en ;
dc:rights "This work is distributed under a Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/)."@en ;
dc:title "The Publishing Workflow Ontology (PWO)"^^xsd:string ;
rdfs:comment """The Publishing Workflow Ontology (PWO) is a simple ontology for describing the steps in the workflow associated with the publication of a document or other publication entity.
**URL:** http://purl.org/spar/pwo
**Creators**: [Aldo Gangemi](https://orcid.org/0000-0001-5568-2684), [David Shotton](http://orcid.org/0000-0001-5506-523X), [Silvio Peroni](http://orcid.org/0000-0003-0530-4305)
**License:** [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/legalcode)
**Website:** http://www.sparontologies.net/ontologies/pwo
**Cite as:** Gangemi, A., Peroni, S., Shotton, D., Vitali, F. (2014). The Publishing Workflow Ontology (PWO). In Semantic Web, 8 (5): 703-718. DOI: https://doi.org/10.3233/SW-160230. Open Access at: http://www.semantic-web-journal.net/system/files/swj1301.pdf"""@en ;
owl:imports ,
,
,
,
,
,
,
;
owl:priorVersion ;
owl:versionIRI ;
owl:versionInfo "2.4"^^xsd:string .
:hasNextStep a owl:ObjectProperty ;
rdfs:label "has next step"@en ;
rdfs:comment "A property linking a step in a workflow with the step that directly follows it."@en ;
rdfs:domain :Step ;
rdfs:range :Step ;
rdfs:subPropertyOf sequence:directlyPrecedes ;
owl:inverseOf :hasPreviousStep .
:isNeededBy a owl:ObjectProperty ;
rdfs:label "is needed by"@en ;
rdfs:comment "The property linking a thing required to undertake a workflow step or an event (e.g. an action executing a workflow step) to the step/event itself."@en ;
owl:inverseOf :needs .
:isProducedBy a owl:ObjectProperty ;
rdfs:label "is produced by"@en ;
rdfs:comment "The property linking something to the workflow step or an event (e.g. an action executing a workflow step) that produces, creates or results in that thing."@en ;
owl:inverseOf :produces .
part:Object a owl:Class .
part:hasParticipant a owl:ObjectProperty .
part:isParticipantIn a owl:ObjectProperty .
sit:Situation a owl:Class .
sit:isSettingFor a owl:ObjectProperty .
tisit:atTime a owl:ObjectProperty ;
rdfs:label "at time"@en ;
rdfs:comment "A step is performed within a time interval."@en .
tisit:forEntity a owl:ObjectProperty .
tisit:hasTimeIndexedSetting a owl:ObjectProperty .
timeint:hasIntervalDate a owl:DatatypeProperty .
owlapi:nodeID a owl:AnnotationProperty .
rdfs:comment a owl:AnnotationProperty .
rdfs:label a owl:AnnotationProperty .
owl:versionInfo a owl:AnnotationProperty .
:WorkflowExecution a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty :involvesAction ;
owl:someValuesFrom [ a owl:Class ;
owl:intersectionOf ( :Action [ a owl:Restriction ;
owl:onProperty taskex:executesTask ;
owl:someValuesFrom :Step ] ) ] ],
[ a owl:Restriction ;
owl:onProperty :executes ;
owl:someValuesFrom :Workflow ],
planex:PlanExecution,
tisit:TimeIndexedSituation .
:happened a owl:ObjectProperty ;
rdfs:label "happened"@en ;
rdfs:comment "It allows one to link an event to the interval when it happened."@en ;
rdfs:domain part:Event ;
rdfs:range timeint:TimeInterval ;
owl:inverseOf :isIntervalFor .
:hasFirstStep a owl:ObjectProperty ;
rdfs:label "has first step"@en ;
rdfs:comment "A workflow that starts with a particular step."@en ;
rdfs:range [ a owl:Class ;
owl:complementOf [ a owl:Restriction ;
owl:onProperty :hasPreviousStep ;
owl:someValuesFrom :Step ] ] ;
rdfs:subPropertyOf :hasStep .
:involvesAction a owl:ObjectProperty ;
rdfs:label "involves action"@en ;
rdfs:comment "The property linking a particular execution of a workflow to an action."@en ;
rdfs:domain :WorkflowExecution ;
rdfs:range :Action ;
owl:inverseOf :isActionInvolvedIn ;
owl:propertyChainAxiom ( :executes :hasStep taskex:isExecutedIn ) .
:isActionInvolvedIn a owl:ObjectProperty ;
rdfs:label "is action involved in"@en ;
rdfs:comment "The property linking an event to a particular execution of a workflow description."@en ;
owl:propertyChainAxiom ( taskex:executesTask :isStepOf :isExecutedBy ) .
:isIntervalFor a owl:ObjectProperty ;
rdfs:label "is interval for"@en ;
rdfs:comment "It allows one to link an interval describing when an event happened to the related event."@en .
error:hasError a owl:DatatypeProperty .
plandesc:definesTask a owl:ObjectProperty .
planex:PlanExecution a owl:Class .
sequence:directlyFollows a owl:ObjectProperty .
sequence:directlyPrecedes a owl:ObjectProperty .
sequence:precedes a owl:ObjectProperty .
taskex:Action a owl:Class .
a owl:Class .
tisit:TimeIndexedSituation a owl:Class .
:executes a owl:ObjectProperty ;
rdfs:label "executes"@en ;
rdfs:comment "This property allows to link a workflow execution to the related workflow description."@en ;
rdfs:subPropertyOf plan:satisfies ;
owl:inverseOf :isExecutedBy .
:hasPreviousStep a owl:ObjectProperty ;
rdfs:label "has previous step"@en ;
rdfs:comment "A property linking a step in a workflow with the step that directly precedes it."@en ;
rdfs:subPropertyOf sequence:directlyFollows .
:hasStep a owl:ObjectProperty ;
rdfs:label "has step"@en ;
rdfs:comment "The property linking a workflow to a component step."@en ;
rdfs:domain :Workflow ;
rdfs:range :Step ;
rdfs:subPropertyOf plandesc:definesTask ;
owl:inverseOf :isStepOf .
:isExecutedBy a owl:ObjectProperty ;
rdfs:label "is executed by" ;
rdfs:comment "This property allows to link a workflow description to the related workflow execution." ;
rdfs:subPropertyOf plan:isSatisfiedBy .
:isStepOf a owl:FunctionalProperty,
owl:ObjectProperty ;
rdfs:label "is step of"@en ;
rdfs:comment "The property linking a step in a workflow to the workflow of which it is a component."@en ;
rdfs:subPropertyOf plandesc:isTaskDefinedIn .
:needs a owl:ObjectProperty ;
rdfs:label "needs"@en ;
rdfs:comment "The property linking a workflow step or an event (e.g. an action executing a workflow step) to anything required to undertake that step/event."@en ;
rdfs:domain [ a owl:Class ;
owl:unionOf ( :Step part:Event ) ] .
:produces a owl:ObjectProperty ;
rdfs:label "produces"@en ;
rdfs:comment "The property linking a workflow step or an event (e.g. an action executing a workflow step) to the thing that the step/event produces, creates or results in."@en ;
rdfs:domain [ a owl:Class ;
owl:unionOf ( :Step part:Event ) ] .
plandesc:isTaskDefinedIn a owl:ObjectProperty .
taskex:executesTask a owl:ObjectProperty .
taskex:isExecutedIn a owl:ObjectProperty .
timeint:TimeInterval a owl:Class .
a swrl:Variable .
:Action a owl:Class ;
rdfs:label "action" ;
rdfs:comment "An event with at least one agent that is participant in it and that is linked to a workflow execution and to a step of the related workflow description." ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty :happened ;
owl:someValuesFrom timeint:TimeInterval ],
[ a owl:Class ;
owl:intersectionOf ( planex:Action taskex:Action ) ] .
:Workflow a owl:Class ;
rdfs:label "workflow"@en ;
rdfs:comment "A sequence of connected steps, representing a sequence of publishing operations undertaken by agents. A workflow may be seen as an abstract model of real work."@en ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty :hasFirstStep ;
owl:someValuesFrom :Step ],
plandesc:Plan .
part:Event a owl:Class .
a swrl:Variable .
a swrl:Variable .
:Step a owl:Class ;
rdfs:label "step"@en ;
rdfs:comment "An atomic unit of a workflow, that may be characterized by a starting time and an ending time, and may be associated with one or more events. A workflow step usually involves some input information, material or energy needed to complete the step, and some output information, material or energy produced by that step. In the case of a publishing workflow, a step typically results in the creation of a publication entity, usually by the modification of another pre-existing publication entity, e.g. the creation of an edited paper from a rough draft, or of an HTML representation from an XML mark-up."@en ;
rdfs:subClassOf [ a owl:Restriction ;
owl:allValuesFrom :Action ;
owl:onProperty taskex:isExecutedIn ],
[ a owl:Restriction ;
owl:onClass time:DurationDescription ;
owl:onProperty parameter:hasParameter ;
owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ],
[ a owl:Restriction ;
owl:allValuesFrom :Workflow ;
owl:onProperty plandesc:isTaskDefinedIn ],
.
[] a swrl:Imp ;
swrl:body [ a swrl:AtomList ;
rdf:first [ a swrl:ClassAtom ;
swrl:argument1 ;
swrl:classPredicate :Step ] ;
rdf:rest [ a swrl:AtomList ;
rdf:first [ a swrl:ClassAtom ;
swrl:argument1 ;
swrl:classPredicate :Step ] ;
rdf:rest [ a swrl:AtomList ;
rdf:first [ a swrl:IndividualPropertyAtom ;
swrl:argument1 ;
swrl:argument2 ;
swrl:propertyPredicate :needs ] ;
rdf:rest [ a swrl:AtomList ;
rdf:first [ a swrl:IndividualPropertyAtom ;
swrl:argument1 ;
swrl:argument2 ;
swrl:propertyPredicate :produces ] ;
rdf:rest [ a swrl:AtomList ;
rdf:first [ a swrl:IndividualPropertyAtom ;
swrl:argument1 ;
swrl:argument2 ;
swrl:propertyPredicate sequence:precedes ] ;
rdf:rest () ] ] ] ] ] ;
swrl:head [ a swrl:AtomList ;
rdf:first [ a swrl:DatavaluedPropertyAtom ;
swrl:argument1 ;
swrl:argument2 "A step cannot need a resource that will be produced by a following step"^^xsd:string ;
swrl:propertyPredicate error:hasError ] ;
rdf:rest () ] .