http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov-owl-bindings/src/test/java/org/purl/wf4ever/provtaverna/owl/TestTavernaProvModel.java ---------------------------------------------------------------------- diff --git a/taverna-prov-owl-bindings/src/test/java/org/purl/wf4ever/provtaverna/owl/TestTavernaProvModel.java b/taverna-prov-owl-bindings/src/test/java/org/purl/wf4ever/provtaverna/owl/TestTavernaProvModel.java deleted file mode 100644 index cfa5457..0000000 --- a/taverna-prov-owl-bindings/src/test/java/org/purl/wf4ever/provtaverna/owl/TestTavernaProvModel.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.purl.wf4ever.provtaverna.owl; - -import static org.junit.Assert.assertEquals; - -import java.net.URI; -import java.util.UUID; - -import org.apache.jena.riot.Lang; -import org.apache.jena.riot.RDFDataMgr; -import org.apache.jena.riot.RDFFormat; -import org.apache.jena.riot.WriterGraphRIOT; -import org.apache.jena.riot.system.PrefixMapFactory; -import org.apache.jena.riot.system.RiotLib; -import org.junit.Before; -import org.junit.Test; - -import com.hp.hpl.jena.ontology.Individual; -import com.hp.hpl.jena.ontology.OntModel; -import com.hp.hpl.jena.sparql.util.Context; - -public class TestTavernaProvModel { - - private TavernaProvModel provModel; - - @Before - public void tavernaProvModel() { - provModel = new TavernaProvModel(); - } - - @Test - public void dummy() throws Exception { - Individual bundle = provModel.createBundle(uuid()); - assertEquals("Bundle", bundle.getOntClass().getLocalName()); - - } - - private URI uuid() { - return URI.create("urn:uuid:" + UUID.randomUUID()); - } - - - @Test - public void createEntity() throws Exception { - Individual ent = provModel.createEntity(URI - .create("http://example.com/fred#test")); - provModel.createEntity(URI.create("http://example.com/test")); - OntModel model = provModel.model; - model.write(System.out, "TURTLE", "http://example.com/fred"); - model.write(System.out, "RDF/XML", "http://example.com/fred"); - - WriterGraphRIOT writer = RDFDataMgr.createGraphWriter(RDFFormat.TURTLE_BLOCKS); - writer.write(System.out, model.getBaseModel().getGraph(), RiotLib.prefixMap(model.getGraph()), "http://example.com/fred", new Context()); - - } -}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov-owl-bindings/src/test/java/org/purl/wf4ever/provtaverna/owl/TestWfprovModel.java ---------------------------------------------------------------------- diff --git a/taverna-prov-owl-bindings/src/test/java/org/purl/wf4ever/provtaverna/owl/TestWfprovModel.java b/taverna-prov-owl-bindings/src/test/java/org/purl/wf4ever/provtaverna/owl/TestWfprovModel.java deleted file mode 100644 index e7c8ae3..0000000 --- a/taverna-prov-owl-bindings/src/test/java/org/purl/wf4ever/provtaverna/owl/TestWfprovModel.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.purl.wf4ever.provtaverna.owl; -import static org.junit.Assert.assertEquals; - -import java.net.URI; -import java.util.UUID; - -import org.junit.Test; - -import com.hp.hpl.jena.ontology.Individual; - - -public class TestWfprovModel { - @Test - public void dummy() throws Exception { - ProvModel provModel = new WfprovModel(); - Individual bundle = provModel.createBundle(uuid()); - assertEquals("Bundle", bundle.getOntClass().getLocalName()); - - } - - private URI uuid() { - return URI.create("urn:uuid:" + UUID.randomUUID()); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov-owl-bindings/src/test/resources/handmade.ttl ---------------------------------------------------------------------- diff --git a/taverna-prov-owl-bindings/src/test/resources/handmade.ttl b/taverna-prov-owl-bindings/src/test/resources/handmade.ttl deleted file mode 100644 index 732f320..0000000 --- a/taverna-prov-owl-bindings/src/test/resources/handmade.ttl +++ /dev/null @@ -1,158 +0,0 @@ -@prefix owl: <http://www.w3.org/2002/07/owl#> . -@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . -@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . -@prefix prov: <http://www.w3.org/ns/prov#> . -@prefix wfprov: <http://purl.org/wf4ever/wfprov#> . -@prefix wfdesc: <http://purl.org/wf4ever/wfdesc#> . -@prefix tavernaprov: <http://ns.taverna.org.uk/2012/tavernaprov/> . -@prefix doap: <http://usefulinc.com/ns/doap#> . -@prefix cnt: <http://www.w3.org/2011/content#> . -@prefix dcterms: <http://purl.org/dc/terms/> . -@prefix scufl2: <http://ns.taverna.org.uk/2010/scufl2#> . - -<> rdfs:label "Handmade example of 'ideal' tavernaprov output"@en ; - rdfs:comment """This is a hand written attempt of how Taverna could output -workflow provenance of the 'Hello Anyone' workflow. - -Note that this example has been created to help shape the tavernaprov and -wfprov ontologies, and therefore might not be in compliance with their current -version. - -Note that for brevity, the provenance shown here might not be the complete -trace, for instance some workflow processors are not shown. """@en ; - prov:wasAttributedTo <http://soiland-reyes.com/stian/#me> . - - -# Normally, this PROV bundle would have this metaprovenance: - -<> a prov:Bundle, prov:Entity ; - prov:wasGeneratedBy :taverna-prov-export . - -:taverna-prov-export a prov:Activity, tavernaprov:ProvExport; - rdfs:label "taverna-prov export of workflow run provenance"; - # Might have been performed days later than the run! - prov:startedAtTime "2012-09-14T14:49:59.498+01:00"^^xsd:dateTime; - prov:endedAtTime "2012-09-14T14:50:41.216+01:00"^^xsd:dateTime; - # But was informed by the run activity - prov:wasInformedBy <http://ns.taverna.org.uk/2011/run/223da554-8b08-4ccd-9247-11c9cedb31de/> . - - -# 'Trace' of workflow definition included - mainly in wfdesc and prov:Plan/prov:Role terms. -# -# For a complete abstract workflow definition, see the separate wfdesc -# translation from scufl2. Only minimal typing from scufl2 has been exposed -# here, hence the use of dcterms:hasPart rather than scufl2:child. -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/> a scufl2:WorkflowBundle ; - dcterms:hasPart <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/> . -# The http://ns.taverna.org.uk/2010/workflowBundle/* and -# http://ns.taverna.org.uk/2011/run/* URIs in this document point to -# non-information resources - attempts to -# retrieve them will give either a 404 Not Found -# or a 303 See Other redirection to a 'guessing' service which can only give -# information on a similar granularity as below based on components of the -# structured URI. The reason for this is that the workflow engine is not in -# control of where the workflow definition or exported provenance is stored and -# published, and Taverna don't enforce any centralized registry of these. -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/> a scufl2:Workflow, wfdesc:Workflow, prov:Plan ; - rdfs:label "Workflow Hello_Anyone"; - wfdesc:hasSubProcess <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/> ; - dcterms:hasPart <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/> . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/> a scufl2:Processor, wfdesc:Process, prov:Plan ; - rdfs:label "Processor hello in workflow Hello_Anyone"; - wfdesc:hasInput <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/in/name> ; - dcterms:hasPart <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/in/name> . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/in/name> a wfdesc:Input, wfdesc:Parameter, prov:Role ; - rdfs:label "Input name in workflow Hello_Anyone" . -# - - -# A loose description of the workflow engine. The validity of this -# engine across multiple workflow runs is not clear, hence it does not -# have a proper URI. We do however know some informaton about -# the software version, which we should include -:tavernaEngine a tavernaprov:TavernaEngine, wfprov:WorkflowEngine, prov:Agent ; - wfprov:software <http://ns.taverna.org.uk/2012/releases/2.4.0/> ; - # Can't export this now - operator information not currently recorded by Taverna - #wfprov:operator [ a prov:Person; foaf:name "Fred" ] -. -<http://ns.taverna.org.uk/2012/releases/2.4.0/> a doap:Version ; - doap:revision "2.4.0" ; - doap:created "2012-04-19"^^xsd:dateTime ; - doap:name "Taverna Workbench"@en . -# - -# Description of workflow run -<http://ns.taverna.org.uk/2011/run/223da554-8b08-4ccd-9247-11c9cedb31de/> a wfprov:WorkflowRun, prov:Activity ; - rdfs:label "Workflow run of Hello_Anyone"@en ; - wfprov:wasEnactedBy :tavernaEngine ; - prov:wasAssociatedWith :tavernaEngine ; - prov:qualifiedAssociation [ - a wfprov:ExecutionOfWorkflow, prov:Associaton ; - prov:agent :tavernaEngine ; - wfprov:describedByWorkflow <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/> ; - prov:hadPlan <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/> ; - ] ; - prov:startedAtTime "2012-09-12T14:49:45.750+01:00"^^xsd:dateTime; - prov:endedAtTime "2012-09-12T14:49:48.829+01:00"^^xsd:dateTime; - prov:used <http://ns.taverna.org.uk/2011/data/d3f40bc4-0d96-4c6b-9562-5d27e0c66d7e/ref/2be8d75a-4545-4539-9364-5cfc41ae944a> ; - # Deprecated non-prov wfprov style - #wfprov:usedInput <http://ns.taverna.org.uk/2011/data/d3f40bc4-0d96-4c6b-9562-5d27e0c66d7e/ref/2be8d75a-4545-4539-9364-5cfc41ae944a> ; - prov:qualifiedUsage [ - a wfprov:InputValue, prov:Usage ; - wfprov:inputValue <http://ns.taverna.org.uk/2011/data/d3f40bc4-0d96-4c6b-9562-5d27e0c66d7e/ref/2be8d75a-4545-4539-9364-5cfc41ae944a> ; - prov:entity <http://ns.taverna.org.uk/2011/data/d3f40bc4-0d96-4c6b-9562-5d27e0c66d7e/ref/2be8d75a-4545-4539-9364-5cfc41ae944a> ; - - wfprov:asParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/in/name> ; - prov:hadRole <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/in/name> ; - ] . - -# Description of the used input -<http://ns.taverna.org.uk/2011/data/d3f40bc4-0d96-4c6b-9562-5d27e0c66d7e/ref/2be8d75a-4545-4539-9364-5cfc41ae944a> a wfprov:Artifact, prov:Entity ; - # The file that has the content - tavernaprov:content <intermediates/2be8d75a-4545-4539-9364-5cfc41ae944a.txt> ; - #wfprov:describedByParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/in/name> . - . - -# Description of actual content, small values even included here with cnt:chars -<intermediates/2be8d75a-4545-4539-9364-5cfc41ae944a.txt> a tavernaprov:Content, cnt:ContentAsText ; - tavernaprov:sha1 "943a702d06f34599aee1f8da8ef9f7296031d699"^^xsd:hexBinary; - tavernaprov:byteCount 13; - cnt:chars "Hello, world!"; - cnt:characterEncoding "UTF-8" . - - -# Description of process executions -<http://ns.taverna.org.uk/2011/run/223da554-8b08-4ccd-9247-11c9cedb31de/process/0347c41e-5998-4015-bdb7-cdd125c14acf/> a wfprov:ProcessRun, prov:Activity ; - rdfs:label "Processor execution hello (facade3:Hello_Anyone:hello)" ; - prov:startedAtTime "2012-09-12T14:49:47.366+01:00"^^xsd:dateTime ; - prov:endedAtTime "2012-09-12T14:49:47.513+01:00"^^xsd:dateTime ; - - wfprov:wasEnactedby :tavernaEngine ; - prov:wasAssociatedWith :tavernaEngine ; - prov:qualifiedAssociation [ - a wfprov:ExecutionOfProcess, prov:Association; - prov:agent :tavernaEngine ; - wfprov:describedByProcess <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/> ; - prov:hadPlan <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/> - ] ; - wfprov:wasPartOfWorkflowRun <http://ns.taverna.org.uk/2011/run/223da554-8b08-4ccd-9247-11c9cedb31de/> ; - dcterms:partOf <http://ns.taverna.org.uk/2011/run/223da554-8b08-4ccd-9247-11c9cedb31de/> . - -<http://ns.taverna.org.uk/2011/data/d3f40bc4-0d96-4c6b-9562-5d27e0c66d7e/ref/f644d282-dd2d-4cce-8eb2-8429f4cb4c3a> a wfprov:Artifact, prov:Entity ; - tavernaprov:content <intermediates/f6/f644d282-dd2d-4cce-8eb2-8429f4cb4c3a.txt>; - #wfprov:describedByParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/out/value>; - #wfprov:wasOutputFrom <http://ns.taverna.org.uk/2011/run/223da554-8b08-4ccd-9247-11c9cedb31de/process/0347c41e-5998-4015-bdb7-cdd125c14acf/> ; - prov:wasGeneratedBy <http://ns.taverna.org.uk/2011/run/223da554-8b08-4ccd-9247-11c9cedb31de/process/0347c41e-5998-4015-bdb7-cdd125c14acf/> ; - prov:qualifiedGeneration [ - a wfprov:OutputValue, prov:Generation; - wfprov:wasOutputFrom <http://ns.taverna.org.uk/2011/run/223da554-8b08-4ccd-9247-11c9cedb31de/process/0347c41e-5998-4015-bdb7-cdd125c14acf/> ; - prov:activity <http://ns.taverna.org.uk/2011/run/223da554-8b08-4ccd-9247-11c9cedb31de/process/0347c41e-5998-4015-bdb7-cdd125c14acf/>; - - wfprov:asParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/out/value>; - prov:hadRole <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/out/value> - ] . - -# .. Remaining processors and entities not shown - http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/README.md ---------------------------------------------------------------------- diff --git a/taverna-prov/README.md b/taverna-prov/README.md deleted file mode 100644 index b2fc454..0000000 --- a/taverna-prov/README.md +++ /dev/null @@ -1,564 +0,0 @@ -# Taverna PROV support - -[](https://travis-ci.org/taverna/taverna-prov) - -This is a plugin for the [Taverna](http://www.taverna.org.uk/) Workbench -and Taverna Command Line which allows export of the provenance of a -workflow run according to the [W3C PROV-O -standard](http://www.w3.org/TR/prov-o/). - - -## Source code and license -This plugin is distributed under the [GNU Lesser General Public License -2.1](http://www.gnu.org/licenses/lgpl-2.1.html) (LGPL). The source code -for this plugin is available at https://github.com/taverna/taverna-prov - - -## Installation for Taverna workbench -Installation of an released version of this plugin does not require -compilation, but uses Taverna's plugin mechanism. - -You need: -* [Taverna Workbench 2.5](http://www.taverna.org.uk/download/workbench/2-5/) -* Java 1.7 (now comes included with Taverna) -* Internet connectivity - -Taverna-PROV is included in Taverna 2.5 and later. - -To install any updates to the Taverna-PROV plugin: - -1. Start Taverna workbench - -2. In the menu, click **Advanced** -> **Updates and plugins** - -3. If Taverna does not say "An update is available" , click - **Find updates** - -4. For **Taverna-PROV databundle**, click **Update** if shown. - -5. Click **Close** - -6. Exit and Restart Taverna workbench - - -## Usage in the Taverna Workbench - -In order for PROV export to be possible from the Taverna Workbench, -click **Preferences** from the **File** or **Taverna** menu, then go to the -[Preferences for Data and Provenance](http://dev.mygrid.org.uk/wiki/display24/taverna/Data+and+provenance+preferences). -Ensure that **Provenance capture** is enabled (this is the default in 2.5). - -If you would like Taverna to keep the provenance data between runs -of the workbench (in order to export at a later time), then you need to -also untick to *disable* **In memory storage**; note however that this may slow -down executions of some workflows. - -Open and run a workflow to export provenance for. As a quick example, -try the very simple -[helloanyone.t2flow](http://www.myexperiment.org/workflows/2649/download/hello_anyone_895936.t2flow) -from [myExperiment](http://www.myexperiment.org/workflows/2649) -(included in the `example/` folder of this source code). - -To save a Taverna-PROV databundle containing the workflow run -provenance: - -1. Click **Results** perspective -2. Run a workflow, or select an existing run on the left -3. Click **Show workflow results** button (in case you are viewing intermediates) -4. Click **Save all values** -5. Ensure all ports are ticked -6. Click **Save Provenance bundle** -7. Browse and type the name of the bundle -8. Click **OK** -9. The provenance and results values is saved to the bundle with the - extension `.bundle.zip` -10. Provide the data bundle to a service that can understand it, such - as http://alpha2.myexperiment.org/ or http://sandbox.wf4ever-project.org/portal -11. You may also open the bundle in your operating system as it is - a ZIP file which contains workflow inputs, outputs, provenance and a - copy of the workflow. - - - -### Usage on command line - -The Taverna documentation has general information about [how to use the -Taverna Command line -tool](http://dev.mygrid.org.uk/wiki/display/taverna/Command+Line+Tool). - -The Taverna-PROV command line does not support all the output options of -the regular Taverna command line, output has to be saved using -`-outputdir`. The databundle will be saved in a filename which -corresponds to the output directory, but with the extension -`.bundle.zip`. - -To enable PROV export for the workflow run, add the parameter -`-provenance`, which requires the parameter `-embedded` or -`-clientserver`. - -Note: `-embedded` allows only one concurrent execution at a time due to -database locking. To support multiple concurrent runs, start -`executeworkflow -startdb` separately to start the database server, and -use `executeworkflow -provenance -clientserver` for the workflow -executions. - - -Example: -``` -stain@biggie-mint ~/src/taverna-prov/example $ executeworkflow -embedded -provbundle helloanyone.bundle.zip -inputvalue name fred helloanyone.t2flow -Provenance bundle zip will be saved to: /home/stain/src/taverna-prov/example/helloanyone.bundle.zip - -stain@biggie-mint ~/src/taverna-prov/example $ mkdir helloanyone.bundle ; cd helloanyone.bundle -stain@biggie-mint ~/src/taverna-prov/example/helloanyone.bundle $ unzip ../helloanyone.bundle.zip -Archive: ../helloanyone.bundle.zip - extracting: mimetype - creating: inputs/ - inflating: inputs/name.txt - creating: outputs/ - inflating: outputs/greeting.txt - creating: intermediates/ - creating: intermediates/3a/ - inflating: intermediates/3a/3a82e39d-a537-40cf-91a0-2c89d4a2e62b.txt - inflating: workflowrun.prov.ttl - inflating: workflow.wfbundle - creating: .ro/ - creating: .ro/annotations/ - inflating: .ro/annotations/workflow.wfdesc.ttl - inflating: .ro/annotations/a2f03983-8836-4c36-bfb2-d713d9a1928f.ttl - inflating: .ro/manifest.json -``` - - -## Structure of exported provenance - -The `.bundle.zip` file is a [RO bundle](https://w3id.org/bundle), -which species a structured ZIP file with a manifest -(`.ro/manifest.json`). You can explore the bundle by unzipping it or -browse it with a program like [7-Zip](http://7-zip.org/). - -This source includes an [example -bundle](example/helloanyone.bundle.zip) and [unzipped -bundle](example/helloanyone.bundle/) as a folder. This data bundle -has been saved after running -a simple [hello world workflow](example/helloanyone.t2flow). - -The remaining text of this section describes the content of the RO -bundle, as if it was unpacked to a folder. Note that many programming -frameworks include support for working with ZIP files, and so complete -unpacking might not be necessary for your application. For Java, the -[Data bundle API](https://github.com/taverna/databundle) gives a -programmating way to inspect and generate data bundles. - - -### Inputs and outputs - -The folders `inputs/` and `outputs/` contain files and folders -corresponding to the input and output values of the executed -workflow. Ports with multiple values are stored as a folder with numbered -outputs, starting from `0`. Values representing errors have extension -`.err`, other values have an extension guessed by inspecting the value -structure, e.g. `.png`. External references have the extension `.url` - -these files can often be opened as "Internet shortcut" or similar, -depending on your operating system. - -Example listing: - - c:\Users\stain\workspace\taverna-prov\example\helloanyone.bundle>ls - inputs intermediates mimetype outputs workflow.wfbundle workflowrun.prov.ttl - - c:\Users\stain\workspace\taverna-prov\example\helloanyone.bundle>ls outputs - greeting.txt - - c:\Users\stain\workspace\taverna-prov\example\helloanyone.bundle>cat outputs/greeting.txt - Hello, John Doe - -### Workflow run provenance - -The file `workflowrun.prov.ttl` contains the -[PROV-O](http://www.w3.org/TR/prov-o/) export of the workflow run -provenance (including nested workflows) in [RDF Turtle -format](http://www.w3.org/TR/turtle/). - -This log details every intermediate processor invocation in the workflow -execution, and relates them to inputs, outputs and intermediate values. - -Example listing: - - c:\Users\stain\workspace\taverna-prov\example\helloanyone.bundle>cat workflowrun.prov.ttl | head -n 40 | tail -n 8 - - <#taverna-prov-export> - rdf:type prov:Activity ; - prov:startedAtTime "2013-11-22T14:01:02.436Z"^^xsd:dateTime ; - prov:qualifiedCommunication _:b1 ; - prov:endedAtTime "2013-11-22T14:01:03.223Z"^^xsd:dateTime ; - rdfs:label "taverna-prov export of workflow run provenance"@en ; - prov:wasInformedBy <http://ns.taverna.org.uk/2011/run/385c794c-ba11-4007-a5b5-502ba8d14263/> ; - -See the [provenance graph](example/helloanyone.bundle/workflowrun.prov.ttl) for a complete example. The provenance uses the vocabularies [PROV-O](http://www.w3.org/TR/prov-o/), [wfprov](https://w3id.org/ro#wfprov) and [tavernaprov](http://ns.taverna.org.uk/2012/tavernaprov/). - -#### Intermediate values - - -Intermediate values are stored in the `intermediates/` folder and -referenced from `workflowrun.prov.ttl` - -Intermediate value from the [example provenance](example/helloanyone.bundle/workflowrun.prov.ttl): - - <http://ns.taverna.org.uk/2011/data/385c794c-ba11-4007-a5b5-502ba8d14263/ref/d588f6ab-122e-4788-ab12-8b6b66a67354> - tavernaprov:content <intermediates/d5/d588f6ab-122e-4788-ab12-8b6b66a67354.txt> ; - wfprov:describedByParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/in/string1> ; - wfprov:describedByParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/out/value> ; - wfprov:wasOutputFrom <http://ns.taverna.org.uk/2011/run/385c794c-ba11-4007-a5b5-502ba8d14263/process/bbaedc02-896f-491e-88bc-8dd350fcc73b/> . - -Here we see that the bundle file `intermediates/d5/d588f6ab-122e-4788-ab12-8b6b66a67354.txt` contains the output from the "hello" processor, which was also the input to the "Concatenate_two_strings" processor. Details about processor, ports and parameters can be found in the [workflow definition](#workflow-definition). - -Example listing: - - c:\Users\stain\workspace\taverna-prov\example\helloanyone.bundle>ls intermediates/d5 - d588f6ab-122e-4788-ab12-8b6b66a67354.txt - - c:\Users\stain\workspace\taverna-prov\example\helloanyone.bundle>cat intermediates/d5/d58* - Hello, - -Note that "small" textual values are also included as `cnt:chars` in the graph, while the referenced intermediate file within the workflow bundle is always present. - - <intermediates/d5/d588f6ab-122e-4788-ab12-8b6b66a67354.txt> - rdf:type cnt:ContentAsText ; - cnt:characterEncoding "UTF-8"^^xsd:string ; - cnt:chars "Hello, "^^xsd:string ; - tavernaprov:byteCount "7"^^xsd:long ; - tavernaprov:sha512 "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"^^xsd:string ; - tavernaprov:sha1 "f52ab57fa51dfa714505294444463ae5a009ae34"^^xsd:string ; - rdf:type tavernaprov:Content . - - -### Workflow definition - -The file `workflow.wfbundle` is a copy of the executed workflow in -[SCUFL2 workflow -bundle](http://dev.mygrid.org.uk/wiki/display/developer/Taverna+Workflow+Bundle) -format. This is the format which will be used by -The file `workflow.wfbundle` contains the executed workflow in [Taverna -3](http://www.taverna.org.uk/developers/work-in-progress/taverna-3/). - -You can use the [SCUFL2 -API](http://dev.mygrid.org.uk/wiki/display/developer/SCUFL2+API) to inspect the -workflow definition in detail, or unzip the workflow bundle to access the -complete workflow definition files as RDF/XML. - -#### Workflow structure - -Usually it is sufficient to inspect the simpler file -`.ro/annotations/workflow.wfdesc.ttl`, which contains the abstract structure -(but not all the implementation details) of the executed -workflow, in [RDF Turtle](http://www.w3.org/TR/turtle/) -according to the [wfdesc ontology](https://w3id.org/ro/#wfdesc). - - c:\Users\stain\workspace\taverna-prov\example\helloanyone.bundle>cat .ro/annotations/workflow.wfdesc.ttl | head -n 20 - @base <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/> . - @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . - @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . - @prefix owl: <http://www.w3.org/2002/07/owl#> . - @prefix prov: <http://www.w3.org/ns/prov#> . - @prefix wfdesc: <http://purl.org/wf4ever/wfdesc#> . - @prefix wf4ever: <http://purl.org/wf4ever/wf4ever#> . - @prefix roterms: <http://purl.org/wf4ever/roterms#> . - @prefix dc: <http://purl.org/dc/elements/1.1/> . - @prefix dcterms: <http://purl.org/dc/terms/> . - @prefix comp: <http://purl.org/DP/components#> . - @prefix dep: <http://scape.keep.pt/vocab/dependencies#> . - @prefix biocat: <http://biocatalogue.org/attribute/> . - @prefix : <#> . - - <processor/Concatenate_two_strings/> a wfdesc:Process , wfdesc:Description , owl:Thing , wf4ever:BeanshellScript ; - rdfs:label "Concatenate_two_strings" ; - wfdesc:hasInput <processor/Concatenate_two_strings/in/string1> , <processor/Concatenate_two_strings/in/string2> ; - wfdesc:hasOutput <processor/Concatenate_two_strings/out/output> ; - wf4ever:script "output = string1 + string2;" . - -#### Original t2flow - -If the workflow was executed in Taverna 2 (which is the case when using this plugin), -then the unzipped `workflow.wfbundle` will contain a copy of the original `.t2flow` within -its `history` folder: - - - stain@biggie-mint ~/src/taverna-prov/example/helloanyone.bundle $ mkdir workflow ; cd workflow ; unzip ../workflow.wfbundle - Archive: ../workflow.wfbundle - extracting: mimetype - creating: META-INF/ - inflating: META-INF/manifest.xml - creating: annotation/ - inflating: annotation/705d1f32-ea94-4a5b-b8fb-1cc1a5023427.ttl - inflating: annotation/0f1641bd-49ef-41bd-9e4b-e20cc2bf37bb.ttl - inflating: annotation/d007623d-cd94-4888-a583-e8d97953a159.ttl - inflating: annotation/e9eb11fa-fc63-4ddc-92ca-ec6921af1667.ttl - inflating: annotation/c5e91716-2f9f-4e7c-a692-8f58dba265e3.ttl - creating: history/ - inflating: history/01348671-5aaa-4cc2-84cc-477329b70b0d.t2flow - creating: workflow/ - inflating: workflow/Hello_Anyone.rdf - creating: profile/ - creating: profile/unspecified/ - creating: profile/unspecified/configuration/ - inflating: profile/unspecified/configuration/Concatenate_two_strings.json - inflating: profile/unspecified/configuration/Concatenate_two_strings-proc.json - inflating: profile/unspecified/configuration/hello.json - inflating: profile/unspecified/configuration/hello-proc.json - inflating: profile/unspecified.rdf - inflating: workflowBundle.rdf - inflating: META-INF/container.xml - - stain@biggie-mint ~/src/taverna-prov/example/helloanyone.bundle/workflow $ head history/01348671-5aaa-4cc2-84cc-477329b70b0d.t2flow - <workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1" producedBy="unspecified"><dataflow id="01348671-5aaa-4cc2-84cc-477329b70b0d" role="top"><name>Hello_Anyone</name><inputPorts><port><name>name</name><depth>0</depth><granularDepth>0</granularDepth><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - -The UUID in the t2flow filename (`01348671-5aaa-4cc2-84cc-477329b70b0d` above) -should match the executed wfbundle URI as seen in the provenance - - http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/ - -_Not yet implemented: a specific link to the `history/*.t2flow` file within the wfbundle._ - - -## Querying provenance - -Example [SPARQL query](http://www.w3.org/TR/sparql11-query/) from [test.sparql](example/test.sparql): - -```sparql -PREFIX prov: <http://www.w3.org/ns/prov#> -PREFIX wfdesc: <http://purl.org/wf4ever/wfdesc#> -PREFIX wfprov: <http://purl.org/wf4ever/wfprov#> -PREFIX tavernaprov: <http://ns.taverna.org.uk/2012/tavernaprov/> -PREFIX cnt: <http://www.w3.org/2011/content#> -PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> -PREFIX wf4ever: <http://purl.org/wf4ever/wf4ever#> - - -SELECT DISTINCT ?paramName ?name ?value ?ended ?script -WHERE { - ?greeting tavernaprov:content <outputs/greeting.txt> . - ?greeting prov:wasGeneratedBy ?concatenate . - ?concatenate prov:endedAtTime ?ended ; - wfprov:wasPartOfWorkflowRun ?run ; - wfprov:describedByProcess ?plan . - ?concatenate wfprov:usedInput ?input . - ?input tavernaprov:content ?name . - OPTIONAL { ?name cnt:chars ?value } . - OPTIONAL { ?plan wf4ever:script ?script } . - ?input wfprov:describedByParameter ?param . - ?plan wfdesc:hasInput ?param . - OPTIONAL { ?param rdfs:label ?paramName } . -} -``` - - -This query will be starting with the data `?greeting` which content is -represented by the existing output file -[outputs/greeting.txt](example/helloanyone.bundle/outputs/greeting.txt), and -the remaining query tries to find which input or upstream values it has -effectively been derived from. - -To do this, we find the `?concatenate` process run that generated -the greeting, and ask when it `?ended`. We also look up its `?plan`, -which should match the [process -identifier](example/helloanyone.bundle/.ro/annotations/workflow.wfdesc.ttl#L16) -within the workflow definition. - -We then look at the `?input`s used by the `?concatenate` process run (this -should give two matches as the "Concatenate string" processor takes two -arguments). We look up their `?content` (a file witin this bundle), in addition -to its textual `?value` (optionally, as this is only included in the graph for -small non-binary content). - -Now we do a lookup of the -[`?script`](example/helloanyone.bundle/.ro/annotations/workflow.wfdesc.ttl#L20) -behind the defined `?plan` - this is optional because not all processors have -scripts (it might be a web service). -This information is extracted from the -[.ro/annotations/workflow.wfdesc.ttl](example/helloanyone.bundle/.ro/annotations/workflow.wfdesc.) -file which must also be parsed before querying. - -Lastly we look up the pararameters which describes `?input`, filtered by -the ones bound to the processor `?plan` (thus avoiding the workflow inputs -"name"), and include their `?paramName` - each result should therefore show the -input port name and value. - - -Query using [rdfproc](http://librdf.org/utils/rdfproc.html) (`apt-get install redland-utils`): - - stain@biggie-mint ~/src/taverna-prov/example/helloanyone.bundle $ rdfproc test parse workflowrun.prov.ttl turtle - rdfproc: Parsing URI file:///home/stain/src/taverna-prov/example/helloanyone.bundle/workflowrun.prov.ttl with turtle parser - - stain@biggie-mint ~/src/taverna-prov/example/helloanyone.bundle $ rdfproc test parse .ro/annotations/workflow.wfdesc.ttl turtle - rdfproc: Parsing URI file:///home/stain/src/taverna-prov/example/helloanyone.bundle/.ro/annotations/workflow.wfdesc.ttl with turtle parser - - stain@biggie-mint ~/src/taverna-prov/example/helloanyone.bundle $ rdfproc test2 query sparql - "$(cat ../test.sparql)" - rdfproc: Warning - URI file:///home/stain/src/taverna-prov/example/helloanyone.bundle/:1: Variable run was bound but is unused in the query - rdfproc: Query returned bindings results: - result: [, paramName="string2", name=<file:///home/stain/src/taverna-prov/example/helloanyone.bundle/inputs/name.txt>, value="fred"^^<http://www.w3.org/2001/XMLSchema#string>, ended="2014-05-28T11:49:43.711+01:00"^^<http://www.w3.org/2001/XMLSchema#dateTime>, script="output = string1 + string2;"] - result: [, paramName="string1", name=<file:///home/stain/src/taverna-prov/example/helloanyone.bundle/intermediates/3a/3a82e39d-a537-40cf-91a0-2c89d4a2e62b.txt>, value="Hello, "^^<http://www.w3.org/2001/XMLSchema#string>, ended="2014-05-28T11:49:43.711+01:00"^^<http://www.w3.org/2001/XMLSchema#dateTime>, script="output = string1 + string2;"] - rdfproc: Query returned 2 results - - -This shows that the `string2` input port was bound to value `"fred"` (content of `inputs/name.txt`) in the process run that generated `outputs/greeting.txt`. Next, `string` was bound to `"Hello, "` (content of `intermediates/3a/3a82..62b.txt`). The executed script was `output = string1 + string2`. - - - -## Building -Note - you do not normally need to build from source code; unless you -are modifying the source code, the "Taverna Prov" plugin included -in Taverna's default plugins is the preferred way of using Taverna-PROV. - - -You need: -* Java JDK 1.7 or newer (tested with OpenJDK 1.7.0\_03) - * Note: Do not use the OpenJDK 1.6 (default in Ubuntu), as this is - buggy with GUI and File operations, both used by the Taverna Workbench. -* Maven 2.2 or newer (Tested with [Maven 3.0.4](http://maven.apache.org/download.html)) - -To compile, run `mvn clean install` - -On first run this will download various open-source third-party -libraries from Maven repositories, including required modules of Taverna 2.4. -These JARs, and the compiled JARs from this source code, are -installed into `$HOME/.m2/repository/` [by -default](http://maven.apache.org/settings.html#Quick_Overview). -Depending on your network connection, this first run might take about 5 -minutes to complete. - -Example compilation: - - stain@vmint:~/src/taverna-prov$ mvn clean install - [INFO] Scanning for projects... - [INFO] ------------------------------------------------------------------------ - [INFO] Reactor Build Order: - [INFO] - [INFO] Taverna PROV - [INFO] Taverna PROV W3 Provenance ontology Elmo bindings - [INFO] Taverna PROV export - [INFO] Taverna PROV activity UI bindings - [INFO] Taverna PROV plugin - [INFO] PROV Taverna command line - [INFO] - [INFO] ------------------------------------------------------------------------ - [INFO] Building Taverna PROV 2.0.0-SNAPSHOT - [INFO] ------------------------------------------------------------------------ - (..) - Downloading: http://www.mygrid.org.uk/maven/repository/net/sf/taverna/t2/taverna-workbench/workbench-dev/2.5.0/workbench-dev-2.5.0.pom - Downloaded: http://www.mygrid.org.uk/maven/repository/net/sf/taverna/t2/taverna-workbench/workbench-dev/2.5.0/workbench-dev-2.5.0.pom (3 KB at 5.4 KB/sec) - (..) - [INFO] Installing /home/stain/src/taverna-prov/prov-taverna-cmdline/target/prov-taverna-cmdline-2.0.0-SNAPSHOT-tests.jar to /home/stain/.m2/repository/org/purl/wf4ever/provtaverna/prov-taverna-cmdline/2.0.0-SNAPSHOT/prov-taverna-cmdline-2.0.0-SNAPSHOT-tests.jar - [INFO] ------------------------------------------------------------------------ - [INFO] Reactor Summary: - [INFO] - [INFO] Taverna PROV ...................................... SUCCESS [4.109s] - [INFO] Taverna PROV W3 Provenance ontology Elmo bindings . SUCCESS [1.55.270s] - [INFO] Taverna PROV export ............................... SUCCESS [45.873s] - [INFO] Taverna PROV activity UI bindings ................. SUCCESS [1.56.572s] - [INFO] Taverna PROV plugin ............................... SUCCESS [15.028s] - [INFO] PROV Taverna command line ......................... SUCCESS [1:12.093s] - [INFO] ------------------------------------------------------------------------ - [INFO] BUILD SUCCESS - [INFO] ------------------------------------------------------------------------ - [INFO] Total time: 5:54.000s - [INFO] Finished at: Wed Jul 18 12:08:13 BST 2012 - [INFO] Final Memory: 72M/274M - [INFO] ------------------------------------------------------------------------ - - - - -Note that to work with Taverna 2's plugin system, the build is specific -for a particular Taverna version (but works for any edition). To build this -plugin for a different version of Taverna, modify the `<parent>` section of -`pom.xml` to match the Taverna release, e.g. `<version>2.4.0</version>`. - -In order for Taverna to find your install of the plugin rather than -download from the official plugin site, you will need to manually edit -`plugins/plugins.xml` of the [Taverna home -directory](http://dev.mygrid.org.uk/wiki/display/tav250/Taverna+home+directory) -(run Taverna once to create the file) to include this section right -before the final `</plugins:plugins>`. The - -Note that you will get two copies of the "Save provenance" button, one for the -official version included from `workbench-plugin`, and one for the one you built. - - -```xml - <plugin> - <provider>org.purl.wf4ever</provider> - <identifier>org.purl.wf4ever.provtaverna.prov-taverna-plugin</identifier> - <version>2.0.0-SNAPSHOT</version> - <name>Taverna PROV plugin</name> - <description/> - <enabled>true</enabled> - <repositories> - <repository>file:///home/johndoe/.m2/repository/</repository> - <repository>http://www.mygrid.org.uk/maven/repository/</repository> - <repository>http://uk.maven.org/maven2/</repository> - <repository>http://repo.aduna-software.org/maven2/releases/</repository> - <repository>http://repo.aduna-software.org/maven2/snapshots/</repository> - <repository>http://repo.aduna-software.org/maven2/ext/</repository> - <repository>http://repository.aduna-software.org/maven2/</repository> - <repository>http://repository.aduna-software.org/maven2-snapshots/</repository> - <repository>http://people.apache.org/repo/m2-snapshot-repository/</repository> - <repository>http://nexus.codehaus.org/snapshots/</repository> - <repository>http://repository.jboss.org/maven2/</repository> - </repositories> - <profile> - <dependency> - <groupId>org.purl.wf4ever.provtaverna</groupId> - <artifactId>prov-taverna-ui</artifactId> - <version>2.0.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.8.2</version> - </dependency> - </profile> - <compatibility> - <application> - <version>2.5.0</version> - </application> - </compatibility> - </plugin> -``` - -1. Modify the line: - ```xml - <repository>file:///home/johndoe/.m2/repository/</repository> - ``` - - to match your $HOME/.m2/repository. On Windows this path should look like: - - ```xml - <repository>file:///C:/Users/johndoe/.m2/repository/</repository> - ``` - -2. Take care that the `<version>` of the `<plugin>` and `prov-taverna-ui` matches - the `<version>` specified in the `pom.xml` of this source code (typically `1.x-SNAPSHOT`). - -3. If you are building for a different Taverna, check that the `<application><version>` - matches the Taverna version (compare with the existing plugins) - -4. Start Taverna Workbench. - -You only need to do this plugin installation once - if you later -recompile the source code without changing the version numbers, next -start of Taverna will use the newer JARs from `mvn clean install` as -Taverna will prefer accessing `$HOME/.m2/repository`. You might however need to delete -the `repository/org/purl/wf4ever` folder of the -[Taverna home directory](http://dev.mygrid.org.uk/wiki/display/tav250/Taverna+home+directory) -if Taverna has downloaded the SNAPSHOT versions from the myGrid repository -instead (for instance because you used the wrong `<repository>` path or -did not update `<version>`). - -To make the plugin installation system-side (ie. multiple UNIX users or -to make a customized Taverna distribution), copy `plugins/` -and `repository` with overwrite onto the Taverna installation directory. -(See _Installation for Taverna Command Line_ above) - - http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/example/helloanyone.bundle.zip ---------------------------------------------------------------------- diff --git a/taverna-prov/example/helloanyone.bundle.zip b/taverna-prov/example/helloanyone.bundle.zip deleted file mode 100644 index 641c8bd..0000000 Binary files a/taverna-prov/example/helloanyone.bundle.zip and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/example/helloanyone.bundle/.ro/annotations/a2f03983-8836-4c36-bfb2-d713d9a1928f.ttl ---------------------------------------------------------------------- diff --git a/taverna-prov/example/helloanyone.bundle/.ro/annotations/a2f03983-8836-4c36-bfb2-d713d9a1928f.ttl b/taverna-prov/example/helloanyone.bundle/.ro/annotations/a2f03983-8836-4c36-bfb2-d713d9a1928f.ttl deleted file mode 100644 index b610cd2..0000000 --- a/taverna-prov/example/helloanyone.bundle/.ro/annotations/a2f03983-8836-4c36-bfb2-d713d9a1928f.ttl +++ /dev/null @@ -1,5 +0,0 @@ -@prefix wfdesc: <http://purl.org/wf4ever/wfdesc#> . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/> - wfdesc:hasWorkflowDefinition - <../../workflow.wfbundle> . http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/example/helloanyone.bundle/.ro/annotations/workflow.wfdesc.ttl ---------------------------------------------------------------------- diff --git a/taverna-prov/example/helloanyone.bundle/.ro/annotations/workflow.wfdesc.ttl b/taverna-prov/example/helloanyone.bundle/.ro/annotations/workflow.wfdesc.ttl deleted file mode 100644 index a0d1a4b..0000000 --- a/taverna-prov/example/helloanyone.bundle/.ro/annotations/workflow.wfdesc.ttl +++ /dev/null @@ -1,66 +0,0 @@ -@base <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/> . -@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . -@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . -@prefix owl: <http://www.w3.org/2002/07/owl#> . -@prefix prov: <http://www.w3.org/ns/prov#> . -@prefix wfdesc: <http://purl.org/wf4ever/wfdesc#> . -@prefix wf4ever: <http://purl.org/wf4ever/wf4ever#> . -@prefix roterms: <http://purl.org/wf4ever/roterms#> . -@prefix dc: <http://purl.org/dc/elements/1.1/> . -@prefix dcterms: <http://purl.org/dc/terms/> . -@prefix comp: <http://purl.org/DP/components#> . -@prefix dep: <http://scape.keep.pt/vocab/dependencies#> . -@prefix biocat: <http://biocatalogue.org/attribute/> . -@prefix : <#> . - -<processor/Concatenate_two_strings/> a wfdesc:Process , wfdesc:Description , owl:Thing , wf4ever:BeanshellScript ; - rdfs:label "Concatenate_two_strings" ; - wfdesc:hasInput <processor/Concatenate_two_strings/in/string1> , <processor/Concatenate_two_strings/in/string2> ; - wfdesc:hasOutput <processor/Concatenate_two_strings/out/output> ; - wf4ever:script "output = string1 + string2;" . - -<datalink?from=in/name&to=processor/Concatenate_two_strings/in/string2> a wfdesc:DataLink ; - wfdesc:hasSource <in/name> ; - wfdesc:hasSink <processor/Concatenate_two_strings/in/string2> . - -<datalink?from=processor/Concatenate_two_strings/out/output&to=out/greeting> a wfdesc:DataLink ; - wfdesc:hasSource <processor/Concatenate_two_strings/out/output> ; - wfdesc:hasSink <out/greeting> . - -<datalink?from=processor/hello/out/value&to=processor/Concatenate_two_strings/in/string1> a wfdesc:DataLink ; - wfdesc:hasSource <processor/hello/out/value> ; - wfdesc:hasSink <processor/Concatenate_two_strings/in/string1> . - -<> a wfdesc:Workflow , wfdesc:Description , wfdesc:Process ; - dcterms:description "An extension to helloworld.t2flow - this workflow takes a workflow input \"name\" which is combined with the string constant \"Hello, \" using the local worker \"Concatenate two strings\", and outputs the produced string to the workflow output \"greeting\"." ; - dc:creator "Stian Soiland-Reyes" ; - dcterms:title "Hello Anyone" ; - rdfs:label "Hello_Anyone" ; - wfdesc:hasInput <in/name> ; - wfdesc:hasOutput <out/greeting> ; - wfdesc:hasSubProcess <processor/Concatenate_two_strings/> , <processor/hello/> ; - wfdesc:hasDataLink <datalink?from=processor/Concatenate_two_strings/out/output&to=out/greeting> , <datalink?from=processor/hello/out/value&to=processor/Concatenate_two_strings/in/string1> , <datalink?from=in/name&to=processor/Concatenate_two_strings/in/string2> . - -<in/name> a wfdesc:Input , wfdesc:Description , wfdesc:Output ; - dcterms:description "Your name for the greeting" ; - biocat:exampleData "World!" ; - rdfs:label "name" . - -<out/greeting> a wfdesc:Output , wfdesc:Description , wfdesc:Input ; - rdfs:label "greeting" . - -<processor/Concatenate_two_strings/in/string1> a wfdesc:Input , wfdesc:Description ; - rdfs:label "string1" . - -<processor/Concatenate_two_strings/in/string2> a wfdesc:Input , wfdesc:Description ; - rdfs:label "string2" . - -<processor/Concatenate_two_strings/out/output> a wfdesc:Output , wfdesc:Description ; - rdfs:label "output" . - -<processor/hello/> a wfdesc:Process , wfdesc:Description ; - rdfs:label "hello" ; - wfdesc:hasOutput <processor/hello/out/value> . - -<processor/hello/out/value> a wfdesc:Output , wfdesc:Description ; - rdfs:label "value" . http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/example/helloanyone.bundle/.ro/manifest.json ---------------------------------------------------------------------- diff --git a/taverna-prov/example/helloanyone.bundle/.ro/manifest.json b/taverna-prov/example/helloanyone.bundle/.ro/manifest.json deleted file mode 100644 index 6d17907..0000000 --- a/taverna-prov/example/helloanyone.bundle/.ro/manifest.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "@context" : [ "https://w3id.org/bundle/context" ], - "id" : "/", - "manifest" : [ "/.ro/manifest.json" ], - "createdOn" : "2014-05-28T10:49:48.072Z", - "createdBy" : [ { - "uri" : "http://ns.taverna.org.uk/2010/xml/t2flow/raven/org.purl.wf4ever.provtaverna/prov-taverna-export/2.2.0/org.purl.wf4ever.provtaverna.export.W3ProvenanceExport", - "name" : "Taverna-PROV plugin" - } ], - "aggregates" : [ { - "file" : "/workflow.wfbundle", - "folder" : "/", - "mediatype" : "application/vnd.taverna.scufl2.workflow-bundle", - "createdOn" : "2014-05-28T10:49:46.586Z", - "proxy" : "urn:uuid:1494a65e-5b3a-4ddb-8818-c74f968aa332" - }, { - "file" : "/intermediates/3a/3a82e39d-a537-40cf-91a0-2c89d4a2e62b.txt", - "folder" : "/intermediates/3a/", - "mediatype" : "text/plain", - "createdOn" : "2014-05-28T10:49:45.655Z", - "proxy" : "urn:uuid:3d4a1129-e6f7-456a-9332-eee30cf4182e" - }, { - "file" : "/inputs/name.txt", - "folder" : "/inputs/", - "mediatype" : "text/plain", - "createdOn" : "2014-05-28T10:49:45.606Z", - "proxy" : "urn:uuid:c2677561-6885-4085-8502-6a3c9072e402" - }, { - "file" : "/workflowrun.prov.ttl", - "folder" : "/", - "mediatype" : "text/turtle", - "createdOn" : "2014-05-28T10:49:45.769Z", - "createdBy" : [ { - "uri" : "http://ns.taverna.org.uk/2011/software/taverna-cmd-core-2.5.0", - "name" : "Taverna command line core 2.5.0" - }, { - "uri" : "http://ns.taverna.org.uk/2010/xml/t2flow/raven/org.purl.wf4ever.provtaverna/prov-taverna-export/2.2.0/org.purl.wf4ever.provtaverna.export.W3ProvenanceExport", - "name" : "Taverna-PROV plugin" - } ], - "proxy" : "urn:uuid:78b482dd-407f-4334-b620-b0cff550c601" - }, { - "file" : "/outputs/greeting.txt", - "folder" : "/outputs/", - "mediatype" : "text/plain", - "createdOn" : "2014-05-28T10:49:45.614Z", - "proxy" : "urn:uuid:e5b9333d-d82d-4bcd-96e5-74fbf87e6225" - } ], - "annotations" : [ { - "annotation" : "urn:uuid:a2f03983-8836-4c36-bfb2-d713d9a1928f", - "about" : "/workflow.wfbundle", - "content" : "/.ro/annotations/a2f03983-8836-4c36-bfb2-d713d9a1928f.ttl" - }, { - "about" : "http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/", - "content" : "/workflow.wfbundle" - }, { - "about" : "http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/", - "content" : "/" - }, { - "about" : "http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/", - "content" : "/workflow.wfbundle" - }, { - "about" : "/workflow.wfbundle", - "content" : "/.ro/annotations/workflow.wfdesc.ttl" - }, { - "about" : "/", - "content" : "/workflowrun.prov.ttl" - } ] -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/example/helloanyone.bundle/inputs/name.txt ---------------------------------------------------------------------- diff --git a/taverna-prov/example/helloanyone.bundle/inputs/name.txt b/taverna-prov/example/helloanyone.bundle/inputs/name.txt deleted file mode 100644 index 86654dd..0000000 --- a/taverna-prov/example/helloanyone.bundle/inputs/name.txt +++ /dev/null @@ -1 +0,0 @@ -fred \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/example/helloanyone.bundle/intermediates/3a/3a82e39d-a537-40cf-91a0-2c89d4a2e62b.txt ---------------------------------------------------------------------- diff --git a/taverna-prov/example/helloanyone.bundle/intermediates/3a/3a82e39d-a537-40cf-91a0-2c89d4a2e62b.txt b/taverna-prov/example/helloanyone.bundle/intermediates/3a/3a82e39d-a537-40cf-91a0-2c89d4a2e62b.txt deleted file mode 100644 index 444ac36..0000000 --- a/taverna-prov/example/helloanyone.bundle/intermediates/3a/3a82e39d-a537-40cf-91a0-2c89d4a2e62b.txt +++ /dev/null @@ -1 +0,0 @@ -Hello, \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/example/helloanyone.bundle/mimetype ---------------------------------------------------------------------- diff --git a/taverna-prov/example/helloanyone.bundle/mimetype b/taverna-prov/example/helloanyone.bundle/mimetype deleted file mode 100644 index bfd43b6..0000000 --- a/taverna-prov/example/helloanyone.bundle/mimetype +++ /dev/null @@ -1 +0,0 @@ -application/vnd.wf4ever.robundle+zip \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/example/helloanyone.bundle/outputs/greeting.txt ---------------------------------------------------------------------- diff --git a/taverna-prov/example/helloanyone.bundle/outputs/greeting.txt b/taverna-prov/example/helloanyone.bundle/outputs/greeting.txt deleted file mode 100644 index 8658be5..0000000 --- a/taverna-prov/example/helloanyone.bundle/outputs/greeting.txt +++ /dev/null @@ -1 +0,0 @@ -Hello, fred \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/example/helloanyone.bundle/workflow.wfbundle ---------------------------------------------------------------------- diff --git a/taverna-prov/example/helloanyone.bundle/workflow.wfbundle b/taverna-prov/example/helloanyone.bundle/workflow.wfbundle deleted file mode 100644 index 5879efa..0000000 Binary files a/taverna-prov/example/helloanyone.bundle/workflow.wfbundle and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/example/helloanyone.bundle/workflowrun.prov.ttl ---------------------------------------------------------------------- diff --git a/taverna-prov/example/helloanyone.bundle/workflowrun.prov.ttl b/taverna-prov/example/helloanyone.bundle/workflowrun.prov.ttl deleted file mode 100644 index 126047d..0000000 --- a/taverna-prov/example/helloanyone.bundle/workflowrun.prov.ttl +++ /dev/null @@ -1,270 +0,0 @@ -@prefix dc: <http://purl.org/dc/elements/1.1/> . -@prefix prov: <http://www.w3.org/ns/prov#> . -@prefix cnt: <http://www.w3.org/2011/content#> . -@prefix foaf: <http://xmlns.com/foaf/0.1/> . -@prefix dcmitype: <http://purl.org/dc/dcmitype/> . -@prefix wfprov: <http://purl.org/wf4ever/wfprov#> . -@prefix dcam: <http://purl.org/dc/dcam/> . -@prefix xml: <http://www.w3.org/XML/1998/namespace> . -@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . -@prefix dcterms: <http://purl.org/dc/terms/> . -@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . -@prefix wot: <http://xmlns.com/wot/0.1/> . -@prefix wfdesc: <http://purl.org/wf4ever/wfdesc#> . -@prefix dct: <http://purl.org/dc/terms/> . -@prefix tavernaprov: <http://ns.taverna.org.uk/2012/tavernaprov/> . -@prefix owl: <http://www.w3.org/2002/07/owl#> . -@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . -@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . -@prefix skos: <http://www.w3.org/2004/02/skos/core#> . -@prefix scufl2: <http://ns.taverna.org.uk/2010/scufl2#> . - -<http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/3a82e39d-a537-40cf-91a0-2c89d4a2e62b> - tavernaprov:content <intermediates/3a/3a82e39d-a537-40cf-91a0-2c89d4a2e62b.txt> ; - wfprov:describedByParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/in/string1> ; - wfprov:describedByParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/out/value> ; - wfprov:wasOutputFrom <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/process/2c72b19f-c6d6-4fae-88ab-f96ec0b11fb7/> ; - prov:qualifiedGeneration _:b0 ; - prov:wasGeneratedBy <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/process/2c72b19f-c6d6-4fae-88ab-f96ec0b11fb7/> ; - rdf:type wfprov:Artifact ; - rdf:type prov:Entity . - -_:b1 prov:atTime "2014-05-28T11:49:43.601+01:00"^^xsd:dateTime ; - rdf:type prov:Start . - -_:b0 prov:hadRole <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/out/value> ; - prov:activity <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/process/2c72b19f-c6d6-4fae-88ab-f96ec0b11fb7/> ; - rdf:type prov:Generation . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/in/string2> - rdfs:comment "Concatenate_two_strings input string2"@en ; - rdfs:label "string2" ; - rdf:type wfdesc:Input ; - rdf:type prov:Role . - -_:b2 prov:atTime "2014-05-28T10:49:45.524Z"^^xsd:dateTime ; - rdf:type prov:Start . - -<intermediates/3a/3a82e39d-a537-40cf-91a0-2c89d4a2e62b.txt> - rdf:type cnt:ContentAsText ; - cnt:characterEncoding "UTF-8"^^xsd:string ; - cnt:chars "Hello, "^^xsd:string ; - tavernaprov:byteCount "7"^^xsd:long ; - tavernaprov:sha512 "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"^^xsd:string ; - tavernaprov:sha1 "f52ab57fa51dfa714505294444463ae5a009ae34"^^xsd:string ; - rdf:type tavernaprov:Content . - -_:b3 prov:hadRole <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/in/name> ; - prov:entity <http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/d3d2e008-af7f-4c8c-9369-85d2d71c8121> ; - rdf:type prov:Usage . - -_:b4 prov:atTime "2014-05-28T11:49:43.711+01:00"^^xsd:dateTime ; - rdf:type prov:End . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/in/string1> - rdfs:comment "Concatenate_two_strings input string1"@en ; - rdfs:label "string1" ; - rdf:type wfdesc:Input ; - rdf:type prov:Role . - -<outputs/greeting.txt> - rdf:type cnt:ContentAsText ; - cnt:characterEncoding "UTF-8"^^xsd:string ; - cnt:chars "Hello, fred"^^xsd:string ; - tavernaprov:byteCount "11"^^xsd:long ; - tavernaprov:sha512 "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"^^xsd:string ; - tavernaprov:sha1 "83577aa951bee185cc0d094e63af25f3d5d433d4"^^xsd:string ; - rdf:type tavernaprov:Content . - -<http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/d3d2e008-af7f-4c8c-9369-85d2d71c8121> - tavernaprov:content <inputs/name.txt> ; - wfprov:describedByParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/in/string2> ; - wfprov:describedByParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/in/name> ; - rdf:type wfprov:Artifact ; - rdf:type prov:Entity . - -_:b5 prov:hadPlan <http://ns.taverna.org.uk/2011/software/taverna-cmd-core-2.5.0> ; - prov:agent <#taverna-engine> ; - rdf:type prov:Association . - -_:b6 prov:hadRole <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/out/greeting> ; - prov:activity <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/> ; - rdf:type prov:Generation . - -_:b7 prov:hadPlan <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/> ; - prov:agent <#taverna-engine> ; - rdf:type prov:Association . - -<http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/process/2c72b19f-c6d6-4fae-88ab-f96ec0b11fb7/> - rdfs:label "Processor execution hello"@en ; - wfprov:describedByProcess <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/> ; - prov:qualifiedStart _:b8 ; - rdf:type wfprov:ProcessRun ; - wfprov:wasEnactedBy <#taverna-engine> ; - prov:qualifiedAssociation _:b9 ; - prov:qualifiedEnd _:b10 ; - prov:startedAtTime "2014-05-28T11:49:43.409+01:00"^^xsd:dateTime ; - wfprov:wasPartOfWorkflowRun <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/> ; - prov:wasAssociatedWith <#taverna-engine> ; - prov:endedAtTime "2014-05-28T11:49:43.461+01:00"^^xsd:dateTime . - -_:b11 prov:activity <#taverna-prov-export> ; - rdf:type prov:Generation . - -_:b12 prov:activity <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/> ; - rdf:type prov:Communication . - -_:b8 prov:atTime "2014-05-28T11:49:43.409+01:00"^^xsd:dateTime ; - rdf:type prov:Start . - -_:b13 prov:hadRole <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/in/string2> ; - prov:entity <http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/d3d2e008-af7f-4c8c-9369-85d2d71c8121> ; - rdf:type prov:Usage . - -<http://ns.taverna.org.uk/2011/software/taverna-cmd-core-2.5.0> - rdfs:label "Taverna command line core 2.5.0"@en ; - rdf:type prov:Plan . - -<http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/> - prov:qualifiedUsage _:b3 ; - wfprov:describedByWorkflow <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/> ; - prov:qualifiedEnd _:b14 ; - wfprov:usedInput <http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/d3d2e008-af7f-4c8c-9369-85d2d71c8121> ; - prov:endedAtTime "2014-05-28T11:49:43.736+01:00"^^xsd:dateTime ; - rdfs:label "Workflow run of Hello_Anyone"@en ; - dct:hasPart <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/process/2c72b19f-c6d6-4fae-88ab-f96ec0b11fb7/> ; - prov:wasAssociatedWith <#taverna-engine> ; - prov:qualifiedAssociation _:b15 ; - prov:qualifiedStart _:b16 ; - wfprov:wasEnactedBy <#taverna-engine> ; - rdf:type wfprov:WorkflowRun ; - dct:hasPart <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/process/682e212e-242d-4b4d-999b-e6ea4757f595/> ; - prov:used <http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/d3d2e008-af7f-4c8c-9369-85d2d71c8121> ; - prov:startedAtTime "2014-05-28T11:49:43.166+01:00"^^xsd:dateTime . - -<> foaf:primaryTopic <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/> ; - prov:qualifiedGeneration _:b11 ; - prov:wasGeneratedBy <#taverna-prov-export> ; - rdf:type prov:Bundle . - -<http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/d97338ab-e6c8-4513-a305-a237c70ee63e> - tavernaprov:content <outputs/greeting.txt> ; - wfprov:describedByParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/out/output> ; - wfprov:wasOutputFrom <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/process/682e212e-242d-4b4d-999b-e6ea4757f595/> ; - prov:qualifiedGeneration _:b17 ; - wfprov:wasOutputFrom <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/> ; - prov:wasGeneratedBy <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/process/682e212e-242d-4b4d-999b-e6ea4757f595/> ; - wfprov:describedByParameter <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/out/greeting> ; - rdf:type wfprov:Artifact ; - rdf:type prov:Entity . - -_:b15 prov:hadPlan <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/> ; - prov:agent <#taverna-engine> ; - rdf:type prov:Association . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/out/output> - rdfs:comment "Concatenate_two_strings output output"@en ; - rdfs:label "output" ; - rdf:type wfdesc:Output ; - rdf:type prov:Role . - -<#taverna-prov-export> - rdfs:label "taverna-prov export of workflow run provenance"@en ; - prov:startedAtTime "2014-05-28T10:49:45.524Z"^^xsd:dateTime ; - prov:qualifiedStart _:b2 ; - prov:wasInformedBy <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/> ; - rdf:type prov:Activity ; - prov:qualifiedEnd _:b18 ; - prov:qualifiedAssociation _:b5 ; - prov:qualifiedCommunication _:b12 ; - prov:endedAtTime "2014-05-28T10:49:45.674Z"^^xsd:dateTime ; - prov:wasAssociatedWith <#taverna-engine> . - -<http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/process/682e212e-242d-4b4d-999b-e6ea4757f595/> - rdf:type wfprov:ProcessRun ; - wfprov:describedByProcess <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/> ; - prov:wasAssociatedWith <#taverna-engine> ; - prov:startedAtTime "2014-05-28T11:49:43.601+01:00"^^xsd:dateTime ; - wfprov:wasPartOfWorkflowRun <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/> ; - wfprov:usedInput <http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/d3d2e008-af7f-4c8c-9369-85d2d71c8121> ; - rdfs:label "Processor execution Concatenate_two_strings"@en ; - prov:used <http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/d3d2e008-af7f-4c8c-9369-85d2d71c8121> ; - prov:qualifiedAssociation _:b7 ; - wfprov:wasEnactedBy <#taverna-engine> ; - prov:endedAtTime "2014-05-28T11:49:43.711+01:00"^^xsd:dateTime ; - prov:qualifiedUsage _:b19 ; - prov:qualifiedEnd _:b4 ; - prov:qualifiedStart _:b1 ; - wfprov:usedInput <http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/3a82e39d-a537-40cf-91a0-2c89d4a2e62b> ; - prov:qualifiedUsage _:b13 ; - prov:used <http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/3a82e39d-a537-40cf-91a0-2c89d4a2e62b> . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/in/name> - rdfs:comment "Workflow input name"@en ; - rdfs:label "name" ; - rdf:type wfdesc:Input ; - rdf:type prov:Role . - -_:b10 prov:atTime "2014-05-28T11:49:43.461+01:00"^^xsd:dateTime ; - rdf:type prov:End . - -_:b19 prov:hadRole <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/in/string1> ; - prov:entity <http://ns.taverna.org.uk/2011/data/a85ef801-3db0-4c56-93a7-532d1b4afbf1/ref/3a82e39d-a537-40cf-91a0-2c89d4a2e62b> ; - rdf:type prov:Usage . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/> - rdfs:label "Processor hello"@en ; - rdf:type wfdesc:Process ; - rdf:type prov:Plan . - -_:b16 prov:atTime "2014-05-28T11:49:43.166+01:00"^^xsd:dateTime ; - rdf:type prov:Start . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/> - dct:hasPart <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/> ; - wfdesc:hasSubProcess <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/> ; - dct:hasPart <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/> ; - wfdesc:hasSubProcess <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/> ; - rdf:type wfdesc:Workflow ; - rdf:type prov:Plan . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/out/value> - rdfs:comment "hello output value"@en ; - rdfs:label "value" ; - rdf:type wfdesc:Output ; - rdf:type prov:Role . - -<inputs/name.txt> rdf:type cnt:ContentAsText ; - cnt:characterEncoding "UTF-8"^^xsd:string ; - cnt:chars "fred"^^xsd:string ; - tavernaprov:byteCount "4"^^xsd:long ; - tavernaprov:sha512 "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"^^xsd:string ; - tavernaprov:sha1 "31017a722665e4afce586950f42944a6d331dabf"^^xsd:string ; - rdf:type tavernaprov:Content . - -_:b9 prov:hadPlan <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/hello/> ; - prov:agent <#taverna-engine> ; - rdf:type prov:Association . - -_:b17 prov:hadRole <http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/out/output> ; - prov:activity <http://ns.taverna.org.uk/2011/run/a85ef801-3db0-4c56-93a7-532d1b4afbf1/process/682e212e-242d-4b4d-999b-e6ea4757f595/> ; - rdf:type prov:Generation . - -<#taverna-engine> rdf:type tavernaprov:TavernaEngine . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/processor/Concatenate_two_strings/> - rdfs:label "Processor Concatenate_two_strings"@en ; - rdf:type wfdesc:Process ; - rdf:type prov:Plan . - -<http://ns.taverna.org.uk/2010/workflowBundle/01348671-5aaa-4cc2-84cc-477329b70b0d/workflow/Hello_Anyone/out/greeting> - rdfs:comment "Workflow output greeting"@en ; - rdfs:label "greeting" ; - rdf:type wfdesc:Output ; - rdf:type prov:Role . - -_:b18 prov:atTime "2014-05-28T10:49:45.674Z"^^xsd:dateTime ; - rdf:type prov:End . - -_:b14 prov:atTime "2014-05-28T11:49:43.736+01:00"^^xsd:dateTime ; - rdf:type prov:End . http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-prov/example/helloanyone.t2flow ---------------------------------------------------------------------- diff --git a/taverna-prov/example/helloanyone.t2flow b/taverna-prov/example/helloanyone.t2flow deleted file mode 100644 index c691d21..0000000 --- a/taverna-prov/example/helloanyone.t2flow +++ /dev/null @@ -1,177 +0,0 @@ -<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1" producedBy="taverna-2.2.0"><dataflow id="01348671-5aaa-4cc2-84cc-477329b70b0d" role="top"><name>Hello_Anyone</name><inputPorts><port><name>name</name><depth>0</depth><granularDepth>0</granularDepth><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.ExampleValue"> - <text>World!</text> - </annotationBean> - <date>2012-01-03 15:13:04.106 GMT</date> - <creators /> - <curationEventList /> - </net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - </annotationAssertions> -</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription"> - <text>Your name for the greeting</text> - </annotationBean> - <date>2012-01-03 15:13:12.530 GMT</date> - <creators /> - <curationEventList /> - </net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - </annotationAssertions> -</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></port></inputPorts><outputPorts><port><name>greeting</name><annotations /></port></outputPorts><processors><processor><name>hello</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns=""> - <value>Hello, </value> -</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> - <maxJobs>1</maxJobs> -</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=" "> - <backoffFactor>1.0</backoffFactor> - <initialDelay>1000</initialDelay> - <maxDelay>5000</maxDelay> - <maxRetries>0</maxRetries> -</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Concatenate_two_strings</name><inputPorts><port><name>string1</name><depth>0</depth></port><port><name>string2</name><depth>0</depth></port></inputPorts><outputPorts><port><name>output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivi ty</class><inputMap><map from="string2" to="string2" /><map from="string1" to="string1" /></inputMap><outputMap><map from="output" to="output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns=""> - <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName> - <script>output = string1 + string2;</script> - <dependencies /> - <classLoaderSharing>workflow</classLoaderSharing> - <localDependencies /> - <artifactDependencies /> - <inputs> - <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> - <handledReferenceSchemes /> - <translatedElementType>java.lang.String</translatedElementType> - <allowsLiteralValues>true</allowsLiteralValues> - <name>string1</name> - <depth>0</depth> - <mimeTypes> - <string>'text/plain'</string> - </mimeTypes> - </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> - <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> - <handledReferenceSchemes /> - <translatedElementType>java.lang.String</translatedElementType> - <allowsLiteralValues>true</allowsLiteralValues> - <name>string2</name> - <depth>0</depth> - <mimeTypes> - <string>'text/plain'</string> - </mimeTypes> - </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> - </inputs> - <outputs> - <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> - <granularDepth>0</granularDepth> - <name>output</name> - <depth>0</depth> - <mimeTypes> - <string>'text/plain'</string> - </mimeTypes> - </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> - </outputs> -</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> - <maxJobs>1</maxJobs> -</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=" "> - <backoffFactor>1.0</backoffFactor> - <initialDelay>1000</initialDelay> - <maxDelay>5000</maxDelay> - <maxRetries>0</maxRetries> -</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.2</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="string1" depth="0" /><port name="string2" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Concatenate_two_strings</processor><port>string1</port></sink><source type="processor"><processor>hello</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Concatenate_two_strings</processor><port>string2</port></sink><source type="dataflow"><port>name</port></source></datalink><datalin k><sink type="dataflow"><port>greeting</port></sink><source type="processor"><processor>Concatenate_two_strings</processor><port>output</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion"> - <identification>8781d5f4-d0ba-48a8-a1d1-14281bd8a917</identification> - </annotationBean> - <date>2012-01-03 15:12:21.684 GMT</date> - <creators /> - <curationEventList /> - </net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - </annotationAssertions> -</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion"> - <identification>ca7dba1d-1fdf-476f-b911-714d09227d70</identification> - </annotationBean> - <date>2012-01-03 15:14:18.734 GMT</date> - <creators /> - <curationEventList /> - </net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - </annotationAssertions> -</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.Author"> - <text>Stian Soiland-Reyes</text> - </annotationBean> - <date>2012-01-03 15:10:48.73 GMT</date> - <creators /> - <curationEventList /> - </net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - </annotationAssertions> -</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.DescriptiveTitle"> - <text>Hello Anyone</text> - </annotationBean> - <date>2012-01-03 15:14:25.703 GMT</date> - <creators /> - <curationEventList /> - </net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - </annotationAssertions> -</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.DescriptiveTitle"> - <text>Hello World</text> - </annotationBean> - <date>2012-01-03 15:10:54.167 GMT</date> - <creators /> - <curationEventList /> - </net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - </annotationAssertions> -</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription"> - <text>One of the simplest workflows possible, outputting the String Constant "Hello world!"</text> - </annotationBean> - <date>2012-01-03 15:11:14.557 GMT</date> - <creators /> - <curationEventList /> - </net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - </annotationAssertions> -</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription"> - <text>An extension to helloworld.t2flow - this workflow takes a workflow input "name" which is combined with the string constant "Hello, " using the local worker "Concatenate two strings", and outputs the produced string to the workflow output "greeting".</text> - </annotationBean> - <date>2012-01-03 15:14:13.847 GMT</date> - <creators /> - <curationEventList /> - </net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - </annotationAssertions> -</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription"> - <text>One of the simplest workflows possible. No workflow input ports, a single workflow output port "greeting", outputting "Hello, world!" as produced by the String Constant "hello".</text> - </annotationBean> - <date>2012-01-03 15:12:15.643 GMT</date> - <creators /> - <curationEventList /> - </net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - </annotationAssertions> -</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns=""> - <annotationAssertions> - <net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion"> - <identification>01348671-5aaa-4cc2-84cc-477329b70b0d</identification> - </annotationBean> - <date>2012-01-03 15:14:30.45 GMT</date> - <creators /> - <curationEventList /> - </net.sf.taverna.t2.annotation.AnnotationAssertionImpl> - </annotationAssertions> -</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow></workflow> \ No newline at end of file
