OntologyClass metadata additions: alternative_names, alternative_identifiers, relations #2239
+709
−110
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds metadata to
OntologyClass
so that its collection in Mongo and its table in Postgres can hold cross-references (curie form), synonyms, and term descriptions available from external ontologies. It also adds a new class,OntologyRelation,
to capture NMDC-search/display-relevant axioms/relationships (in particular,subclassOf
andpart_of
relations).In particular,r in the example data, @turbomam @cmungall - I'd like some feedback on the difference between "is_a" and "BFO:0000050" as the value for "predicate" in an OntologyRelation (using "is_a" follows the obographs convention, but I picked
rdfs:subclassOf
as the predicate for "is_a" because it sort of enables consistent processing of this field by downstream software?).These changes support generic ontology metadata loading into NMDC.
Some related tickets:
microbiomedata/nmdc-server#1388 - support more facets for GO in search
microbiomedata/pilot#17 - support metadata search from ontologies
microbiomedata/pilot#12 - support ENVO search facets
microbiomedata/nmdc-field-notes#187 - field notes ENV triad term selection
We also want to provide users with more details about our existing terms. For example, we could extend the widget on the data portal search to include ontology metadata like cross-references, definitions, etc, to enable more informed selections.
Storing these metadata in Mongo and, subsequently, in Postgres might make this data more accessible for downstream tools.