Powered by OPF
OPF WIKI STATIC ARCHIVE
2,681 pages · 153 spaces · 776 tags · 4,025 history records · 96.2% of the original wiki recovered
Archived copy. This page was recovered from the Internet Archive snapshot of /pages/viewpage.action?pageId=19300434 taken on 2022-06-27. The original wiki at wiki.opf-labs.org is being decommissioned.

Components on myExperiment

Added by David Withers · last edited by Finn Bacall · on Dec 12, 2012

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

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 http://www.myexperiment.org/packs/351.html

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 http://www.myexperiment.org/packs/350.html

Component Profiles

Component profiles are files on myExperiment. A component profile file will tagged with 'component profile'. Example at http://www.myexperiment.org/files/863.html

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:
/components.xml?input[0]="http://scape-project.eu/pc/vocab/profiles#hasPortType http://scape-project.eu/pc/vocab/profiles#FromURIPort"
This will find all components that have an input port annotated with http://scape-project.eu/pc/vocab/profiles#hasPortType http://scape-project.eu/pc/vocab/profiles#FromURIPort.

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. input[0]=...&input[1]=...&input[2]=...