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/