You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by gn...@apache.org on 2016/01/06 22:57:59 UTC

svn commit: r1723417 - /incubator/taverna/site/trunk/content/documentation/scufl2/bundle.md

Author: gnaylor
Date: Wed Jan  6 21:57:59 2016
New Revision: 1723417

URL: http://svn.apache.org/viewvc?rev=1723417&view=rev
Log:
Corrected typos, spacing, consistency in lists, and grammar.

Modified:
    incubator/taverna/site/trunk/content/documentation/scufl2/bundle.md

Modified: incubator/taverna/site/trunk/content/documentation/scufl2/bundle.md
URL: http://svn.apache.org/viewvc/incubator/taverna/site/trunk/content/documentation/scufl2/bundle.md?rev=1723417&r1=1723416&r2=1723417&view=diff
==============================================================================
--- incubator/taverna/site/trunk/content/documentation/scufl2/bundle.md (original)
+++ incubator/taverna/site/trunk/content/documentation/scufl2/bundle.md Wed Jan  6 21:57:59 2016
@@ -21,12 +21,12 @@ The entry point of the Taverna Workflow
 Defines the *workflows* and *profiles* of a 
    [Taverna Workflow Bundle](/documentation/scufl2/taverna_bundle).
 The *main workflow* is also normally defined, which would be the top-level workflow to execute. 
-The profiles defines how these workflows can be realised and *executed* on different environments, 
+The profiles define how these workflows can be realised and *executed* on different environments, 
    one of which can be suggested as the *main profile*.
 
 ##Bundle path and root files
 
-The **workflow bundle document** in RDF/XML format **should** be in in `/workflowBundle.rdf` within the bundle archive.
+The **workflow bundle document** in RDF/XML format **should** be in `/workflowBundle.rdf` within the bundle archive.
 
 If the archive is a [workflow bundle](/documentation/scufl2/taverna_bundle), 
    i.e. `/mimetype` is `application/vnd.taverna.scufl2.workflow-bundle`, 
@@ -46,45 +46,49 @@ Example `META-INF/container.xml`: (may b
         </rootfiles>
     </container>   
 
-This defines the RDF/XML root file to be `/workflowBundle.rdf` - 
-   with `workflowBundle.ttl` being an alternate representation the resource in Turtle format.
+The code above defines the RDF/XML root file to be `/workflowBundle.rdf`, with `workflowBundle.ttl` being an alternate representation of the resource in Turtle format.
 
 SCUFL2-compliant workflow bundle writers:
 
- - **Must** set the bundle **mimetype** to `application/vnd.taverna.scufl2.workflow-bundle`
- - **Must** add a workflow bundle document in `application/rdf+xml` format
- - **Should** store the workflow bundle document in `/workflowBundle.rdf`
- - **Must not** contain a resource `/workflowBundle.rdf` which is not the workflow bundle document
- - If the `application/rdf+xml` representation is not in `/workflowBundle.rdf`, 
-     the writer **must** include `META-INF/container.xml` with the required `<rootfile>` entries.
- - `META-INF/container.xml`, if present, **must** contain one and only one `rootfile` with the media-type 
-     `application/rdf+xml`. 
-   rootfiles of other media-types **may** be included, but their formats and restrictions are not defined by this specification.
+ - **Must** set the bundle **mimetype** to `application/vnd.taverna.scufl2.workflow-bundle`.
+ - **Must** add a workflow bundle document in `application/rdf+xml` format.
+ - **Should** store the workflow bundle document in `/workflowBundle.rdf`.
+ - **Must not** contain a resource `/workflowBundle.rdf` which is not the workflow bundle document.
  - **May** Add additional representation of the workflow bundle document (and other documents). 
-   Alternates of the workflow bundle document **should** be included in the `META-INF/container.xml`, 
+     Alternates of the workflow bundle document **should** be included in the `META-INF/container.xml`, 
      but only if they can be considered to fully specify the workflow bundle as in the RDF/XML format. 
-   (So for instance a `text/html` or `image/png` representation would not normally be considered a 
-     **rootfile** if it does not include all the structural information from the RDF/XML representation as specified here)
+     (So for instance, a `text/html` or `image/png` representation would not normally be considered a 
+     **rootfile** if it does not include all the structural information from the RDF/XML representation 
+     as specified here.)
+
+SCUFL2-compliant workflow bundle writers have additional constraints.
+
+- If the `application/rdf+xml` representation is not in `/workflowBundle.rdf`, 
+     the writer **must** include `META-INF/container.xml` with the required `<rootfile>` entries.
+- `META-INF/container.xml`, if present, **must** contain one and only one `rootfile` with the media-type 
+     `application/rdf+xml`. Rootfiles of other media-types **may** be included, but their formats and restrictions are not defined by this specification.
+
 
 It is possible to include a workflow bundle document within a different kind of archive or bundle, 
    for instance in a data bundle.
-In this case the bundle is not considered an `application/vnd.taverna.scufl2.workflow-bundle` - 
-   but producers of such archives:
+In this case, the bundle is not considered an `application/vnd.taverna.scufl2.workflow-bundle`.
+
+Producers of these different kinds of archives:
 
  - **Should** store the workflow bundle document in `/workflowBundle.rdf`, 
       unless the workflow bundle is not to be considered to have a 'main' or 'prominent' role within the archive. 
-   (For instance if the archive is a collection of workflow bundles).
+   (For instance, if the archive is a collection of workflow bundles.)
  - **Should** have a `mimetype` and `META-INF/container.xml` resource which declares the archive's main entry point, 
      like the data bundle document. 
-   The mime type **must not** be `application/vnd.taverna.scufl2.workflow-bundle` and 
-      the root files **should not** be the workflow bundle document.</li>
- - **Should** link to the workflow bundle document from a resource within the archive which (ultimately) 
+   The mime type **must not** be `application/vnd.taverna.scufl2.workflow-bundle`, and 
+      the root files **should not** be the workflow bundle document.
+ - **Should** link to the workflow bundle document from a resource within the archive, which (ultimately) 
       is linked to from one of the `rootfile` documents. 
    Such documents **should** be in RDF/XML format.
  - **Should** declare the media type of the RDF/XML workflow bundle document as `application/rdf+xml` 
       in its `META-INF/manifest.xml`
 
-SCUFL2 compliant workflow bundle readers:
+SCUFL2-compliant workflow bundle readers:
 
  - **Should** assume that `/workflowBundle.rdf` - if present - 
        is the root workflow bundle in the `application/rdf+xml` format specified here.
@@ -94,57 +98,57 @@ SCUFL2 compliant workflow bundle readers
  - **May** assume that any alternate formats listed as a `rootfile` in a `application/vnd.taverna.scufl2.workflow-bundle` 
        archive would fully cover the specification of the RDF/XML representation, and read such formats instead.
  - **May** assume that any `application/rdf+xml` document with a `xsi:type="WorkflowBundleDocument"` 
-       can be parsed according to the Scufl2 XML schema
+       can be parsed according to the Scufl2 XML schema.
 
 ##Identifiers
 
 Workflow bundles and their resources **must** be declared with relative identifiers within the archive. 
-In a `application/vnd.taverna.scufl2.workflow-bundle` archive, 
-  the workflow bundle **must** be identified as the root of the archive. 
-If the Workflow Bundle document is in `workflowBundle.rdf` within the archive, the workflow identifier is `./`.  
-This **should** be achieved by setting `xml:base="./"` and `rdf:about=""`.
+   In an `application/vnd.taverna.scufl2.workflow-bundle` archive, 
+   the workflow bundle **must** be identified as the root of the archive. 
+   If the Workflow Bundle document is in `workflowBundle.rdf` within the archive, the workflow identifier is `./`. 
+   This **should** be achieved by setting `xml:base="./"` and `rdf:about=""`.
 
-This means that one can mint a URI to refer to resources within the bundle archive, including the workflow bundle, 
+One can mint a URI to refer to resources within the bundle archive, including the workflow bundle, 
    workflows and representations. 
-If `http://example.com/myWfBundle.scufl2` returns a [Scufl2 workflow bundle](/documentation/scufl2/taverna_bundle) 
+   If `http://example.com/myWfBundle.scufl2` returns a [Scufl2 workflow bundle](/documentation/scufl2/taverna_bundle) 
    archive of the content type `application/vnd.taverna.scufl2.workflow-bundle`,  
    then (assuming default structure of the archive):
 
- - `http://example.com/myWfBundle.scufl2` identifies for the Workflow Bundle representation (the archive)
- - `http://example.com/myWfBundle.scufl2/` identifies the Workflow Bundle (as described here)
- - `http://example.com/myWfBundle.scufl2/workflowBundle.rdf` identifies the Workflow Bundle representation in RDF/XML
+ - `http://example.com/myWfBundle.scufl2` identifies the Workflow Bundle representation (the *archive*).
+ - `http://example.com/myWfBundle.scufl2/` identifies the *Workflow Bundle* (as described here).
+ - `http://example.com/myWfBundle.scufl2/workflowBundle.rdf` identifies the Workflow Bundle representation in RDF/XML.
  - `http://example.com/myWfBundle.scufl2/workflow/HelloWorld/` identifies the "HelloWorld" 
-      [workflow](/documentation/scufl2/workflow) within the bundle
- - `http://example.com/myWfBundle.scufl2/workflow/HelloWorld.rdf` identifies the "HelloWorld" workflow representation in RDF/XML
+      [workflow](/documentation/scufl2/workflow) within the bundle.
+ - `http://example.com/myWfBundle.scufl2/workflow/HelloWorld.rdf` identifies the "HelloWorld" workflow representation in RDF/XML.
  - `http://example.com/myWfBundle.scufl2/workflow/HelloWorld/processor/Hello/` identifies the "Hello" 
       processor within the "HelloWorld" workflow.
 
 ###Embedded workflow bundles
 
-If the archive is another type of bundle which includes the workflow bundle 
+If the archive is another type of bundle, which includes the workflow bundle 
    (but is not primarily playing the role as the format for this workflow bundle), 
    the local workflow identifier **should** be unique within the archive. 
-This is easiest achieved by using the same folder technique as for the workflow representations:
+This is most easily achieved by using the same folder technique as for the workflow representations:
 
- - `workflowBundle1.rdf` can define `workflowBundle1/`
- - `exampleWorkflowBundles/hello.rdf` defines `exampleWorkflowBundles/hello/`
+ - `workflowBundle1.rdf` can define `workflowBundle1/`.
+ - `exampleWorkflowBundles/hello.rdf` defines `exampleWorkflowBundles/hello/`.
 
 Such embedded workflow bundles **should** include their constituent representations 
-   (such as `workflow/HelloWorld.rdf`) within that folder, 
-   for instance `exampleWorkflowBundles/hello/workflow/HelloWorld.rdf` to define 
-   `exampleWorkflowBundles/hello/workflow/HelloWorld/` - but could also be shared among bundles, 
-   for instance both `workflowBundle1.rdf` and `workflowBundle2.rdf` might refer to `workflow/Shared.rdf`.
+   (such as `workflow/HelloWorld.rdf`) within that folder. 
+For instance, `exampleWorkflowBundles/hello/workflow/HelloWorld.rdf` defines 
+   `exampleWorkflowBundles/hello/workflow/HelloWorld/`. But this could also be shared among bundles;
+   for instance, both `workflowBundle1.rdf` and `workflowBundle2.rdf` might refer to `workflow/Shared.rdf`.
 
 ###Global workflow bundle identifiers
 
 Workflow bundles **should** declare a **sameBaseAs** reference to a globally unique non-informational URI.
 
-Anyone can generate such a URI using the form `http://ns.taverna.org.uk/2010/workflowBundle/UUID/` - 
-   for instance `http://ns.taverna.org.uk/2010/workflowBundle/28f7c554-4f35-401f-b34b-516e9a0ef731/` - 
+Anyone can generate such a URI using the form `http://ns.taverna.org.uk/2010/workflowBundle/UUID/`.
+   One example would be: `http://ns.taverna.org.uk/2010/workflowBundle/28f7c554-4f35-401f-b34b-516e9a0ef731/` - 
    including the trailing slash.
 
 The semantics of **sameBaseAs** is a kind of recursive version of **owl:sameAs** - 
-   so also resources which URI start with the same will be included.
+   so resources with URI having the same beginning will be included.
 
 So if:
 
@@ -181,7 +185,7 @@ It is up to the software editing or crea
 > ![](/img/warning.png)**Not implemented by API** Scufl2 API do not yet
 >
 > automatically update the workflow bundle identifier. 
-> [SCUFL2-41](http://www.mygrid.org.uk/dev/issues/browse/SCUFL2-41)
+> Refer to [SCUFL2-41](http://www.mygrid.org.uk/dev/issues/browse/SCUFL2-41)
 > 
 > To update the URI, use `workflowBundle.setSameBaseAs(WorkflowBundle.generateIdentifier())`.
 
@@ -226,9 +230,9 @@ It is up to the software editing or crea
         </WorkflowBundle>
     </rdf:RDF>
 
-This example defines the workflow bundle "HelloWorld". 
-It contains one workflow `workflow/HelloWorld`, which is also the **main workflow**. 
-Any additional workflows are typically nested (and nested-nested, etc) workflows bound as activities in processors). 
+The above example defines the workflow bundle "HelloWorld". 
+It contains one workflow (`workflow/HelloWorld`), which is also the **main workflow**. 
+(Any additional workflows are typically nested (and nested-nested, etc) workflows bound as activities in processors). 
 Two execution profiles are provided, and `profile/tavernaWorkbench` is dedicated as the **main profile**.
 
 ##Properties
@@ -236,25 +240,33 @@ Two execution profiles are provided, and
  - **name** (required) gives the human readable title for this workflow archive. 
      This is a subproperty of `dc:title`.
  - **sameBaseAs** (optional) gives a unique URI which is **owl:sameAs** with this workflow bundle and its children.
- - **workflow** (required) All [workflows](/documentation/scufl2/workflow) included in this bundle. 
+ - **workflow** (required) must be included for all [workflows](/documentation/scufl2/workflow) included in this bundle. 
      Each workflow must have an **rdfs:seeAlso** link to the bundle resource that defines the workflow, 
        typically `workflow/workflowName.rdf` corresponding to the non-information resource `workflow/workflowName/`.
- - **mainWorkflow** (optional) The reference to the top-level [workflow](/documentation/scufl2/workflow) of this bundle. 
+ - **mainWorkflow** (optional) refers to the top-level [workflow](/documentation/scufl2/workflow) of this bundle. 
    It is valid to have a workflow bundle without a main workflow, 
-      for instance if the bundled workflows are unconnected "workflow fragments". 
-   If there is a **mainProfile** the workflow bundle must also have a **mainWorkflow**. 
+      for instance if the bundled workflows are unconnected "workflow fragments." 
+   If there is a **mainProfile**, the workflow bundle must also have a **mainWorkflow**. 
    The main workflow must always be listed under **workflow**.
- - **profile** (optional) <a href="/wiki/display/developer/Scufl2-Profile">profiles</a> specifying how to <strong>execute</strong> the bundled workflows. In particular the profile provides a set of configured activities bound to the processors for a particular run environment. If no profiles are specified this is an abstract workflow bundle.</li>
- - **mainProfile** (optional) the suggested <strong>main profile</strong>. Execution platforms unable to choose between the provided profiles can select this profile as a default. It is valid to have a workflow bundle without a main profile (even if it has other profiles), but any main profile must be listed under <strong>profile</strong>.</li>
- - **rdfs:seeAlso** (optional) link to annotations about the workflow bundle and its content. Traditionally found in <code>annotation/workflowBundle.rdf</code>, which should contain further links to annotations from different sources, for instance <code>annotation/myExperiment.rdf</code> for annotations included from myExperiment.</li>
+ - **profile** (optional) describes the <a href="/wiki/display/developer/Scufl2-Profile">profiles</a> that specify 
+      how to <strong>execute</strong> the bundled workflows. In particular, the profile provides a set of configured 
+      activities bound to the processors for a particular run environment. If no profiles are specified, this is an 
+      abstract workflow bundle.
+ - **mainProfile** (optional) is the suggested <strong>main profile</strong>. Execution platforms unable to choose 
+      between the provided profiles can select this profile as a default. It is valid to have a workflow bundle 
+      without a main profile (even if it has other profiles), but any main profile must also be listed under 
+      <strong>profile</strong>.
+ - **rdfs:seeAlso** (optional) describes a link to annotations about the workflow bundle and its content. Traditionally found 
+      in <code>annotation/workflowBundle.rdf</code>, which should contain further links to annotations from different 
+      sources. For instance, <code>annotation/myExperiment.rdf</code> lists annotations included from myExperiment.
 
 ##Bundle links
 
 The workflow bundle document is the starting point for finding all workflow bundle resources within the archive. 
-Each of the workflows and profiles must therefore have a **rdfs:seeAlso** link to the bundle resource that defines it.
+Therefore, each of the workflows and profiles must have a **rdfs:seeAlso** link to the bundle resource that defines it.
 
-If alternate formats other than the required RDF/XML format is included in the bundle, 
-   these formats can therefore link to resources in other formats, for instance in an additional `workflowBundle.ttl` 
+If alternate formats other than the required RDF/XML format are included in the bundle, 
+   these formats can link to resources in other formats, for instance to a `workflowBundle.ttl` 
    ([Turtle format](http://www.w3.org/TeamSubmission/turtle/)):
 
     @prefix : <http://ns.taverna.org.uk/2010/scufl2#> .
@@ -285,13 +297,13 @@ SCUFL2 compliant writers, when producing
 
  - **Should** write the workflow bundle RDF/XML document according to the SCUFL2 XML schema, 
       use the default namespace `xmlns="http://ns.taverna.org.uk/2010/scufl2#"` and declare the 
-      `xsi:type="WorkflowBundleDocument"`
+      `xsi:type="WorkflowBundleDocument"`.
  - **Must** ensure the workflow bundle RDF/XML document is valid [RDF/XML](http://www.w3.org/TR/REC-rdf-syntax/) 
      and includes the properties deemed required by this specification. 
    Conforming to the XML schema should ensure this.
- - **Should** set the `xml:base` property to `"./"`
- - **Should** set **rdf:about** to `""` (or `"./"` if `xml:base` is not set)
- - **Should** declare a **mainWorkflow** and **mainProfile**
+ - **Should** set the `xml:base` property to `"./"`.
+ - **Should** set **rdf:about** to `""` (or `"./"` if `xml:base` is not set).
+ - **Should** declare a **mainWorkflow** and **mainProfile**.
  - **Must** ensure that any **workflow**/**profile** has a relative **rdfs:seeAlso** link to a bundle resource in 
      `application/rdf+xml` which defines 
     that [workflow](/documentation/scufl2/workflow) / [profile](/documentation/scufl2/profile).
@@ -299,7 +311,8 @@ SCUFL2 compliant writers, when producing
 SCUFL2 compliant readers, when parsing a workflow bundle document:
 
 **May** assume that a declared workflow/profile is defined in the referenced representation. 
-  For instance, if:
+  For instance, in the code example below, `workflow/SomeNestedWorkflow.rdf` **must** contain a 
+  [workflow definition](/documentation/scufl2/workflow) for `workflow/SomeNestedWorkflow/`.   
 
     <workflow>
        <Workflow rdf:about="workflow/SomeNestedWorkflow/">
@@ -307,10 +320,6 @@ SCUFL2 compliant readers, when parsing a
        </Workflow>   
     </workflow>
 
-then `workflow/SomeNestedWorkflow.rdf` **must** contain a [workflow definition](/documentation/scufl2/workflow) 
-   for `workflow/SomeNestedWorkflow/`.   
 **May** parse the `/workflowBundle.rdf` as RDF/XML   
 **May** parse the {/workflowBundle.rdf}} according to the XML schema if the `xsi:type="WorkflowBundleDocument"` 
    is set on the `rdf:RDF` element.
-
-