[Bioperl-l] Ontology category

Hilmar Lapp hlapp@gnf.org
Mon, 11 Nov 2002 15:41:56 -0800


It appears the Biosql schema is settling down. Among the open spots 
is what to eventually do with the category of an ontology term.

The current solution I implemented is ontology terms having a 
nullable foreign key to themselves that denotes the category.

There are several things worth mentioning about this.

1) First off, it works for us (tm), which means it is fully 
supported in the TermI adaptor in bioperl-db.

2) It is simply modeled after the bioperl object model, where ChrisM 
and subsequently we had the category slot of Ontology::TermI be 
another TermI object.

3) It has been pointed out by several people that this approach is 
deficient in that it mixes different entities into one object and 
potentially cannot capture information one would like to capture 
about Ontologies (not terms), like namespace, authority, 
cardinality, type, and whatnot. I agree with basically all of this.

If the current solution is to be changed, my suggestion is to change 
the object model first, because otherwise the object model is wrong 
(worse than the rel. model being wrong), and mapping the same class 
to two different relational entities is just unnecessary and 
unjustified complexity.

Given the fact that it works for us, I'm somewhat lazy to drive that 
change myself. So I'm trying to solicit concrete proposals here from 
people who are dissatisfied with the present design. I'm willing to 
help implementing the winning proposal. To lower your activation 
energy if the current design puts you off, note that if you don't 
speak up the current design may end up unmodified in 1.2, which will 
make it stick for a while.

	-hilmar
--
-------------------------------------------------------------
Hilmar Lapp                            email: lapp at gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
-------------------------------------------------------------