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.

