Re: Hierarchal vs Non-Hierarchal Interfaces to Biological Taxonomy

From: J M Davitt <jdavitt_at_aeneas.net>
Date: Sat, 16 Dec 2006 00:26:39 GMT
Message-ID: <33Hgh.4162$SJ3.519_at_tornado.ohiordc.rr.com>


Neo wrote:

>>here is a Human Cytogenetic Map (i.e., of the bands in human
>>chromosomes resulting from a widely-used diagnostic staining agent):
>>(HumanCytoMap(1(1p(1p3(1p36(1p36.3...(Xq27.1,Xq27.2,Xq27.3)))),Y))
>>This will give you a large example to work with... Can you parse...

>
>
> Looks interesting, I'll give it a shot. What is each "node"? A gene? A
> chromosone? A Band? What would be an appropriate name for the
> relationship between 1 and 1p? Can I treat 1p36.3 as one node or does
> the decimal encode a relationship between nodes 1p36 and 3?
>
>
>>... let me know and I'll send you the file as an email attachment.

>
>
> Could you email it to neo55592_at_hotmail.com , just incase? Thx :)
>
>
>>Can you parse this tree (from one of Celko's examples)?:
>>(Albert(Bert,Chuck(Donna,Eddie,Fred)))

>
>
> Is it equivalent to:
>
> Albert
> Bert
> Chuck
> Donna
> Eddie
> Fred
>
> If so, below I parsed it manually. I have assumed a parent/child
> relationship.

Wanna know what's always bothered me about the way we describe hierarchies? We call the predecessor and successor parent and child and then throw in the autogenesis rule: "A child can have only one parent."

There are very few children with only one parent... WTF do we use those terms?

I think the genealogy data are wonderful: they represent real-world relationships (Phunny, eh?) and not those artificial sort-of representative hierarchies that we so often see -- and so often don't work very well.

Go for it all! Do real graphs!! Don't think, "I'll figure out hierarchies first, then retrofit whatever it might take to do graphs."

dbd might be just the platform to "Get 'r done" right!

>
> (new 'albert 'person)
> (new 'bert 'person)
> (new 'chuck 'person)
> (new 'donna 'person)
> (new 'eddie 'person)
> (new 'fred 'person)
>
> (; Create hierarchy consisting of alberts chlidren)
> (; Note that child is part of system data)
> (set albert child bert)
> (set albert child chuck)
> (set chuck child donna)
> (set chuck child eddie)
> (set chuck child fred)
>
> (; Get chuck's children)
> (; Gets donna, eddie and fred)
> (get chuck child *)
>
> (; Get albert's children)
> (; Gets bert, chuck, donna, eddie, fred)
> (getRel albert child *)
>
> (; Get fred's parent)
> (; Gets chuck)
> (get * child fred)
>
> (; Get fred's grand parent)
> (; Get albert)
> (get * child (get * child fred))
>
> The above is similar to example www.dbfordummies.com/example/ex006.asp
>
Received on Sat Dec 16 2006 - 01:26:39 CET

Original text of this message