Skip to end of metadata
Go to start of metadata

This is related to the empty lists question. Service that take a single value in and return a list of values will normally produce deeply nested lists when combined. Again, this is because in many cases each list in the output corresponds to each value of the input list. This is further complicated by services that takes many inputs.

If a service takes inputs a, b, c, all of them single values (not lists), then if you call this service with three lists A=[1,2,3], B=[4,5], C=[6,7], Taverna’s implicit iteration will call the service equivalent to:

 

 

(The actual ordering of a,b,c is not guaranteed without an iteration strategy defined, so it might just as well be c iterated first.)

Now, the result list will be mirroring this structure, so there will be a list for all the A results, which will be lists of all the B results, which will again contain one result for each different C. Now, the service might return a list as well, so in this case you would get a 4-level deep list as a result.

If you are not really interested in keeping this structure, you can flatten the list by using local Java service/widget Local Services > list -> Flatten list

Labels
  • None