[moby] [MOBY-dev] Reserved word... perhaps unnecessary...

Martin Senger senger at ebi.ac.uk
Fri Nov 4 06:37:49 UTC 2005


> Martin:  MOBY Objects are just syntax, so there is no such thing as a
> "core" data-type for MOBY objects.  They don't have an "essense"!
>
   Of course, the objects are just syntax (with semantics added by
documentation). But let's not play with the words...
    What you are saying (IMHO) is that you like to have there also an
additional attribute that would define an "essence". In your other email,
you called it a "primary contents".
   You are also saying that two objects may have the same structure, but
they can differ by this "primary contents" atribute. I can have an object
X that has two members: FASTA and Annotation, and an object Y that has the
same members. But Object X inherited from Annotation and added FASTA
(because I am creating this object for analyzing various kind of
annotations, for example), and the object Y inherited from FASTA and added
Annotation as a member (because I am using Y for dealing with
sequences). [This is what Andrew said about having multiple users of the
same data. Yes, Andrew, I had my cup ot tea :-) ]
   You are right that to find the ISA hierarchy of objects X and Y you
need to traverse back. The attribute "primary contents" would help you to
find what you need without traversing back.
   But they may be other members (children) that you wish to know where
they come from - so you would need (theoretically) more and more "essence"
attributes. In other words, you may be interested in a complete hierarchy
without traversing it back using a registry, but you do not have it
because the Biomoby XML message is flatten!
   This situation is actually not a consequence of banning inheriting from
primitives but a consequence of a unfortunate (flatten) design of Biomoby
XML message from the beginning. (Now you know what I was bitching around,
and lobbying in Vancouver meeting.) If the Biomoby message is a
"usual" type of XML, you would have all. For example, and simplified, my X
and Y objects would be:

<Annotation>
   <String articleName="desc">hello</String>
   <X>
      <Fasta><String articleName="seq">atata</String></Fasta>
   </X>
</Annotation>

<Fasta>
   <String articleName="seq">atata</String>
   <Y>
      <Annotation><String articleName="desc">hello</String></Annotation>
   </Y>
</Fasta>

Just for the readers, what you have now is:

<X>
   <String articleName="desc">hello</String>
   <String articleName="seq">atata</String>
</X>

<Y>
   <String articleName="desc">hello</String>
   <String articleName="seq">atata</String>
</Y>

   Cheers,
   Martin

-- 
Martin Senger
   email: martin.senger at gmail.com
   skype: martinsenger
consulting for:
   International Rice Research Institute
   Biometrics and Bioinformatics Unit
   DAPO BOX 7777, Metro Manila
   Philippines, phone: +63-2-580-5600 (ext.2324)






More information about the MOBY-dev mailing list