Provenance Extractor


A tool to extract captured provenance information from the Taverna provenance database. Although Taverna offers a prototype support to export captured provenance information into Janus format, we have developed an extended Provenance Extractor. The default Janus exorter plugin is incomplete and does not fully comply with the Janus ontology. As such, many object properties such as the relation between port and port value are defined as annotation, which have however no semantics and are therefore ignored by reasoning - they can not be used to infer new information. This tool maps additionally maps the gathered information to the Context Model.


The left figure presents a simple Taverna 2.4 workflow, which uses a global weather web service to request the current weather information for a specific city. The right figure visualise the ontology instance of the extracted provenance workflow run.

  • Download Taverna t2flow input file
  • Download performance OWL instance output file

Download & Licensing

This tool is licensend under the Apache License Version 2.0. Show License Hide License

Copyright (c) 2013/2014 Verein zur Foerderung der IT-Sicherheit in Oesterreich (SBA). The work has been developed in the TIMBUS Project and the above-mentioned are Members of the TIMBUS Consortium. TIMBUS is supported by the European Union under the 7th Framework Programme for research and technological development and demonstration activities (FP7/2007-2013) under grant agreement no. 269940.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTIBITLY, or FITNESS FOR A PARTICULAR PURPOSE. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law or agreed to in writing, shall any Contributor be liable for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work.
See the License for the specific language governing permissions and limitation under the License.

The Performance Extractor v1.2 command line tool is available for download.

Requirements & Execution

Runtime Dependencies

  • JRE 1.7
  • Apache Maven 3

In the README you can find further informations about runtime dependencies.

 -c,--create  <path\to\create\ontology.owl>	extracts performance information and creates a new ontology. 
						override already existing file.
 -d,--database  <path\to\database>		change database to look up.
 -f,--format  <arg>				ontology format. {'OWLXMLOntologyFormat'
 -id,--runId  <workflow run id>			skip listing of workflows. 
						enter workflow id directly. (e.g.:aef30598-455a-4889-9c34-99fa520af729)
 -r,--ranking  <workflow run ranking>		skip listing of workflows. fetch database entries ranked by execution
                                                timestamp descending. use positiv integer (starting by 0!).
 -u,--update  <\path\to\existing\ontology.owl>	extracts performance information and updates an existing ontology.
 -v,--verbose					turn on verbose mode.


In the following we present two sample executions:

java -jar target\provenanceextractor-1.2-final.jar -c \path\to\myPerformanceOntology.owl -v -f RDFOntologyFormat

	===== [ID] | [Workflow Name (Timestamp)] ===== | 3 entries found.
	[0] Uses_the_ImageMagick @ 2014-03-19 13:11:11.398
	[1] MusicClassificationExperiment @ 2014-03-13 15:11:10.287
	[2] Uses_the_ImageMagick @ 2014-03-13 11:49:07.706
	Your choice: //Enter an ID to process
java -jar target\provenanceextractor-1.2-final.jar -u \path\to\updatePerformanceOntology.owl -r 2

	INFO - Choose worklow run (id='c0a7b302-82d5-43c7-bcd3-d315d8cd576a') by ranking number 2.
	// program execution proceeds