Dear Stian, (sorry for this late reply, I’ve been away for few days)
I understand the problem from your explanation. I really appreciate you integrated the workaround in the current master. I am OK on using the SNAPSHOT release for the time being, and happy to report any issues I might find. Again, thank you for the help. Best Enrico — Enrico Daga (enridaga) http://www.enridaga.net <http://www.enridaga.net/> Il budda e’ nel parco. > On 4 May 2016, at 12:04, Stian Soiland-Reyes <[email protected]> wrote: > > I've added the wfbundle parser TAVERNA-71 workaround in master - see > > https://github.com/apache/incubator-taverna-language/blob/master/taverna-scufl2-wfbundle/src/main/java/org/apache/taverna/scufl2/rdfxml/WorkflowBundleParser.java#L136 > > Do you think you could try out the latest SNAPSHOT? > > <dependency> > <groupId>org.apache.taverna.language</groupId> > <artifactId>taverna-scufl2-wfbundle</artifactId> > <version>0.15.2-incubating-SNAPSHOT</version> > </dependency> > > <repositories> > <repositories> > <repository> > <id>apache.snapshots</id> > <name>Apache Snapshot Repository</name> > <url>http://repository.apache.org/snapshots</url> > <releases> > <enabled>false</enabled> > </releases> > </repository> > </repositories> > > > > (If this works, then you don't need your own version of parseAnnotations() ) > > On 4 May 2016 at 11:21, Stian Soiland-Reyes <[email protected]> wrote: >> 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 > > > > -- > Stian Soiland-Reyes > Apache Taverna (incubating), Apache Commons RDF (incubating) > http://orcid.org/0000-0001-9842-9718
