Version 2 (modified by joshuadf, 11 years ago) (diff)


The FMS TermServer is a interface to the FMA written in lisp. There are two versions, a very old one written in perl and a newer one written in Java by Peter Mork that works with OQAFMA. Both are in CVS (the perl and java directories, the rest is OQAFMA itself and an ancient kbd) at

New java FMS

Same lisp API as old FMS, just talks to current FMA via OQAFMA. An example query is:

(fms-get-children "Heart" "lymphatic drainage")

So an entire example session might be:

tricycle:~>telnet 8098
> Trying
> Connected to (
> Escape character is '^]'.
> connected
> 3
> (fms-get-children "Heart" "lymphatic drainage")
> received
> 4
> ( "Left cardiac tributary of tracheobronchial lymphatic tree"  "Right
> cardiac tributary of brachiocephalic lymphatic tree" )
> 3
> (quit)

Old perl FMS

The old currently lives at tela:/usr/local/lib/ts/ and needs /var/run/fm/ to exist for PIDs and maybe logs in debug mode. It uses the fm_master mysql database, a pre-Protege copy of the FMA. The Dynamic SceneGenerator uses the old FMS.

To get it running on sphenoid, I did this:

cp -a /usr/local/data/i386-linux/lib/ts/ /usr/local/lib
mkdir /var/run/fm
rpm -Uhv perl-IO*rpm

After importing the database and lightly editing a couple of files, it worked.