My apologies - you are right - I realize now that if you open a
wfbundle (as opposed to a .t2flow) - then getAnnotations() is always
empty.

It should work if you open a .t2flow as the T2flow parser populates
wfbundle.getAnnotations().


The reason is that the annotation links in wfbundle.getAnnotations()
are not stored in the wfbundle manifest (and not parsed).

some preliminary code for this was at:

https://github.com/apache/incubator-taverna-language/blob/0.15.1-incubating/taverna-scufl2-wfbundle/src/main/java/org/apache/taverna/scufl2/rdfxml/RDFXMLSerializer.java#L549

To put it blunt - the t2flow parsed adds
<annotation/02a6e877-a4f0-44f9-9730-6b60a55092a6.ttl> that describes
<workflow/Workflow1/in/DataSetPath> - however the link between
<workflow/Workflow1/in/DataSetPath> and
<annotation/02a6e877-a4f0-44f9-9730-6b60a55092a6.ttl> is not
serialized - and so the only way to find annotation/ now is to go
through the annotation/ folder.


I think this relates to
https://issues.apache.org/jira/browse/TAVERNA-965 as the UCFPackage or
WorkflowBundle didn't have a mechanism to serialize which annotations
exist (it would basically need to replicate
https://w3id.org/bundle/#manifest-annotations ) - and so there would
not be any point in not moving to taverna-robundle for managing the
bundle and the annotations.

This bug was already tracked at
https://issues.apache.org/jira/browse/TAVERNA-71 - I've promoted this
to be Fix For Language 0.16.0.

I've shown you a workaround in
https://github.com/enridaga/taverna-sandbox/pull/1
to parse the wfbundle annotations
and I'm testing to add this to taverna-scufl2-wfbundle as a workaround.




On 3 May 2016 at 11:19, Enrico Daga (enridaga) <[email protected]> wrote:
> Hi Stian,
>
> I tried with the latest release but I am still struggling on getting this 
> work.
>
> I prepared a minimal project to test the issue [1], which contains a single 
> test using a workflow downloaded from my experiment (and converted to 
> wfbundle) [2].
>
> This wf contains a set of annotations, particularly from input ports. I can 
> see them unpacking the bundle [3].
>
> However, I cannot access them in the way you suggested (replicated here [4]).
>
> Best,
>
> Enrico
>
>
>
> [1] https://github.com/enridaga/taverna-sandbox 
> <https://github.com/enridaga/taverna-sandbox>
> [2] http://www.myexperiment.org/workflows/4303.html 
> <http://www.myexperiment.org/workflows/4303.html>
> [3] 
> https://github.com/enridaga/taverna-sandbox/tree/master/src/test/resources/bundles/3Drec-v1/annotation
>  
> <https://github.com/enridaga/taverna-sandbox/tree/master/src/test/resources/bundles/3Drec-v1/annotation>
> [4] 
> https://github.com/enridaga/taverna-sandbox/blob/master/src/test/java/enridaga/AppTest.java
>  
> <https://github.com/enridaga/taverna-sandbox/blob/master/src/test/java/enridaga/AppTest.java>
>
> —
> Enrico Daga (enridaga)
> http://www.enridaga.net <http://www.enridaga.net/>
> Il budda e’ nel parco.
>
>
>
>
>
>> On 3 May 2016, at 09:01, Enrico Daga (enridaga) <[email protected]> wrote:
>>
>> Thank you Stian, this is gold.
>>
>> Will try the new release as well.
>>
>> It's good to have Taverna at Apache!
>>
>> Best,
>> Enrico
>>
>>
>> —
>> Enrico Daga (enridaga)
>> http://www.enridaga.net <http://www.enridaga.net/>
>> Il budda e’ nel parco.
>>
>>
>>
>>
>>
>>> On 2 May 2016, at 17:19, Stian Soiland-Reyes <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>>
>>> BTW - another alternative - if you convert to wfdesc with tavlang convert - 
>>> see
>>> https://github.com/apache/incubator-taverna-language/tree/master/taverna-tavlang-tool
>>>  
>>> <https://github.com/apache/incubator-taverna-language/tree/master/taverna-tavlang-tool>
>>>
>>> then you should also get all the annotations across the workflow - but
>>> you will loose the information about when it was made as it comes back
>>> as a single Triple file.
>>>
>>> On 28 April 2016 at 16:25, Enrico Daga (enridaga) <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>>> Hi,
>>>>
>>>> I am using the taverna API to explore workflows downloaded from 
>>>> MyExperiment.
>>>> At the moment, I converted the files to the .wfbundle format using the 
>>>> taverna command line tools. Everything looks fine.
>>>> Unzipping a wfbundle I can read a set of .ttl files in the annotations/ 
>>>> folder, but I am not able to do that through the Java API.
>>>> In the simplest form, my code is as follows:
>>>>
>>>>                WorkflowBundleIO io = new WorkflowBundleIO();
>>>>                final WorkflowBundle wb = 
>>>> io.readBundle(__f(“file.wfbundle"), null);
>>>>                System.out.println("Annotations: " + 
>>>> wb.getAnnotations().size());
>>>>
>>>> What is the recommended way to get:
>>>> - The description of a workflow (as I can see it on the myexperiment 
>>>> portal)
>>>> - All the annotations in a bundle
>>>> - The annotations of a given WorkflowBean element
>>>> - To access/modify/extend the annotations
>>>>
>>>> I am using release 0.15.0-incubating.
>>>>
>>>> Thank you in advance for your help,
>>>>
>>>> Enrico
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> —
>>>> Enrico Daga (enridaga)
>>>> http://www.enridaga.net <http://www.enridaga.net/> 
>>>> <http://www.enridaga.net/ <http://www.enridaga.net/>>
>>>> Il budda e’ nel parco.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Stian Soiland-Reyes
>>> Apache Taverna (incubating), Apache Commons RDF (incubating)
>>> http://orcid.org/0000-0001-9842-9718 <http://orcid.org/0000-0001-9842-9718>
>



-- 
Stian Soiland-Reyes
Apache Taverna (incubating), Apache Commons RDF (incubating)
http://orcid.org/0000-0001-9842-9718

Reply via email to