Skip to main content

Table 1 The initial set of OBO Foundry naming conventions

From: Survey-based naming conventions for use in OBO Foundry ontology development

1. Be clear and unambiguous
Naming Convention Description Example Effect
1.1 Use explicit and concise names Keep names short and memorable, but precise enough to capture the intended meaning. Keep names linguistically correct and intuitively meaningful to human readers. Articles should be omitted. 'wall of esophagus', 'physical part' instead of 'the wall of the esophagus', 'distinct identifiable physical part' Faster term recognition
1.2 Use context independent names Apply names that are self-explanatory and understandable even when viewed outside of the immediate context of the ontology. Avoid truncated names and colloquialisms. In names, capture inherent and intrinsic characteristics rather than asserted and extrinsic characteristics. Avoid using names for non-role entities that refer to roles the entity referred to may potentially play in a particular context at a particular time.
Capture product names as they are, but render them intelligible adding contextual information: [company name] + [product name] + [product type] (usually the superclass name). Additional information like the legal status of a company (e.g. Corp. or Inc.) should be omitted.
'NMR magnet' 'chemotherapy' and '1 ml pipette tip' instead of 'magnet', 'chemo' and 'blue pipette tip'. Use 'Bruker US 2 NMR magnet' instead of 'US 2' Increases precision in the interpreted meaning.
Helps string matching.
Faster term recognition
1.3 Avoid taboo words Affixes reflecting epistemological claims e.g., words that indicate types of representational units should be avoided in name. 'protocol' instead of 'protocol class' Faster term recognition, redundancy reduction
1.4 Avoid encoding administrative metadata in names Administrative metadata, e.g., a class' status and version should be factored out of the name and into suitable separate representational units 'protocol' instead of 'protocol (definition incomplete)' Increases precision in the interpreted meaning
2. Be univocous
Naming Convention Description Example Effect
2.1 Use univocous names and avoid homonyms Names should have the same meaning on every occasion of use and refer to the same types of entities in reality. Homonyms, ambiguous terms that share the same spelling but have many different meanings, are to be avoided as part of editor-preferred names. Use terms with fewest possible amount of homonyms in building names 'protocol collection' instead of 'protocol set' for a plurality of protocols (store the latter as synonym), 'parameter adjustment' instead of 'parameter setting' for the act of setting parameters Increases precision in the interpreted meaning.
Faster term recognition
2.2 Avoid conjunctions Words that are used to join other words, such as the logical connectives 'and' and 'or' should be avoided in names as they can introduce ambiguity and may hamper inference by causing excessive branching. The same applies to qualifiers such as 'in some cases' In 'anatomic structure, system or substance' it is not clear whether the adjective "anatomic" is restricted to "structure" or extends also to "system" and "substance". In the first case the substances 'drug' and 'chemical' would be classified under this class, otherwise not. Increases precision in the interpreted meaning
2.3 Prefer singular nominal form Use singular names throughout. Where plurals need to be captured, e.g. when one instance of the plural class represents a plurality itself, consistently use explicit plural indicating postfixes as part of the class names, e.g. use 'aggregate', 'collective' or 'population' consistently, but only as applicable. 'pair of lungs', 'population'
instead of 'lungs', 'people collection'
Increases precision in the interpreted meaning, helps string matching
2.4 Use positive names Avoid use of negations in formulating names. Avoid complements and negative names like 'non-separation device' because logically this will include everything in the universe that is not a separation device. The absence of a characteristic is not a concise differentiating criterion. Do not represent the absence of a characteristic (e.g. wing) as the presence of the non-existence of a characteristic, e.g.: 'wing' has_status "absent". Avoid 'non-linear model' Increases precision in the interpreted meaning
2.5 Avoid catch-all terms Avoid 'rag-bag' words that do not designate natural kinds. The existence of classes is not dependent on our biological knowledge Avoid 'unlocalised', 'unknown', 'unclassified' Increases precision in the interpreted meaning
3. Reduce string variance
Naming Convention Description Example Effect
3.1 Recycle strings Word compositions should be constructed in a consistent manner, rather than using para-synonymous strings interchangeably. When creating compound names re-use strings as they occur in names of entities already defined elsewhere in this or in other ontologies 'x part of process', 'y part of process' instead of 'x component of process', 'y portion of process' Helps string matching
Eases cross product generation
3.2 Use genus-differentia style names Class names should reflect the differentia that distinguishes the class from its parent class (modifiers to the head word). These should be the same that are modelled explicitly, so that the name compounds can be mapped to representational units that are connected to that class. 'DNA microarray' is_a 'microarray'
'protein microarray' is_a 'microarray', where 'DNA' and 'protein' are the differentiae and are defined elsewhere
Eases cross product generation.
Helps string matching
3.3 Use space as word separators Use the bar space (' ') character as word separator, just as it would normally appear in the language of choice. Where use of the bar space is not allowed by the type of representational unit in use to store a name, the underscore ('_') should be used instead. Camel case should not be used as a means of word separation. 'DNA microarray',' 'pH value' instead of 'DNA_microarray', 'pHValue' Faster term recognition
Helps string matching
3.4 Expand abbreviations and acronyms Spell out abbreviations and acronyms and capture truncated versions as synonyms. Acronyms that result in expressions that have other meanings should be avoided. Widely known acronyms (anacronyms) such as DNA and LASER can be used. 'high resolution probe' instead of 'HRP' or 'high res. probe.' Faster term recognition, Increases precision in the interpreted meaning.
Helps string matching
3.5 Expand special symbols to words Special symbols and foreign language letter characters should be spelled out. 'degree Celsius', 'alpha helicase', 'carbon 14' instead of '°C', 'α helicase', 'C14' Helps string matching
4. Typography
Naming Convention Description Example Effect
4.1 Prefer lower case beginnings Don’t enforce dogmatically, but use lower case beginnings for class and property names. Capture names just as they would appear in normal English written text, i.e. where acronyms and proper nouns cannot be avoided in names they should be capitalized. Use ‘microarray’, ‘DNA microarray’, ‘pH value’, ‘Golgi apparatus’ Faster term recognition
4.2 Avoid character formatting Use plain ASCII format to keep names as computationally pliant as possible. Subscripts, superscripts and accents should be avoided. 'Sigma-Aldrich' instead of 'Σ-ALDRICH™ " Helps string matching