GEEM enables users to work with two kinds of specification content:

  • GEEM specification subclasses present under an ontology’s OBI ‘data representational model’ , if any.  A GEEM specification is a class with ‘has component’ axioms (created by an ontology’s curation team) that detail each data element being collected.
  • User-defined package specifications that are copied from the above data representational model components. The Resource tab allows a user to select either an ontology or a package to examine and reuse.

User Packages

A package is a collection of ontology term and entity identifiers and filters that a user has brought together by selecting components and placing them into their shopping list. A package enables generation of an ontology-driven entity specification file (as tab-separated data or in JSON format) which indicates term names, synonyms, definitions, and categorical and numeric variable details. A specification can be used by software and data integration developers to facilitate data entry, display and exchange.

A package cannot contain terms from two versions of an ontology, but it is designed to contain terms from more than one ontology.

GEEM user accounts and storage

GEEM stores user-defined packages on the GEEM install server in a postgressql database.  However, this requires logging in, which is easy via GitHub and Google OAuth2 login functionality. (As well local Django user accounts can be set up that GEEM can be accessed by, but currently one must login via Django first.)

Selecting a specification

The “Select a specification resource …” pulldown menu at upper left of the GEEM interface provides ontologies and packages that a user can work with. All other tabs focus on the selected resource. 

  • Ontologies: A GEEM portal provide a list of ontologies that have specifications directly curated in them. 
  • Public Packages: Packages that other users have shared (as informal specifications, or official or defacto standards) appear here.
  • My Private Packages: A list of packages that a user has not made public.

Any viewed specification can be selected as a whole, or in parts, for reuse in a user’s package.  A user can update, delete or share packages that they own. Note that browsing, searching and shopping for terms can only involve one version of an ontology or package at a time.

Summary Tab

Having selected an ontology or package, details about its draft or release status, public or private access, version, etc. are displayed. If a user has ownership rights over a specification, selected fields are opened up for editing.

Browse Tab

For a selected ontology or user package item, the browse tab provides a menu of complete specifications it contains, or specification components that can be reused in larger specifications. 

Search Tab

The search tab enables searching through a resource’s specifications to identify matching components by label, definition or synonym.

Form Tab

Selecting an item in either the browse or search tab triggers the interface to load and focus on that item.  This includes a display of it in the Form tab view. The form view displays all numeric, string, date and categorical inputs.  Help information, if any, about a given input is supplied when mousing over the input label.  A green shopping cart to the far right of an item label allows one to select it to include in one’s shopping cart.  Selecting it again displays the cart icon in red, signalling that it should be omitted from the shopping cart, in the case where a parent item is included in the cart.

Shopping Cart

 The Cart tab stores a user’s selected specifications or parts (selected in the Form View), which are then added to a package they specify.


For a given specification, a variety of specification formats are available for download.  The Specification tab provides a preview of the selected specification format, and a download option.