On Wed, Jul 7, 2010 at 13:05, David R Newman <[email protected]> wrote:

> Bear in mind that a workflow may have more than one version.  Assuming
> that the same file is modified to produce each new version, each
> workflow version will a dataflow with the same identifier.  The above
> query can be modified to return all workflow versions that use the same
> identifier for their top level dataflow.

Just a minor correction.. Taverna 2 assigns a new workflow ID whenever
you do a change, so unless you upload the exact same .t2flow file the
second time to myExperiment, the second "myExperiment version" would
have a different dataflow ID.

The main reason that we have to change the ID is that we can't easily
tell if a change is a minor or fundamental change to the workflow. We
also don't know if this is a further edit of the same 'work in
progress' or a fork. Therefore you could have many different workflows
which 'once' had the same ID.

Taverna 1 did the opposite, it assigned a unique LSID when you
constructed a workflow, and this was persisted until the user clicked
'New ID'. You will therefore find many Taverna 1 workflows on
myExperiment with the same LSID, which are fundamentally different,
but which just happen to have had a common starting point from say a
tutorial workflow. As such this didn't work very well as a unique
identifier, and we went for always assigning a new UUID in Taverna 2.

From Taverna 2.2 we keep the old UUIDs as an annotation chain inside
the .t2flow file, but I don't think myExperiment extract these yet.
From this ancestry you could find relations between workflows, such as
them having a common parent 5 generations ago.

annotations><annotation_chain_2_2
encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl
xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean
class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
        <identification>f3c5bdf3-b211-4bf9-9bfe-b64a42eed837</identification>
      </annotationBean>
      <date>2010-07-07 10:31:03.238 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2
encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl
xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean
class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
        <identification>0af6757b-0efa-4622-880f-61d74f75c6a3</identification>
      </annotationBean>
      <date>2010-07-07 10:31:26.347 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2>
(..)

In SCUFL2 we'll probably note these as something like

<http://ns.taverna.org.uk/2010/workflow/0af6757b-0efa-4622-880f-61d74f75c6a3>
scufl2:basedOn
   <http://ns.taverna.org.uk/2010/workflow/f3c5bdf3-b211-4bf9-9bfe-b64a42eed837>
.



> As a side issue, I had a number of people comment to me that it would be
> useful yo have an ID field in the myExperiment RDF to save need to
> perform a regex on URIs to get out the ID number.  Would people actually
> find this useful or would they rarely need to perform such a regex?

I don't think you need to use regex-filtering to match exact strings.
As previously mentioned, I had success with:

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX mebase: <http://rdf.myexperiment.org/ontologies/base/>
PREFIX mecomp: <http://rdf.myexperiment.org/ontologies/components/>

SELECT ?dataflow,?version,?workflow WHERE {
 ?dataflow dcterms:identifier
'206f6ca5-083c-4314-8ff8-8a8c542e1160'^^xsd:string .
 ?version mecomp:executes-dataflow ?dataflow .
 ?workflow mebase:has-version ?version
}


-- 
Stian Soiland-Reyes, myGrid team
School of Computer Science
The University of Manchester

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
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