-
Notifications
You must be signed in to change notification settings - Fork 13
/
motifs.owl
316 lines (180 loc) · 13.6 KB
/
motifs.owl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY motifs "http://purl.org/wf4ever/motifs.owl#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>
<rdf:RDF xmlns="http://purl.org/wf4ever/motifs.owl#"
xml:base="http://purl.org/wf4ever/motifs.owl"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:motifs="http://purl.org/wf4ever/motifs.owl#">
<owl:Ontology rdf:about="http://purl.org/wf4ever/motifs.owl"/>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Annotation properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Datatypes
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Object Properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://purl.org/wf4ever/motifs.owl#hasDataMotif -->
<owl:ObjectProperty rdf:about="&motifs;hasDataMotif">
<rdfs:comment>This object property is used to annotate a step in the workflow, a group of steps, a subworkflow, or a workflow with a data motif.</rdfs:comment>
<rdfs:range rdf:resource="&motifs;DataMotif"/>
</owl:ObjectProperty>
<!-- http://purl.org/wf4ever/motifs.owl#hasWorkflowMotif -->
<owl:ObjectProperty rdf:about="&motifs;hasWorkflowMotif">
<rdfs:comment>This object property is used to annotate a step in the workflow, a group of steps, a subworkflow, or a workflow with a workflow motif.</rdfs:comment>
<rdfs:range rdf:resource="&motifs;WorkflowMotif"/>
</owl:ObjectProperty>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Classes
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://purl.org/wf4ever/motifs.owl#AsynchronousInvocation -->
<owl:Class rdf:about="&motifs;AsynchronousInvocation">
<rdfs:subClassOf rdf:resource="&motifs;IntraWorkflowMotif"/>
<rdfs:comment>Certain activities such as analysis or visualizations could be performed through interaction with stateful (web) services that allow for creation of jobs over remote grid environments. These are typically performed via invocation of multiple operations at a service endpoint. </rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#AtomicWorkflow -->
<owl:Class rdf:about="&motifs;AtomicWorkflow">
<rdfs:subClassOf rdf:resource="&motifs;InterWorkflowMotif"/>
<rdfs:comment>This motif is used to characetrize the workflows that perform an atomic unit of functionality, which effectively requires no sub-workflow usage. Typically these workflows are designed to be included in other work- flows. Atomic workflows are the main mechanism of modu- larizing functionality wthin scientific workflows.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#CompositeWorkflow -->
<owl:Class rdf:about="&motifs;CompositeWorkflow">
<rdfs:subClassOf rdf:resource="&motifs;InterWorkflowMotif"/>
<rdfs:comment>The usage of sub-workflows ap- pears as a motif for exploiting modular functionality from multiple workflows. This motif refers to all those workflows that have one or more sub-workflows included in them (in some cases, these sub-workflows offer different views of the global workflow). </rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#ComputationalStep -->
<owl:Class rdf:about="&motifs;ComputationalStep">
<rdfs:subClassOf rdf:resource="&motifs;IntraWorkflowMotif"/>
<rdfs:comment>This motif is used to refer to activities that do not require human inputs during their execution.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#DataAnalysis -->
<owl:Class rdf:about="&motifs;DataAnalysis">
<rdfs:subClassOf rdf:resource="&motifs;DataMotif"/>
<rdfs:comment>This motif refers to a rather broad category of tasks in diverse domains. An important number of workflows are designed with the purpose of analyzing differ- ent features of input data, ranging from simple comparisons between the datasets to complex protein analysis to see if two molecules can be docked successfully. </rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#DataCleaning -->
<owl:Class rdf:about="&motifs;DataCleaning">
<rdfs:subClassOf rdf:resource="&motifs;DataMotif"/>
<rdfs:comment>We have observed the steps for cleaning and curating data as a separate category from data preparation and filtering. Typically these steps are undertaken by sophisticated tooling/services, or by human interactions. A cleaning step essentially preserves and enriches the content of data (e.g., by a user’s annotation of a result with additional information, detecting and removing inconsistencies on the data, etc.).</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#DataMotif -->
<owl:Class rdf:about="&motifs;DataMotif">
<rdfs:comment>A data motif describes the data manipulation and/or transformation carried out by a step in the workflow, a collection of steps in the workflow or a subworkflow.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#DataMovement -->
<owl:Class rdf:about="&motifs;DataMovement">
<rdfs:subClassOf rdf:resource="&motifs;DataMotif"/>
<rdfs:comment>Certain analysis activities that are per- formed via external tools or services require the submission of data to a location accessible by the service/tool (i.e., a web or a local directory respectively). In such cases the workflow contains dedicated step(s) for the upload/transfer of data to these locations. The same applies to the outputs, in which case a data download/retrieval step is used to chain the data to the next steps of the workflow.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#DataOrganization -->
<owl:Class rdf:about="&motifs;DataOrganization">
<rdfs:subClassOf rdf:resource="&motifs;DataPreparation"/>
<rdfs:comment>The datasets brought into a pipeline may not be Data could further be filtered, sampled or could be subject to extraction of various subsets. In addition to filtering, certain tasks are dedicated to merging data sets created by different branches of workflows. Sorting or grouping results is also observed under this category. </rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#DataPreparation -->
<owl:Class rdf:about="&motifs;DataPreparation">
<rdfs:subClassOf rdf:resource="&motifs;DataMotif"/>
<rdfs:comment>Data, as it is originally retrieved, may need several transformations before being able to be used in a workflow step. The steps in the workflow performing such transformations can be annotated used the Data Preparation motif.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#DataRetrieval -->
<owl:Class rdf:about="&motifs;DataRetrieval">
<rdfs:subClassOf rdf:resource="&motifs;DataMotif"/>
<rdfs:comment>Workflows exploit heterogeneous data sources, remote databases, repositories or other web resources mostly exposed via SOAP or REST services. Scientific data deposited in these repositories are retrieved through query and retrieval steps inside workflows. Certain tasks within the workflow are responsible for retrieving data from such exter- nal source into the workflow environment.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#DataVisualization -->
<owl:Class rdf:about="&motifs;DataVisualization">
<rdfs:subClassOf rdf:resource="&motifs;DataMotif"/>
<rdfs:comment>Being able to show the results is as important as producing them in some workflows. Scientists use visualizations to show the conclusions of their experiments and to take important decisions in the pipeline itself. Therefore certain steps in workflows are dedicated to generation of plots and graph outputs from input data.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#Filtering -->
<owl:Class rdf:about="&motifs;Filtering">
<rdfs:subClassOf rdf:resource="&motifs;DataOrganization"/>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#FormatTransformation -->
<owl:Class rdf:about="&motifs;FormatTransformation">
<rdfs:subClassOf rdf:resource="&motifs;DataPreparation"/>
<rdfs:comment>Heterogeneity of formats in data representation is a known issue in many scientific disciplines. Workflows that bring together multiple access or analysis activities usually contain steps for format transformations. Typically, these steps, also known as ”Shims”, preserve the contents of data, while converting its repre- sentation format.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#Grouping -->
<owl:Class rdf:about="&motifs;Grouping">
<rdfs:subClassOf rdf:resource="&motifs;DataOrganization"/>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#HumanInteraction -->
<owl:Class rdf:about="&motifs;HumanInteraction">
<rdfs:subClassOf rdf:resource="&motifs;IntraWorkflowMotif"/>
<rdfs:comment>This motif is used to characetrize the activities that require human inputs during their execution.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#InputAugmentation -->
<owl:Class rdf:about="&motifs;InputAugmentation">
<rdfs:subClassOf rdf:resource="&motifs;DataPreparation"/>
<rdfs:comment>Data access and analysis steps that are handled by external services or tools typically require well formed query strings or structured requests as input parameters. Certain tasks in workflows are dedicated to the generation of these queries through an aggregation of multiple parameters. </rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#InterWorkflowMotif -->
<owl:Class rdf:about="&motifs;InterWorkflowMotif">
<rdfs:subClassOf rdf:resource="&motifs;WorkflowMotif"/>
<rdfs:comment>Motif observed among workflows.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#InternalMacro -->
<owl:Class rdf:about="&motifs;InternalMacro">
<rdfs:subClassOf rdf:resource="&motifs;IntraWorkflowMotif"/>
<rdfs:comment>This motif refers to those groups of steps in the workflow that correspond to repetitive patterns of combining tasks. </rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#IntraWorkflowMotif -->
<owl:Class rdf:about="&motifs;IntraWorkflowMotif">
<rdfs:subClassOf rdf:resource="&motifs;WorkflowMotif"/>
<rdfs:comment>Motif observed within the workflow.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#Merging -->
<owl:Class rdf:about="&motifs;Merging">
<rdfs:subClassOf rdf:resource="&motifs;DataOrganization"/>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#OutputSplitting -->
<owl:Class rdf:about="&motifs;OutputSplitting">
<rdfs:subClassOf rdf:resource="&motifs;DataPreparation"/>
<rdfs:comment>Outputs of data access or analysis steps could be subject to data extraction or splitting to allow the conversion of data from the service specific format to the workflows internal data carrying structures (nested lists). </rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#Sorting -->
<owl:Class rdf:about="&motifs;Sorting">
<rdfs:subClassOf rdf:resource="&motifs;DataOrganization"/>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#SynchronousInvocaton -->
<owl:Class rdf:about="&motifs;SynchronousInvocaton">
<rdfs:subClassOf rdf:resource="&motifs;IntraWorkflowMotif"/>
<rdfs:comment>Unlike Asynchronous Invocation, Synchronous Invocation requires a single step for service or tool invocation.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#WorkflowMotif -->
<owl:Class rdf:about="&motifs;WorkflowMotif">
<rdfs:comment>A workflow motif describes how a data motif is realized (i.e., implemented) within a workflow.</rdfs:comment>
</owl:Class>
<!-- http://purl.org/wf4ever/motifs.owl#WorkflowOverloading -->
<owl:Class rdf:about="&motifs;WorkflowOverloading">
<rdfs:subClassOf rdf:resource="&motifs;InterWorkflowMotif"/>
<rdfs:comment>This motif is used to characetrize workflows that are used to operate over different input parameter types. An example is performing an analysis over a String input parameter, or performing it over the contents of a specified File. Overloading is a direct response to the heterogeneity of environments in which workflows are used.</rdfs:comment>
</owl:Class>
</rdf:RDF>
<!-- Generated by the OWL API (version 3.2.3.1824) http://owlapi.sourceforge.net -->