Chado icon indicating copy to clipboard operation
Chado copied to clipboard

Storing vocabulary terms borrowed from other CVs?

Open spficklin opened this issue 5 years ago • 6 comments

Ontologies are increasingly borrowing terms from other ontologies and using the IDs from the source ontology, and the current tables of Chado make this difficult to represent. One example is the Plant Trait Ontology (TO). Many of it's terms come from GO, CHEBI and BFO. I'm working on improvements to the Tripal OBO loader to deal with this and I do not know how we should store these.

Consider the case where a GO term is used in the TO. How do I represent that term?

Option 1: Create a new cvterm that duplicates the original GO Term. Problems:

  • If the term changes in the GO then the two records get out of sync.
  • This does not accurately reflect the fact that the term belongs to the GO and not the TO. It's just being borrowed.
  • This option forces me to add a dbxref record, and following the foreign keys all the way to the db will lead me to the TO record in the db table. This has the wrong URL and URLprefix for a GO term.

Option 2: Use the original cvterm from the GO. This seems like the correct way to go.... but:

  • The relationships for this term may not be the same in the borrowing vocabulary. We cannot represent a new set of relationships that are different from those already created. (e.g. those created by the GO and distinguish those as belonging to the TO).
  • If we do not physically add a record to the cvterm table than many existing tools that expect to find all terms for a vocabulary in the cvterm table won't find these borrowed terms.
  • If a borrowed term serves as a root term in the vocabulary how can tools determine that it serves as a root because the cvterm table has a cv_id that points to the owning ontology.

I don't yet have a solution for this but if I can come up with one I'll post it here.

spficklin avatar Sep 04 '18 00:09 spficklin