[BioSQL-l] ontology for transitive closure table

Aaron J Mackey ajm6q at virginia.edu
Wed Mar 19 07:26:20 EST 2003


I'm writing this, with help from ChrisM (I hope), although it's still in
planning stages.  But for a very high-level preview, you can take a look
at DBIx::Tree to get a flavor for what DBIx::Graph will do (which is: map
database tables representing graphs into Graph.pm-like structures and
vice versa).  Some not-guaranteed-to-work code:

my $dbigraph = new DBIx::Graph @params;
my $graph = $dbigraph->graph;

my $tc = $graph->transitive_closure; # or whatever Graph.pm calls it, can't remember
my $dbitc = new DBIx::Graph @tc_params;
$dbitc->graph($tc); # save the tc graph away.

where @params and @tc_params define the various tables/keys/whatnot for
the relationship and path tables.

Of course, Graph.pm has no idea about ontology terms and whatnot; but I
believe we'll be able to register callbacks at each "merge" state to
qualify the attributes of the edge about to be added to the tc (or deny
that the edge should be made at all).  I'm working with the author on this
at the moment, but he's a slightly busy guy (Jarkko Hietaneimi of perl 5.8
fame, and I'm sure I've butchered his last name).  This is why DBIx::Graph
hasn't moved much further beyond planning yet, because I need the hooks in
Graph.pm

Slightly OT, but if I were to implement our own Graph.pm-like object via
an Inline::C-wrapped graph library, would people be keen on that?

-Aaron

On Tue, 18 Mar 2003, Hilmar Lapp wrote:

>
> On Tuesday, March 18, 2003, at 04:40  AM, Aaron J Mackey wrote:
>
> > Maintenance of these graphs is left as an exercise to the reader (but
> > DBIx::Graph is coming to a CPAN to near you).
>
> Are you writing this? Is there a preview?
>
> I'm going to write the RelationshipI adaptor now. I'm wondering whether
> I can take advantage of DBIx::Graph if you're writing this?
>
> 	-hilmar
>

-- 
 Aaron J Mackey
 Pearson Laboratory
 University of Virginia
 (434) 924-2821
 amackey at virginia.edu




More information about the BioSQL-l mailing list