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

Andrew D. Farmer adf at ncgr.org
Fri Nov 4 07:18:53 UTC 2005


Hi again-
I'm not sure I have completely grasped your example, but the point about
XML hierarchy vs "flattening" is I think quite important. I can't speak
to the MOBY object structure very much, but with the
RDF-graph mentality, you don't flatten everything, i.e. paths between
objects can be traversed via properties that connect them, though there is
not a single root at which all paths must begin as with XML. My opinion
is that the rootedness and guaranteed depth-first traversal of XML streams
is quite nice when you are exchanging messages
that are designed for a single purpose that is understood by sender
and receiver; but, when the point is merely to represent data (not what
is to be done with it), there is no reason to believe that one starting
point is more privileged than another- this is IMHO one reason why 
relational dbs are so versatile and powerful. 

I might benefit from some clarification of your example. I can easily imagine
a sensible case of a sequence with an annotation with a sequence 
(consider the translation of a CDS on a genomic sequence). The two sequences
have different relationships to the annotation but are in themselves
both the same type of thing (ignoring the protein/DNA difference). But,
there is no reason I can see to treat them differently in terms of 
"hierarchy" until you provide a context for choosing the "root perspective".

Have some more tea, I'm relieved that you haven't completely shut out those
of us who can't help using the RDF-word... (sounds like there have been a lot of
conversations I have been blissfully unaware of).

Andrew

>    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
> 
> 

-- 

Andrew Farmer
adf at ncgr.org
(505) 995-4464
Database Administrator/Software Developer
National Center for Genome Resources

---
"To live in the presence of great truths and eternal laws,
to be led by permanent ideals-
that is what keeps a man patient when the world ignores him,
and calm and unspoiled when the world praises him."
-Balzac
---





More information about the MOBY-dev mailing list