Hi! Since version 0.11.0, the scufl2 library [1] can extract out the standard annotations in a t2flow file (author, title, description, example value). If you save a t2flow file as a scufl2 wfbundle archive and unzip it, then within its "annotation/" folder you should find the various annotations as RDF files.
Examples - using the scufl2-examples command line tool: https://github.com/mygrid/scufl2-examples (Download scufl2-examples-0.1.1-SNAPSHOT-standalone.jar from http://build.mygrid.org.uk/ci/job/scufl2-examples/lastSuccessfulBuild/com.example$scufl2-examples/ ) c:\Users\stain\Downloads>java -jar scufl2-examples-0.1.1-SNAPSHOT-standalone.jar t2flowtowfbundle semantic_annotations__eclipse.t2flow Jul 11, 2013 3:26:03 PM uk.org.taverna.scufl2.translator.t2flow.T2FlowParser mapTypeFromRaven WARNING: Unknown T2 activity http://ns.taverna.org.uk/2010/xml/t2flow/raven/undefined/net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize, install supporting T2Parser (..) c:\Users\stain\Downloads> c:\Users\stain\Downloads\2>unzip ..\semantic_annotations__eclipse.wfbundle Archive: ../semantic_annotations__eclipse.wfbundle extracting: mimetype creating: META-INF/ inflating: META-INF/manifest.xml inflating: asdf creating: history/ inflating: history/2d726ace-4635-4bd1-89d5-703a50c96c1a.t2flow creating: workflow/ inflating: workflow/Example_component.rdf creating: profile/ inflating: profile/taverna-2.4.0SNAPSHOT.rdf creating: annotation/ inflating: annotation/12bc580b-1be5-4ed3-83e0-49cc5f3183f7.rdf inflating: annotation/440a9d86-12b8-44a6-bc10-3340cb33879e.rdf inflating: annotation/bd70d896-f683-4a63-9b96-f7554faeeb2d.rdf inflating: workflowBundle.rdf inflating: META-INF/container.xml c:\Users\stain\Downloads\2\annotation> cat * <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Annotation xmlns="http://www.w3.org/ns/oa#" rdf:about=""><annotedAt rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2013-03-13T15:19:35.027Z</annotedAt><hasBody rdf:resource="annotation/12bc580b-1be5-4ed3-83e0-49cc5f3183f7.rdf"/><hasTarget rdf:resource="../workflow/Example_component/"/><serializedAt rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2013-07-11T15:26:03.625+01:00</serializedAt><serializedBy rdf:resource="http://ns.taverna.org.uk/2012/scufl2/t2flowParser"/></Annotation><rdf:Description rdf:about="../workflow/Example_component/"><description xmlns="http://purl.org/dc/terms/">Example component for Stian</description></rdf:Description></rdf:RDF> <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Annotation xmlns="http://www.w3.org/ns/oa#" rdf:about=""><annotedAt rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2013-03-13T15:19:22.146Z</annotedAt><hasBody rdf:resource="annotation/440a9d86-12b8-44a6-bc10-3340cb33879e.rdf"/><hasTarget rdf:resource="../workflow/Example_component/"/><serializedAt rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2013-07-11T15:26:03.605+01:00</serializedAt><serializedBy rdf:resource="http://ns.taverna.org.uk/2012/scufl2/t2flowParser"/></Annotation><rdf:Description rdf:about="../workflow/Example_component/"><creator xmlns="http://purl.org/dc/elements/1.1/">Alan R Williams</creator></rdf:Description></rdf:RDF> <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Annotation xmlns="http://www.w3.org/ns/oa#" rdf:about=""><annotedAt rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2013-03-13T15:19:26.250Z</annotedAt><hasBody rdf:resource="annotation/bd70d896-f683-4a63-9b96-f7554faeeb2d.rdf"/><hasTarget rdf:resource="../workflow/Example_component/"/><serializedAt rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2013-07-11T15:26:03.610+01:00</serializedAt><serializedBy rdf:resource="http://ns.taverna.org.uk/2012/scufl2/t2flowParser"/></Annotation><rdf:Description rdf:about="../workflow/Example_component/"><title xmlns="http://purl.org/dc/terms/">Example component</title></rdf:Description></rdf:RDF> You will notice that the semantic annotations are not currently extracted - which are probably the annotations I think you are interested in. I have some code for that, but it has some bugs left to fix for this to go live. I need to correct some relative paths as the embedded Turtle uses the subject "<>" to avoid problems with renaming etc - after this the file format is likely to change to Turtle for all files. Timeline-wise I am planning to solve the known bugs in the annotation extraction as part of changing the SCUFL2 configuraton to be JSON (JSON-LD) structured - it should be compile-ready by end of July and probably done by end of August - but if you are in a rush then I can try to finish off that extraction on the master branch pre-json. Alternatively you would need to do some t2flow parsing yourself with xpath and the like, but it would be quite easy to get it wrong, specially with say nested workflows and overlapping port names. This is the process that is done currently by myExperiment which extracts out the annotations from Ruby for its Component SPARQL endpoint. [1] http://dev.mygrid.org.uk/wiki/display/developer/SCUFL2+API [2] https://github.com/wf4ever/scufl2-wfdesc On 11 July 2013 11:39, Markus Plangg <[email protected]> wrote: > Hi, > > I'm working on integrating workflows that fit a specific component > profiles into Plato (http://ifs.tuwien.ac.at/dp/plato). For this, I have > to parse the workflows including semantic annotations. I was thinking > that instead of parsing the t2flow XML plus the semantic annotations, I > could use the scufl2-t2flow API to read the workflow and then query the > resulting scufl2 RDF. > > I've seen that the T2FlowParser contains code that reads the semantic > annotation, but I think it is not fully supported yet. > > Is there a concrete timeline for when this is supported? > > Cheers, > Markus > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > taverna-hackers mailing list > [email protected] > Web site: http://www.taverna.org.uk > Mailing lists: http://www.taverna.org.uk/about/contact-us/ > Developers Guide: http://www.taverna.org.uk/developers/ -- Stian Soiland-Reyes, myGrid team School of Computer Science The University of Manchester http://soiland-reyes.com/stian/work/ http://orcid.org/0000-0001-9842-9718 ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ taverna-hackers mailing list [email protected] Web site: http://www.taverna.org.uk Mailing lists: http://www.taverna.org.uk/about/contact-us/ Developers Guide: http://www.taverna.org.uk/developers/
