Personal tools
  • We're Hiring!

You are here: Home Documentation Previous versions OME Server Developer Perl API Core Database Tables

Core Database Tables

All data and metadata in OME is expressed in tabular form and stored in a relational database. Since the OME design relies heavily on extensible semantic types, almost all of the underlying database is defined via XML-based semantic type descriptors. However, a few core tables cannot be defined as semantic types, and instead are defined explicitly by the Perl API. These core tables are listed below, along with the OME::DBObject subclass which defines them. The divisions correspond to the sections of the Conceptual framework.

Any table not listed on this page is defined by a semantic type. The way in which semantic type tables are defined and created is described in more detail in a later section.

Object hierarchy

A project represents a large investigation by a small number of users.
A dataset is any collection of images.
A five-dimensional microscope image.
Any subset of an image.
PROJECT_DATASET_MAP (OME::Project::DatasetMap)
Encodes the many-to-many relationship between projects and datasets.
IMAGE_DATASET_MAP (OME::Image::DatasetMap)
Encodes the many-to-many relationship between images and datasets.

Attributes and semantic types

The semantic types in the system.
SEMANTIC_ELEMENTS (OME::SemanticType::Element)
The elements in each semantic type.
A database table used to hold attributes. (Not quite the same thing as a semantic type — semantic types are logical descriptions, data tables are physical storage descriptions.)
DATA_COLUMNS (OME::DataTable::Column)
The columns in each semantic type database table.

Analysis modules

FORMAL_INPUTS (OME::Module::FormalInput)
FORMAL_OUTPUTS (OME::Module::FormalOutput)

Analysis chains


Analysis executions

ACTUAL_INPUTS (OME::ModuleExecution::ActualInputs)
ANALYSIS_NODE_EXECUTIONS (OME::AnalysisChainExecution::NodeExecution)
ANALYSIS_PATH_MAP (OME::AnalysisPath::Map)

Data dependency trees

Data dependency trees are entirely encoded by the analysis execution tables. They do not need any extra database state.

Document Actions