@base <http://ns.taverna.org.uk/2010/workflowBundle/8d2f9ef0-09ca-4103-b4fd-0ee0a40d8263/workflow/Imagemagick_convert_/> .
@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/convert/> a wfdesc:Process , wfdesc:Description , wf4ever:CommandLineTool ;
	comp:hasDependency dep:digital-preservation-migration-image-imagemagick-image2tiff ;
	rdfs:label "convert" ;
	wfdesc:hasInput <processor/convert/in/compression> , <processor/convert/in/from_uri> , <processor/convert/in/to_uri> ;
	wfdesc:hasOutput <processor/convert/out/STDERR> , <processor/convert/out/STDOUT> .

<datalink?from=in/compression&to=processor/convert/in/compression> a wfdesc:DataLink ;
	wfdesc:hasSource <in/compression> ;
	wfdesc:hasSink <processor/convert/in/compression> .

<datalink?from=in/from_uri&to=processor/convert/in/from_uri> a wfdesc:DataLink ;
	wfdesc:hasSource <in/from_uri> ;
	wfdesc:hasSink <processor/convert/in/from_uri> .

<datalink?from=in/to_uri&to=processor/convert/in/to_uri> a wfdesc:DataLink ;
	wfdesc:hasSource <in/to_uri> ;
	wfdesc:hasSink <processor/convert/in/to_uri> .

<datalink?from=processor/convert/out/STDERR&to=out/status&mergePosition=1> a wfdesc:DataLink ;
	wfdesc:hasSource <processor/convert/out/STDERR> ;
	wfdesc:hasSink <out/status> .

<datalink?from=processor/convert/out/STDOUT&to=out/status&mergePosition=0> a wfdesc:DataLink ;
	wfdesc:hasSource <processor/convert/out/STDOUT> ;
	wfdesc:hasSink <out/status> .

<> a wfdesc:Workflow , wfdesc:Description , wfdesc:Process ;
	comp:fits comp:MigrationAction ;
	comp:migrates _:node18musbm56x1 .

_:node18musbm56x1 a comp:MigrationPath ;
	comp:fromMimetype "image/tiff" ;
	comp:toMimetype "image/tiff" .

<> dcterms:title "Imagemagick convert - tiff2tiff - compression" ;
	dcterms:description "Converts tiff to tiff using imagemagick convert with the provided compression" ;
	dc:creator "Markus" ;
	rdfs:label "Imagemagick_convert_" ;
	wfdesc:hasInput <in/compression> , <in/from_uri> , <in/to_uri> ;
	wfdesc:hasOutput <out/status> ;
	wfdesc:hasSubProcess <processor/convert/> ;
	wfdesc:hasDataLink <datalink?from=processor/convert/out/STDERR&to=out/status&mergePosition=1> , <datalink?from=processor/convert/out/STDOUT&to=out/status&mergePosition=0> , <datalink?from=in/compression&to=processor/convert/in/compression> , <datalink?from=in/from_uri&to=processor/convert/in/from_uri> , <datalink?from=in/to_uri&to=processor/convert/in/to_uri> .

<in/compression> a wfdesc:Input , wfdesc:Description , wfdesc:Output ;
	comp:acceptsPredefinedParameter _:node18musbm56x2 .

_:node18musbm56x2 a comp:PredefinedParameter ;
	comp:parameterValue "none" ;
	comp:parameterDescription "no compression" .

<in/compression> comp:acceptsPredefinedParameter _:node18musbm56x3 .

_:node18musbm56x3 a comp:PredefinedParameter ;
	comp:parameterValue "Group4" ;
	comp:parameterDescription "CCITT Group 4" .

<in/compression> comp:acceptsPredefinedParameter _:node18musbm56x4 .

_:node18musbm56x4 a comp:PredefinedParameter ;
	comp:parameterValue "RLE" ;
	comp:parameterDescription "run length encoding" .

<in/compression> biocat:exampleData "none" ;
	dcterms:description "Imagemagick convert compress parameter" ;
	rdfs:label "compression" .

<in/from_uri> a wfdesc:Input , wfdesc:Description , wfdesc:Output ;
	comp:portType comp:FromURIPort ;
	biocat:exampleData "in.tiff" ;
	dcterms:description "URI to the input object" ;
	rdfs:label "from_uri" .

<in/to_uri> a wfdesc:Input , wfdesc:Description , wfdesc:Output ;
	comp:portType comp:ToURIPort ;
	dcterms:description "URI to the input object" ;
	biocat:exampleData "out.tiff" ;
	rdfs:label "to_uri" .

<out/status> a wfdesc:Output , wfdesc:Description , wfdesc:Input ;
	dcterms:description "STDOUT and STDERR of the action" ;
	comp:portType comp:ActionStatusPort ;
	rdfs:label "status" .

<processor/convert/in/compression> a wfdesc:Input , wfdesc:Description ;
	rdfs:label "compression" .

<processor/convert/in/from_uri> a wfdesc:Input , wfdesc:Description ;
	rdfs:label "from_uri" .

<processor/convert/in/to_uri> a wfdesc:Input , wfdesc:Description ;
	rdfs:label "to_uri" .

<processor/convert/out/STDERR> a wfdesc:Output , wfdesc:Description ;
	rdfs:label "STDERR" .

<processor/convert/out/STDOUT> a wfdesc:Output , wfdesc:Description ;
	rdfs:label "STDOUT" .
