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

PROJECTS (OME::Project)
A project represents a large investigation by a small number of users.
DATASETS (OME::Dataset)
A dataset is any collection of images.
IMAGES (OME::Image)
A five-dimensional microscope image.
FEATURES (OME::Feature)
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

SEMANTIC_TYPES (OME::SemanticType)
The semantic types in the system.
SEMANTIC_ELEMENTS (OME::SemanticType::Element)
The elements in each semantic type.
DATA_TABLES (OME::DataTable)
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

MODULES (OME::Module)
FORMAL_INPUTS (OME::Module::FormalInput)
FORMAL_OUTPUTS (OME::Module::FormalOutput)
MODULE_CATEGORIES (OME::Module::Category)

Analysis chains

ANALYSIS_CHAINS (OME::AnalysisChain)
ANALYSIS_CHAIN_NODES (OME::AnalysisChain::Node)
ANALYSIS_CHAIN_LINKS (OME::AnalysisChain::Link)

Analysis executions

MODULE_EXECUTIONS (OME::ModuleExecution)
ACTUAL_INPUTS (OME::ModuleExecution::ActualInputs)
ANALYSIS_CHAIN_EXECUTIONS (OME::AnalysisChainExecution)
ANALYSIS_NODE_EXECUTIONS (OME::AnalysisChainExecution::NodeExecution)
ANALYSIS_PATHS (OME::AnalysisPath)
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