[Bioperl-l] OntologyTermI

Hilmar Lapp hlapp@gnf.org
Mon, 2 Sep 2002 17:01:14 -0700


On Monday, September 2, 2002, at 12:34  AM, Ewan Birney wrote:

>
>
> On Sun, 1 Sep 2002, Chris Mungall wrote:
>
>> what about cyclical references? do we really want to go mucking around
>> with the WeakRef module?
>>
>> in the current GO object model, Terms are dumb, all the smarts are 
>> in the
>> graph object
>>
>> so you say
>>
>> $graph->get_children($term)
>>
>> rather than
>>
>> $term->children()
>>
>> which i prefer anyway
>
> This is pretty sensible. I guess this is now up to the implementors -
> Hilmar - if you or someone in your group wants to get stuck in 
> there with
> "dumb" terms and ideally a Graph object, I think that would be great.
>
>

Frankly, $term->children() would in my view be simpler to use and 
closer to the use case of 'manipulating/traversing ontologies'. But 
in the end the difference may not be big.

As for implementation, I don't want to get stuck in designing 
generic graph classes -- that's beyond our scope here. If someone 
wants to provide them, we'll be happy to use it. In fact I believe 
this is beyond the scope of bioperl itself. Also note that there's 
already the Graph:: modules on CPAN.

I'm looking forward to what Chris has cooking. At the end of the 
day, what we here want to be able to do is

	- read Ontologies (text format, XML format) into
	- pass around Terms as objects that let you traverse from the term
	- write/rewrite OntologyTermAdaptor in bioperl-db such that it 
serializes/deserializes such objects
	- traverse a graph

I do think having not-so-dumb terms provides for more ease of use -- 
but I may be wrong. My strategy would be to supply terms with all 
the functions that you would want to apply to them, but 
implementation internally delegate to a graph traversal 
implementation that the client can change if needed. I.e., make 
Terms 'work out of the box'.

I guess what I'm trying to say here is let's not make it more 
complicated than it absolutely needs to be in order to allow for 
(reasonable) extensibility. We on our part aren't the world's 
experts on ontology implementation, and, bluntly, we don't want to 
become those.

	-hilmar

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