Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

Components and Component Profiles will be stored on myExperiment. Taverna (and other tools) will be able to search myExperiment to discover components.

Component Structure on myExperiment


Components will be structured as packs on myExperiment. A component pack contains the workflow that implements the component and (optionally) documentation, example data and any other information related to the component. Example at

Component Families

Components will be grouped into component families: a collection of components that conform to the same component profile and have common purpose. Multiple component families may have the same component profile. For example, in SCAPE we may choose to create component families for Image Migration and Audio Migration that both use the Migration Component Profile. Component families may also contain documentation that is common to all components in the family. Example at

Component Profiles

Component profiles are files on myExperiment. A component profile file will tagged with 'component profile'. Example at

Querying Components

Components can be queried by their semantic annotations through myExperiment's REST API. A special endpoint /components.xml will be created, which will return a list of suitable components (as workflows) when a HTTP GET request, with a set of parameters detailing their required properties, is made. Each parameter is in the form of a variable representing a workflow feature (an input port, output port, processor, or the workflow itself), followed by one or more predicate-object pairs. Parameters have an index number, to differentiate between multiple inputs, outputs, etc.

Parameter example:


This will find all components that have an input port annotated with

To specify multiple annotations for a single workflow feature, add additional pairs separated by a comma. e.g.

/components.xml?input[0]="<uri1> <uri2>","<uri3> <uri4>"

Multiple parameters can be specified, separated by an ampersand (&). If multiple parameters for the same type of feature (e.g. "input") are required, give each one a distinct index. e.g.


To ensure the request is parsed correctly by the server, certain "unsafe" characters the parameter string should be encoded. Common examples below:

Character Encoded form
(space) %20
" (quote) %22
# (hash) %23
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.