Library of Information Models for Biological Collections:

Library Structure and Functionality



Library Structure

The library consists of information on the reference and alternative schemas, where this information includes:
  1. a schema name and description including a brief statement of the purpose of the schema;
  2. alternative representations of the schema using different notations, such as plain text (ascii) and diagrams;
  3. names and location of alternative views of the schema;
  4. names and location of schemas of related (foreign) databases as well as a description of the relationship;
  5. specification of schema clusters, where each cluster involves classes and/or other clusters defined in the schema;
  6. class definitions, where each class definition includes
    1. a class name, description, and (optional) properties;
    2. synonyms for the modeled concept;
    3. examples of class instances;
    4. a list of attribute definitions, where each attribute definition includes an attribute name, description, and the specification of a value class or attribute derivation;
    5. name and location (schema) of similar (possibly different) classes;
    6. links to related classes in other (foreign) databases;
    7. alternative representations for the class using other data models, such as the relational and Extended Entity-Relationship (EER) models.
The schema library is related to a database directory consisting of information on databases, such as:
  1. a database name and description including a brief statement of the purpose of the database;
  2. the database management system (DBMS) underlying the database, the server hosting the DBMS,
  3. access information (e.g., user id, password) for the database;
  4. the main schema associated with the database.

Creating and Maintaining the Library

The following tools have been used for constructing the schema library:
  1. genlib was used for generating the html files containing the various parts of the directory and library: genlib takes as input an OPM data file consisting of names and locations of all OPM schemas to be included into the directory and library, and employs several utilities for generating the relational, ER, and ASN.1 representations for the OPM schema components;
  2. opm2tex was used for converting the OPM schema to a LaTex document and then Latex was used for generating the document in postscript format;
  3. opm2diag was used for representing the OPM classes diagrammatically and for generating a postscript containing the OPM schema diagrams.
If one of the schemas in the library changes, the entire library can be re-generated using genlib. An OPM schema is stored as an ASCII file and can be created and/or modified using:
  1. a graphical OPM Schema Editor (Unix X-windows based);
  2. any text editor directly on the ASCII file;
  3. retrofitting tools that can be employed for re-engineering existing relational (e.g., Sybase, Oracle) database or ASN.1 file defintions.

Viewing Schemas in the Library

The Library provides currently three ways to view or browse a schema:
  1. hypertext based browsing of the schema in four different representations using a Web browser (e.g., Netscape);
  2. graphical browsing of the OPM schema represented diagrammatically using the Java based OPM Schema Browser;
  3. downloading of files representing the schema in various formats and notations.

Future Plans

In future, we plan to enhance genlib with facilities supporting incremental modifications of the library when one of the schemas in the library changes or new schemas are added to the library. For the latter, we will also provide a Web based interface that will allow documenting the relationships between a newly added schema and existing schemas in the library.