AtlasCrawler Maintenance

 

The term AtlasCrawler refers to the Digital Anatomist sub-system that allows you to search for all the frames that contain a given term. There are a few parts to this that need to be maintained.

All of the C code that facilitates this functionality is found on the NeXTs, in ~bradley/DA-database.


The Sybase Database

The mapping from terms to DA frames is kept in a sybase database on vastus. To log into the database from the command line, use the command:

% isql -SVASTUS -Ubradley -P

then at the isql prompt, you need to issue the command:

> use bradley
> go

By exectuing the sp_help command, you can see that there are a couple tables. The only ones used by the AtlasCrawler are atlases and terms. The atlases table keeps track of all of the atlases that are to be used when building the terms table. It has the folowing structure:

host_url

varchar(255)

atlas

varchar(255)

The host_url is simply the URL to the host machine of the atlas that the row represents. The atlas field is the name of the atlas. Example row:

http://www9.biostr.washington.edu

Thorax

Notice that the host_url DOES NOT end with a '/'.

The terms table is the one that contains the information mapping term names to frames within the atlases searched. It has the following structure:

term

varchar(255)

ffpath

varchar(255)

atlas

varchar(255)

host_url

varchar(255)

Each row maps one term to one frame in one atlas. The term field is the name of the term. The ffpath field is the path to the frame file on the atlas server, reletive to the atlas's root diretory. The atlas and host_url are used in the same way as in the atlases table. Example row:

apex of heart

Index/DMCindex/Anatomical_Sections/a_vm1490

Thorax

http://www9.biostr.washington.edu


Building the Database

There are two programs on the NeXTs that work together to build the contents of the database. But first, you must do a little buidling by hand.

The atlases table must be built by hand with isql. Once you've entered isql (described above), you can add rows to the atlases table with standard SQL INSERT commands. Example:

> INSERT INTO atlases
> VALUES ('http://www9.biostr.washington.edu','Knee')
> go

You can also clear the atlases table by executing the 'DELETE atlases' command.

Also, before you run the programs that build the terms table, you will want to clear it out -- which must also be done by hand, with the command 'DELETE terms'.

On scala, there are two program that must be compiled to build the database: queryAtlas and buildit. Before compiling any programs inthe ~bradley/DA-database directory, make sure you have the most up-to-date version of DA.c and DA.h in there, by copying them in from your DA-2.1/src directory, and overwriting the old ones here. Then, to compile these two programs, issue the commands:

% make queryAtlas
% make buildit

Now, you can build the database by running buildit like so:

% buildit

This may take a long time. So be patient.


The program that searches the database -- db

The source code for db is also in ~bradley/DA-database. It also need to have the most recent version of DA.c and DA.h from your DA-2.1/src directory. To compile this program, type:

% make db
% make installdb

The second command copies the exectuable into the appropriate directory. This is the program that gets called ffrom the search pages, and queries the syabse database.


Last Updated: 27 Mar 1997
Scott W. Bradley