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/

Reply via email to