[moby] [MOBY-dev] Re: Problems with Biomoby services in Taverna 1.2
Mark Wilkinson
markw at illuminae.com
Fri Jul 8 17:22:20 UTC 2005
I see no inconsistency between what you quote below and what I said in
my mail from yesterday...
??
M
On Fri, 2005-07-08 at 08:50 +0200, Rebecca Ernst wrote:
> Hi Mark!
>
> I will have to spank you a lot for either the last email or the one you
> sent me in February where I asked you how to use collections (see mail
> below):
>
>
> Well... the answer depends on what the generic case of your output will
> look like. the rule is that you have to register every output object
> that your service produces; i.e. every immediate child tag of a mobyData
> block. Therefore, if you are going to consistently output exactly 3
> Genbank/gi's, then you would register your service as outputting 3 X
> Object(NCBI_gi). If you are outputting an indeterminate number of
> objects, then you register it as outputting 1 X Collection.
>
> Collections map nicely onto the rdf:Bag structure, if that helps you
> interpret them.
>
> M
>
>
>
> On Wed, 2005-02-02 at 02:36, Rebecca Ernst wrote:
>
> >> Hi Mark!
> >>
> >> We have problems interpreting the BioMoby API for the output objects.
> >>
> >> The thing is that we have a service that gets ONE input object and
> >> executes a freetext search over several databases. This service will
> >> eventually return more that one result.
> >> We don't want to put the result into a collection object because the
> >> single objects don't build any entity.
> >> We also can't give back more that one mobyData block because we only
> >> have one query ID and therefore only one queryID to give back.
> >>
> >> The only solution we can think of is an object like this:
> >>
> >> <?xml version="1.0" encoding="UTF-8"?>
> >> <moby:MOBY xmlns:moby="http://www.biomoby.org/moby">
> >> <moby:mobyContent>
> >> <moby:mobyData queryID='a1'>
> >> <Simple articleName=''>
> >> <Object namespace="Genbank/gi" id="163483"/>
> >> </Simple>
> >> <Simple articleName=''>
> >> <Object namespace="Genbank/gi" id="163484"/>
> >> </Simple>
> >> <Simple articleName=''>
> >> <Object namespace="Genbank/gi" id="163485"/>
> >> </Simple>
> >> </moby:mobyData>
> >> </moby:mobyContent>
> >> </moby:MOBY>
> >>
> >>
> >>
> >> would this be a legal object or do we have to use collection even if the
> >> objects don't build an entity ?
> >>
> >>
> >> Cheers,
> >> Rebecca
> >
> >
> -- Mark Wilkinson Assistant Professor (Bioinformatics) Dept. Medical
> Genetics, UBC, Canada
>
>
> -----------------------------------------------------------------------------------------------------------
>
>
>
>
>
>
> Mark Wilkinson wrote:
>
> >On Thu, 2005-07-07 at 17:34 +0200, Heiko Schoof wrote:
> >
> >
> >
> >>I myself am confused about the use of collections. Originally I had in
> >>my mind that Collections were a construct to allow objects that
> >>inherently belong together to be "bagged".
> >>
> >>
> >
> >You are 100% correct here.
> >
> >
> >
> >
> >>The confusion starts with the output of services. My understanding was
> >>that ONLY a service that is guaranteed to output exactly one object for
> >>each query (e.g. an averaging service that outputs the average of a
> >>list of inputs) is registered as outputting a Simple, all others have
> >>to output collections
> >>
> >>
> >
> >No.
> >
> >
> >
> >> (as there must be exactly one mobyData matching
> >>the queryID of the input in the response,
> >>
> >>
> >
> >Yes
> >
> >
> >
> >> and a mobyData may contain
> >>multiple Simple elements only if wrapped by a Collection).
> >>
> >>
> >
> >No. A mobyData element can wrap any number of outputs, and/or
> >combinations of simples, collections, and secondaries.
> >
> >
> >
> >
> >
> >>In practice, the Collection tag has been used to indicate when more
> >>than one Simple occurs, with no "semantic" meaning. This imho is not
> >>necessary; when more than one Simple occurs, why not put more than one
> >>Simple? It's easy enough for everyone to figure that out. Then,
> >>Collection could be used to actually transfer meaning ;-)
> >>
> >>
> >
> >I think a lot of people are using Collections incorrectly, yes.
> >
> >
> >
> >
> >
> >>make things clearer, also to e.g. the Taverna developers: Getting back
> >>many Simple articles in response to a query very intuitively indicates
> >>to continue on with each one individually, whereas getting back a
> >>Collection indicates to put the whole thing as input into the next
> >>service, which is what they implemented. Makes perfect sense, as there
> >>can and will be services that consume Collections.
> >>
> >>
> >
> >I don't think that Taverna handled collections correctly in the past,
> >and it would be a shame if that identical functionality was added back
> >in :-) The functionality does need to go back into Taverna, but
> >correctly this time.
> >
> >
> >
> >
> >
> >>Maybe I've made myself clear, maybe not. Anyway, the Collection issue
> >>has led to quite some discussions between Rebecca, Dirk and myself, and
> >>we are all not happy with the way they are currently handled.
> >>
> >>
> >
> >I don't know if you are happier with them now that I have pointed out
> >where you are misinterpreting them...??
> >
> >I agree, however, that their usage by many service providers is not
> >correct... but there's no way for MOBY Central to know that it isn't
> >correct, so we can't throw an error on registration of these "wonky"
> >services...
> >
> >M
> >
> >
> >
> >
> >
>
--
Mark Wilkinson
Asst. Professor
Dept. of Medical Genetics
University of British Columbia
PI in Bioinformatics
iCAPTURE Centre
St. Paul's Hospital
Vancouver, BC
More information about the MOBY-dev
mailing list