@prefix : <https://w3id.org/emmo#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@base <https://w3id.org/emmo#> .

<https://w3id.org/emmo/reference/workflow> rdf:type owl:Ontology ;
                                            owl:versionIRI <https://w3id.org/emmo/1.0.0/reference/workflow> ;
                                            owl:imports <https://w3id.org/emmo/1.0.0/perspectives/reductionistic> ,
                                                        <https://w3id.org/emmo/1.0.0/reference/agency> ;
                                            dcterms:abstract """The workflow multi-perspective combines the persistence and holistic perspectives to describe workflows as a process built up of a set of temporal tasks.

Workflows may also be extended reductionistically into serial and parallel workflows."""@en ,
                                                             "Workflow"@en ;
                                            dcterms:contributor :FrancescoZaccarini ;
                                            dcterms:creator :EmanueleGhedini ,
                                                            :GerhardGoldbeck ,
                                                            :JesperFriis ;
                                            dcterms:license "https://creativecommons.org/licenses/by/4.0/legalcode" ;
                                            dcterms:publisher <https://emmc.eu> ;
                                            dcterms:title "Workflow"@en ;
                                            rdfs:comment "The EMMO requires HermiT reasoner plugin in order to visualize all inferences and class hierarchy (ctrl+R hotkey in Protege)."@en ;
                                            owl:versionInfo "1.0.0" ;
                                            :EMMO_1246b120_abbe_4840_b0f8_3e4348b24a17 "emmo@emmc.eu" .

#################################################################
#    Object Properties
#################################################################

###  https://w3id.org/emmo#EMMO_4ab7fb52_cec3_4c00_90c0_5648f01e3296
:EMMO_4ab7fb52_cec3_4c00_90c0_5648f01e3296 rdf:type owl:ObjectProperty ;
                                           rdfs:subPropertyOf :EMMO_9558cd58_9847_4a0b_936d_32ca83a827a1 ;
                                           rdfs:range :EMMO_fa595892_070d_455e_9459_06c97179c080 ;
                                           skos:prefLabel "hasBeginTask"@en ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "The relation identifying the tasks of a workflow that are not causally temporally dependent by other parts of the workflow."@en .


###  https://w3id.org/emmo#EMMO_62a1601d_0d97_4103_b972_3bbc30839f91
:EMMO_62a1601d_0d97_4103_b972_3bbc30839f91 rdf:type owl:ObjectProperty ;
                                           rdfs:subPropertyOf :EMMO_70da982d_1810_4b01_9630_a28e216ecd9a ;
                                           rdfs:domain :EMMO_64963ed6_39c9_4258_85e0_6466c4b5420c ;
                                           rdfs:range :EMMO_9ac10a20_63d0_4bbd_a5d3_f00a0ad4682c ,
                                                      :EMMO_ddecfff6_d3a1_4972_b9e9_3d0ca11a3a0b ;
                                           skos:prefLabel "hasIterativeTask"@en .


###  https://w3id.org/emmo#EMMO_62a76e62_9e17_4f2f_a42c_fc3d0df08cd9
:EMMO_62a76e62_9e17_4f2f_a42c_fc3d0df08cd9 rdf:type owl:ObjectProperty ;
                                           rdfs:subPropertyOf :EMMO_70da982d_1810_4b01_9630_a28e216ecd9a ;
                                           rdfs:domain :EMMO_64963ed6_39c9_4258_85e0_6466c4b5420c ;
                                           rdfs:range :EMMO_2666a7e3_2ad4_49a0_899e_329607231f4b ;
                                           skos:prefLabel "hasSerialTask"@en .


###  https://w3id.org/emmo#EMMO_70da982d_1810_4b01_9630_a28e216ecd9a
:EMMO_70da982d_1810_4b01_9630_a28e216ecd9a rdf:type owl:ObjectProperty ;
                                           rdfs:subPropertyOf :EMMO_8e52c42b_e879_4473_9fa1_4b23428b392b ;
                                           rdfs:domain :EMMO_64963ed6_39c9_4258_85e0_6466c4b5420c ;
                                           rdfs:range :EMMO_4299e344_a321_4ef2_a744_bacfcce80afc ;
                                           skos:prefLabel "hasTask"@en ;
                                           :EMMO_31252f35_c767_4b97_a877_1235076c3e13 "The holistic relation connecting a workflow with one of its tasks."@en .


###  https://w3id.org/emmo#EMMO_92227f7f_22e9_4b19_a011_920eac3c7b75
:EMMO_92227f7f_22e9_4b19_a011_920eac3c7b75 rdf:type owl:ObjectProperty ;
                                           rdfs:subPropertyOf :EMMO_9558cd58_9847_4a0b_936d_32ca83a827a1 ;
                                           rdfs:range :EMMO_8a2a1cbc_dfc3_4e6c_b337_00ee56fd438a ;
                                           skos:prefLabel "hasEndTask"@en ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "The relation identifying the tasks of a workflow that are not a temporal cause of other parts of the workflow."@en .


###  https://w3id.org/emmo#EMMO_9558cd58_9847_4a0b_936d_32ca83a827a1
:EMMO_9558cd58_9847_4a0b_936d_32ca83a827a1 rdf:type owl:ObjectProperty ;
                                           rdfs:subPropertyOf :EMMO_70da982d_1810_4b01_9630_a28e216ecd9a ,
                                                              :EMMO_74a75cf1_3418_4244_b43c_b5db94635d42 ;
                                           rdfs:range :EMMO_9f6ec830_c59f_46aa_8a22_945ba20b6ea3 ;
                                           skos:prefLabel "hasTaskTile"@en .


#################################################################
#    Classes
#################################################################

###  https://w3id.org.org/emmo#EMMO_180bd73b_0c5d_4b1f_ba12_4309c5a50d49
<https://w3id.org.org/emmo#EMMO_180bd73b_0c5d_4b1f_ba12_4309c5a50d49> rdf:type owl:Class ;
                                                                      rdfs:subClassOf :EMMO_9f6ec830_c59f_46aa_8a22_945ba20b6ea3 ;
                                                                      skos:prefLabel "TaskByPosition"@en ;
                                                                      :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "A task in a workflow, categorised by its position in the workflow."@en .


###  https://w3id.org.org/emmo#EMMO_1a6ddb13_49ff_4305_97a1_d1458d51c066
<https://w3id.org.org/emmo#EMMO_1a6ddb13_49ff_4305_97a1_d1458d51c066> rdf:type owl:Class ;
                                                                      rdfs:subClassOf :EMMO_9f6ec830_c59f_46aa_8a22_945ba20b6ea3 ;
                                                                      skos:prefLabel "TaskByFlow"@en ;
                                                                      :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "A task in a workflow, categorised by how it is connected to other tasks."@en .


###  https://w3id.org/emmo#EMMO_2666a7e3_2ad4_49a0_899e_329607231f4b
:EMMO_2666a7e3_2ad4_49a0_899e_329607231f4b rdf:type owl:Class ;
                                           rdfs:subClassOf <https://w3id.org.org/emmo#EMMO_1a6ddb13_49ff_4305_97a1_d1458d51c066> ,
                                                           :EMMO_504ad89e_dd4a_4fa6_aeb6_15c8ce0cde9b ;
                                           skos:prefLabel "SerialTask"@en ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "A task that is a temporal tile of a workflow when there are no other activities taking place concurrently (i.e., no parallelism)."@en .


###  https://w3id.org/emmo#EMMO_322ce14e_9ede_4841_ad70_302b4d6c5f28
:EMMO_322ce14e_9ede_4841_ad70_302b4d6c5f28 rdf:type owl:Class ;
                                           rdfs:subClassOf <https://w3id.org.org/emmo#EMMO_180bd73b_0c5d_4b1f_ba12_4309c5a50d49> ,
                                                           :EMMO_caa63d00_80b1_4408_ac1b_cd0d23b0ec50 ;
                                           skos:prefLabel "InternalTask"@en ;
                                           :EMMO_157fdf31_6387_42be_8e72_10530519214a "https://w3id.org/emmo/raw/1.0.0/doc/figs/ThroughTile.png"^^xsd:anyURI ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "A generic task in a workflow, that is not the begin or the end."@en .


###  https://w3id.org/emmo#EMMO_4299e344_a321_4ef2_a744_bacfcce80afc
:EMMO_4299e344_a321_4ef2_a744_bacfcce80afc rdf:type owl:Class ;
                                           rdfs:subClassOf :EMMO_472a0ca2_58bf_4618_b561_6fe68bd9fd49 ,
                                                           :EMMO_4f226cf3_6d02_4d35_8566_a9e641bc6ff3 ,
                                                           [ rdf:type owl:Restriction ;
                                                             owl:onProperty [ owl:inverseOf :EMMO_70da982d_1810_4b01_9630_a28e216ecd9a
                                                                            ] ;
                                                             owl:someValuesFrom :EMMO_64963ed6_39c9_4258_85e0_6466c4b5420c
                                                           ] ;
                                           skos:altLabel "Job"@en ;
                                           skos:prefLabel "Task"@en ;
                                           :EMMO_31252f35_c767_4b97_a877_1235076c3e13 """The concept of task is developed in strict connection with the concept of workflow: a task is always part of a workflow and a workflow always possess some tasks. This makes the relation between task and workflow an holistic relation, with task as role and workflow as whole.
A task is also holistically connected to an intentional agent, since a task is defined as a procedure. For this reason a task is both a role, with respect to a workflow, and a whole, with respect to an intentional agent."""@en ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "A procedure that is an hoilistic part of a workflow."@en ;
                                           :EMMO_c7b62dd7_063a_4c2a_8504_42f7264ba83f """A task is a generic part of a workflow, without taking care of the task granularities.
It means that you can declare that e.g. tightening a bolt is a task of building an airplane, without caring of the coarser tasks to which this tightening belongs."""@en .


###  https://w3id.org/emmo#EMMO_472a0ca2_58bf_4618_b561_6fe68bd9fd49
:EMMO_472a0ca2_58bf_4618_b561_6fe68bd9fd49 rdf:type owl:Class ;
                                           rdfs:subClassOf :EMMO_bafc17b5_9be4_4823_8bbe_ab4e90b6738c ,
                                                           [ rdf:type owl:Restriction ;
                                                             owl:onProperty :EMMO_60577dea_9019_4537_ac41_80b0fb563d41 ;
                                                             owl:someValuesFrom :EMMO_eaf4640d_651d_4cbe_a315_3d2dc5df3b35
                                                           ] ,
                                                           [ rdf:type owl:Restriction ;
                                                             owl:onProperty [ owl:inverseOf :EMMO_f2fc1ce9_cc3b_4eb5_a112_3c85d1b1374a
                                                                            ] ;
                                                             owl:someValuesFrom :EMMO_8cf62c94_ae5f_4f80_8669_d5f91178db6d
                                                           ] ;
                                           skos:altLabel "Elaboration"@en ,
                                                         "Work"@en ;
                                           skos:example """The process in which a control unit of a CPU (the agent) orchestrates some cached binary data according to a list of instructions (e.g. a program).
The process in which a librarian order books alphabetically on a shelf.
The execution of an algorithm."""@en ;
                                           skos:prefLabel "Procedure"@en ;
                                           :EMMO_31252f35_c767_4b97_a877_1235076c3e13 "The set of established forms or methods of an organized body for accomplishing a certain task or tasks (Wiktionary)."@en ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "An intentional process in which an agent works with some entities according to some existing formalised operative rules."@en ;
                                           :EMMO_c7b62dd7_063a_4c2a_8504_42f7264ba83f "A procedure can be considered as an intentional process with a plan."@en .

[ rdf:type owl:Axiom ;
   owl:annotatedSource :EMMO_472a0ca2_58bf_4618_b561_6fe68bd9fd49 ;
   owl:annotatedProperty skos:prefLabel ;
   owl:annotatedTarget "Procedure"@en ;
   :EMMO_705f27ae_954c_4f13_98aa_18473fc52b25 "From Latin pro-cedere (“to go forward, to proceed”)."@en
 ] .

[ rdf:type owl:Axiom ;
   owl:annotatedSource :EMMO_472a0ca2_58bf_4618_b561_6fe68bd9fd49 ;
   owl:annotatedProperty :EMMO_31252f35_c767_4b97_a877_1235076c3e13 ;
   owl:annotatedTarget "The set of established forms or methods of an organized body for accomplishing a certain task or tasks (Wiktionary)."@en ;
   rdfs:seeAlso "https://en.wiktionary.org/wiki/procedure"^^xsd:anyURI
 ] .


###  https://w3id.org/emmo#EMMO_57ba1bf0_4314_432c_a9bb_6a6720c8dab5
:EMMO_57ba1bf0_4314_432c_a9bb_6a6720c8dab5 rdf:type owl:Class ;
                                           rdfs:subClassOf :EMMO_64963ed6_39c9_4258_85e0_6466c4b5420c ,
                                                           :EMMO_92829beb_6ed4_4c88_bbd5_3bc7403e2895 ;
                                           owl:disjointWith :EMMO_5848e476_2768_4988_98f9_9053c532307b ;
                                           skos:prefLabel "SerialWorkflow"@en ;
                                           :EMMO_157fdf31_6387_42be_8e72_10530519214a "https://w3id.org/emmo/raw/1.0.0/doc/figs/SerialWorkflow.png"^^xsd:anyURI ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "A workflow whose tasks are tiles of a sequence."@en .


###  https://w3id.org/emmo#EMMO_5848e476_2768_4988_98f9_9053c532307b
:EMMO_5848e476_2768_4988_98f9_9053c532307b rdf:type owl:Class ;
                                           rdfs:subClassOf :EMMO_64963ed6_39c9_4258_85e0_6466c4b5420c ;
                                           skos:prefLabel "ParallelWorkflow"@en ;
                                           :EMMO_157fdf31_6387_42be_8e72_10530519214a "https://w3id.org/emmo/raw/1.0.0/doc/figs/ParallelWorkflow.png"^^xsd:anyURI ;
                                           :EMMO_31252f35_c767_4b97_a877_1235076c3e13 """A workflow can be seen as a direct acyclic graph, whose nodes are tasks and edges are asymmetric causal relations. A parallel graph occurs when the topological order of such graph if not unique, meaning that there is at least one portion of the workflow in which at least two tasks are running concurrently. 
Concurrent tasks may or may not communicate. Communication is represented as a symmetric causality relation, superimposing the direct acyclic graph structure of the workflow."""@en ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "A workflow with some tasks running concurrently."@en .


###  https://w3id.org/emmo#EMMO_64963ed6_39c9_4258_85e0_6466c4b5420c
:EMMO_64963ed6_39c9_4258_85e0_6466c4b5420c rdf:type owl:Class ;
                                           rdfs:subClassOf :EMMO_472a0ca2_58bf_4618_b561_6fe68bd9fd49 ,
                                                           [ rdf:type owl:Restriction ;
                                                             owl:onProperty :EMMO_8e52c42b_e879_4473_9fa1_4b23428b392b ;
                                                             owl:someValuesFrom :EMMO_4299e344_a321_4ef2_a744_bacfcce80afc
                                                           ] ;
                                           skos:prefLabel "Workflow"@en ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "A procedure that has at least two procedures (tasks) as proper parts."@en .


###  https://w3id.org/emmo#EMMO_8a2a1cbc_dfc3_4e6c_b337_00ee56fd438a
:EMMO_8a2a1cbc_dfc3_4e6c_b337_00ee56fd438a rdf:type owl:Class ;
                                           rdfs:subClassOf <https://w3id.org.org/emmo#EMMO_180bd73b_0c5d_4b1f_ba12_4309c5a50d49> ,
                                                           :EMMO_edf72228_e040_4edc_8b46_78b2a47c72d7 ;
                                           skos:prefLabel "EndTask"@en ;
                                           :EMMO_157fdf31_6387_42be_8e72_10530519214a "https://w3id.org/emmo/raw/1.0.0/doc/figs/EndTile.png"^^xsd:anyURI ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "The final task of a workflow."@en ;
                                           :EMMO_c7b62dd7_063a_4c2a_8504_42f7264ba83f "There may be more than one end task, if they run in parallel leading to more than one output."@en .


###  https://w3id.org/emmo#EMMO_8cf62c94_ae5f_4f80_8669_d5f91178db6d
:EMMO_8cf62c94_ae5f_4f80_8669_d5f91178db6d rdf:type owl:Class ;
                                           rdfs:subClassOf :EMMO_c130614a_2985_476d_a7ed_8a137847703c ;
                                           skos:prefLabel "ProceduralAgent"@en ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "An intentional agent that drives a process according to some existing formalised operative rules."@en .


###  https://w3id.org/emmo#EMMO_9ac10a20_63d0_4bbd_a5d3_f00a0ad4682c
:EMMO_9ac10a20_63d0_4bbd_a5d3_f00a0ad4682c rdf:type owl:Class ;
                                           rdfs:subClassOf <https://w3id.org.org/emmo#EMMO_1a6ddb13_49ff_4305_97a1_d1458d51c066> ,
                                                           :EMMO_ddecfff6_d3a1_4972_b9e9_3d0ca11a3a0b ;
                                           skos:example "A Jacobi method, involving the iterative multiplication between a matrix A and a vector x, which is part of larger workflow for the solution of a partial differential equation using finite differences."@en ;
                                           skos:prefLabel "IterativeTask"@en ;
                                           :EMMO_157fdf31_6387_42be_8e72_10530519214a "https://w3id.org/emmo/raw/1.0.0/doc/figs/IterativeWorkflow.png"^^xsd:anyURI ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "An iterative workflow which is a task of a larger workflow."@en .


###  https://w3id.org/emmo#EMMO_9f6ec830_c59f_46aa_8a22_945ba20b6ea3
:EMMO_9f6ec830_c59f_46aa_8a22_945ba20b6ea3 rdf:type owl:Class ;
                                           rdfs:subClassOf :EMMO_4299e344_a321_4ef2_a744_bacfcce80afc ,
                                                           :EMMO_9953c19f_ee33_4af8_be5e_dbf6d1e33581 ;
                                           skos:altLabel "Step"@en ;
                                           skos:prefLabel "TaskTile"@en ;
                                           :EMMO_31252f35_c767_4b97_a877_1235076c3e13 "While a task is only an holistic part of a workflow, a task tile provide a more precise context about the placement of a task in the topological structure of a workflow by using a reductionistic categorization. A workflow is now seen as a tiling and the task is on of its tiles."@en ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "A task that is a well formed tile of a workflow, according to a reductionistic description."@en ;
                                           :EMMO_c7b62dd7_063a_4c2a_8504_42f7264ba83f "A task tile is part of a specific granularity level for the workflow description, as composition of tasks."@en .


###  https://w3id.org/emmo#EMMO_b941e455_2cb1_4c11_93e3_17caa06086b4
:EMMO_b941e455_2cb1_4c11_93e3_17caa06086b4 rdf:type owl:Class ;
                                           rdfs:subClassOf <https://w3id.org.org/emmo#EMMO_180bd73b_0c5d_4b1f_ba12_4309c5a50d49> ,
                                                           :EMMO_fa595892_070d_455e_9459_06c97179c080 ;
                                           skos:prefLabel "BeginTask"@en ;
                                           :EMMO_157fdf31_6387_42be_8e72_10530519214a "https://w3id.org/emmo/raw/1.0.0/doc/figs/BeginTile.png"^^xsd:anyURI ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "An initial task of a workflow."@en ;
                                           :EMMO_c7b62dd7_063a_4c2a_8504_42f7264ba83f "There may be more than one begin task, if they run in parallel."@en .


###  https://w3id.org/emmo#EMMO_ddecfff6_d3a1_4972_b9e9_3d0ca11a3a0b
:EMMO_ddecfff6_d3a1_4972_b9e9_3d0ca11a3a0b rdf:type owl:Class ;
                                           rdfs:subClassOf :EMMO_57ba1bf0_4314_432c_a9bb_6a6720c8dab5 ;
                                           skos:prefLabel "IterativeWorkflow"@en ;
                                           :EMMO_157fdf31_6387_42be_8e72_10530519214a "https://w3id.org/emmo/raw/1.0.0/doc/figs/IterativeWorkflow.png"^^xsd:anyURI ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "A workflow whose steps are the repetition of the same task type."@en .


###  https://w3id.org/emmo#EMMO_eaf4640d_651d_4cbe_a315_3d2dc5df3b35
:EMMO_eaf4640d_651d_4cbe_a315_3d2dc5df3b35 rdf:type owl:Class ;
                                           rdfs:subClassOf :EMMO_3e7add3d_e6ed_489a_a796_8e31fef9b490 ;
                                           skos:prefLabel "ProceduralData"@en ;
                                           :EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 "Data that is encoded and/or decoded by a procedural agent following a procedure."@en .


###  Generated by the OWL API (version 4.5.29.2024-05-13T12:11:03Z) https://github.com/owlcs/owlapi