Skip to main content

Vocabularies

tip

Vocabularies define lists of allowed terms and improve consistency of the data. Only administrators can add and remove vocabulary terms.

Data entry forms are designed to only accept valid values. When registering new germplasm, the form of germplasm must be specified. Instead of simply registering the form of germplasm as "seed", "DNA" or "in vitro culture" (i.e. free text), users must select from the list of avaiable options. A specific vocabulary (GERMPLASM_FORM) ensures that only values which are on its list can be used for form of germplasm.

Review your vocabularies early

Default vocabularies are registered as part of GGCE installation. You should review the terms of all vocabularies during the initial configuration of the system.

Vocabulary

A vocabulary defines one or more terms. Vocabularies are declared in the data model, and GGCE ensures that only valid terms are recorded in the database. It is also not possible to remove a term from a vocabulary when the term is used somewhere in the data.

In GRIN-Global terminology, vocabularies are called Code value groups, and one term in a vocabulary is a Code value.

List of vocabularies

Administrators can access the list of vocabularies in Admin tools under the menu Code values.

List of vocabularies

Opening the vocabulary by clicking its name will list the terms in the vocabulary.

List of terms in a vocabulary

Adding new terms

Each term specifies the name of the group it belongs to (the vocabulary) and its code. The value is a short text code that is actually stored in the database when this term is referenced. Instead of the code, the title and description of the term are presented to users.

Adding a term

Code is a short text code that is recorded in the database when referring to this term. Use short, but clear codes to distinguish between terms in one vocabulary. Examples of good codes are PL or IV.

Term codes and titles

Do not use Plant in field collection or In vitro material as codes. These are labels that must be registered as term titles.

This will add the new code (CodeValue) to the system, and register the specified title and description as term translations (CodeValueLang).

Translating terms

Vocabulary terms can be translated to other languages, as described in Translations. Try to use concise titles and provide clear descriptions when the term should be used. A description that matches the term title is not very helpful:

Translating terms

Terms that are missing translation to a specific language will use English version instead. You can spot them in the picture above: the rows with ID are translated, while the rows without it use the English translation of the term.

Term statistics

Some terms are used more often than others. GGCE provides a Code value statistics tool that allows the administrator to identify any codes that do not have a corresponding vocabulary term.

Statistics

The tool lists all fields where the vocabulary is used and reports for each term in the database the whether the corresponding CodeValue is defined and the number of occurrences of that code.

Any missing terms should be immediately registered in the vocabulary.

Removing terms

Terms that are not used can be removed from the vocabulary by triggering the Remove action:

Code value

After confirming that the term should be removed, the system will remove the term only if it is not refenced in the data.

Replacing terms

Quite often, terms are added to the vocabulary, but are very rarely used. In such cases, you may want to replace such terms with the more accepted term. This can be done with the Replace function:

Code value

After all occurrences of the original term are successfully changed to the selected replacement, the term is deleted from the system. Any attempts to use the old term will result in a data validation error.

Data model

createdBy
integer <int64>
createdDate
string <date-time>
modifiedBy
integer <int64>
modifiedDate
required
string <date-time> (Last modified date)

Maintained by the server, original value must be included in all update and delete operations.

object (AclSid)
ownedDate
string <date-time>
groupName
required
string [ 0 .. 100 ] characters
id
integer <int64>
value
required
string [ 0 .. 30 ] characters
{
  • "createdBy": 0,
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedBy": 0,
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "ownedBy": {
    },
  • "ownedDate": "2019-08-24T14:15:22Z",
  • "groupName": "string",
  • "id": 0,
  • "value": "string"
}