You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by br...@apache.org on 2015/03/09 15:20:39 UTC
svn commit: r1665246 -
/incubator/taverna/site/trunk/content/documentation/scufl2/workflow.md
Author: brenninc
Date: Mon Mar 9 14:20:39 2015
New Revision: 1665246
URL: http://svn.apache.org/r1665246
Log:
Scufl2-Workflow (outdated example)
Added:
incubator/taverna/site/trunk/content/documentation/scufl2/workflow.md
Added: incubator/taverna/site/trunk/content/documentation/scufl2/workflow.md
URL: http://svn.apache.org/viewvc/incubator/taverna/site/trunk/content/documentation/scufl2/workflow.md?rev=1665246&view=auto
==============================================================================
--- incubator/taverna/site/trunk/content/documentation/scufl2/workflow.md (added)
+++ incubator/taverna/site/trunk/content/documentation/scufl2/workflow.md Mon Mar 9 14:20:39 2015
@@ -0,0 +1,90 @@
+Title: Scufl2-Workflow
+Notice: Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+ .
+ http://www.apache.org/licenses/LICENSE-2.0
+ .
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+The definition of a workflow, its processors, inputs/outputs and links.
+
+ - Bundle path: `/workflow/\$name.n3`
+
+Each nested workflow (and nested nested workflows etc.) exists in a separate file within the `/workflow/` folder in the bundle.
+The bundle's [research object](/documentation/scufl2/bundle) defines what is the top level workflow.
+
+##Identifier
+
+Each workflow **must** have a unique name within the bundle's workflow files.
+The base part of the file name (excluding extension) **must** match the **scufl2:name** of the workflow.
+
+Workflows used in a particular research object are globally identified as
+ `<http://ns.taverna.org.uk/2010/researchObject/$uuid/workflow/$workflowName/>` -
+ for instance `<http://ns.taverna.org.uk/2010/researchObject/28f7c554-4f35-401f-b34b-516e9a0ef731/workflow/Helloworld/>`.
+
+As it can be useful to identify nested workflows included in several workflow bundles,
+ each workflow must also have a *scufl2:workflowIdentifier* property, which URI **must** be on the form
+ `<http://ns.taverna.org.uk/2010/workflow/$uuid>`, for example
+ `<http://ns.taverna.org.uk/2010/workflow/efb1cdcd-1e19-408a-885a-303c6553a672/>`.
+It is responsibility of the software creating or modifying the workflow to generate a new workflowcIdentifier
+ as soon as the workflow has changed.
+(The randomly generated UUID of the workflow must **not** match the UUID of a research object or any other workflow.)
+The owning [research object](/documentation/scufl2/bundle) should then also be assigned a new UUID.
+(Note that editing metadata and bindings in other files don't update the workflow, but still update the research object.)
+
+The workflow file **should** set the @base to the form `<workflow/$name>`}
+ so that nested resources can be referenced relatively, like {{<processor/$processorName></code>.</p>
+
+##Example
+
+(Outdated)
+
+ @base <workflow/Helloworld/>
+ @prefix scufl2: <http://ns.taverna.org.uk/2010/scufl2/ontology/> .
+
+ <>
+ a scufl2:Workflow ;
+ scufl2:name "Helloworld" ;
+ scufl2:inputWorkflowPort <in/yourName> ;
+ scufl2:outputWorkflowPort <out/results> ;
+ scufl2:datalink <datalink/1>, <datalink/2> ;
+ scufl2:processor <processor/Hello> .
+ ]]>
+
+This example defines the workflow "HelloWorld".
+It contains one workflow input port and one workflow output port, in addition to a single processor and two datalinks.
+
+The nested resources for this workflow, such as InputWorkflowPort , OutputWorkflowPort,
+ [DataLink](/documentation/scufl2/datalink), Processor and their children **should** be described
+ in the same file as the workflow itself.
+Additional metadata should be added to an `/annotations/` file.
+
+##Properties
+
+ - **scufl2:name** (required) gives the programmatic short-name for this workflow within this bundle.
+ This must be unique among the other workflows.
+ - **scufl2:workflowIdentifier** (required) gives the globally unique URI defining this workflow.
+ See *Identifier* above.
+ - **scufl2:inputWorkflowPort** (optional) All workflow input ports defined for this workflow.
+ - **scufl2:outputWorkflowPort** (optional) All workflow output ports defined for this workflow.
+ - **scufl2:datalink** (optional) All [datalinks](/documentation/scufl2/datalink)
+ defined between workflow and processor ports in this workflow.
+ (Note that if this is a nested workflow, its outside links are defined in the parent workflow)
+ - **scufl2:processor** (optional) All [processors](/documentation/scufl2/processors) in this workflow.
+
+##Bundle links
+
+All nested workflow resources should also be defined in the same archive file as this workflow.
+Their URIs **must** be relative to this workflow, their type and **scufl2:name**.
+So for instance <workflow/Helloworld/processor/Hello> is a **scufl2:Processor** in <workflow/Helloworld>,
+ and has a **scufl2:name** "Hello".