[Biojava-l] Off Topic: Monograph

Matthew Pocock mrp@sanger.ac.uk
Fri, 07 Dec 2001 15:52:47 +0000


Hi all,

Sory if you are not interested in half-baked home-grown query languages.

Monograph is an API for manipulating meta-data. It can represent 
relational-db, object inheritance, ace-db style frames, DAML-OIL terms 
and most other things using the same unified model. It is language 
neutral (but this implementation is in Java). It is intended as a 
sensible language for glueing different data-sources together (possibly 
with very different query APIs) without the need to push some of the 
query logic into client-side hand-written loops.

The exciting features possible in Monograph (but not fully implementated 
by the current code-base):

* the ability to compare two database schemas to see if they overlap

* represent concepts like design paterns as first-class objects that are 
generative models over code

* no distinction between meta-data and data - you can turn any 
data-structure into the rules of a new language - indeed, single 
data-values are just very restricted languages that only ave one 
possible value - the data-value

* high-level optimization of execution paths that can potentialy take 
into account the foibles of sub-class implementation details

I've just checked a new version of the core interfaces for Monograph 
into sourceforge (project name monograph, CVS package monograph-live). 
It is an almost complete re-write of the original code. It is very 
un-polished, and there are loads of bits of core functinality that 
aren't implemented yet (like validating types by schema). I will try to 
check some documentation into the tree before Monday.

This is /very/ alpha code, but somebody out there may get the warm 
fuzzies while reading through it.

all comments/flames/donations gratefully recieved,

Matthew