ontodev / robot

ROBOT is an OBO Tool
http://robot.obolibrary.org
BSD 3-Clause "New" or "Revised" License
264 stars 74 forks source link

Consider removing IAO:0000118 'alternative label' from ROBOT checks for exact synonyms #1149

Open jamesaoverton opened 1 year ago

jamesaoverton commented 1 year ago

On the OBI call today we were looking at ROBOT report results for OBI in the OBO Dashboard: http://dashboard.obofoundry.org/dashboard/obi/robot_report.html

The ROBOT report checks for 'duplicate_exact_synonym' and 'duplicate_label_synonym' treat IAO 'alternative label' and OIO 'hasExactSynonym' as the same, which was my view about things. OBI only uses 'alternative label'. However:

  1. @bpeters42 has persuaded me OBI did not intent to treat 'alternative label' the same as 'hasExactSynonym', and
  2. the OMO tree has 'alternative label' as a superproperty of 'hasExactSynonym'

So I propose that we remove IAO:0000118 from these two ROBOT report checks -- they should just be checking 'hasEaxactSynonym'.

Not sure if relaxing this rule will cause problems for other projects. Thoughts? Particularly from @matentzn @cmungall @zhengj2007.

zhengj2007 commented 1 year ago

Hi @jamesaoverton, @bpeters42 is correct. IAO 'alternative label' is not restricted to exact synonym. IAO:0000118 original refers to equivalent class (exact synonym). However, it is not used that way in many ontologies. That's why the label and definition of IAO:0000118 changed few years ago (label: alternative term -> alternative label).

I still like to keep two checks in the Robot report. In an ontology, I don't think it is good to have a label used as both a label for one term and a synonym for another term in one ontology. It causes confusing. So, having 'duplicate_label_synonym' check with a WARN message is good for an ontology developer to notice the issue and fix it. For 'duplicate_exact_synonym' check, I think it provides useful information. For example, Robot report indicates OccO contains many duplicate synonyms. By checking the OccO, OccO developers found the synonyms were added to both parent and child terms and they would like to clean it up. Since IAO:0000118 is not exact_synonym, ROBOT may change the message to 'duplicate synonym' and set as 'Info' rather 'Warn'.

However, I am fine if you decide to remove the checks from the ROBOT report since they are not associated with any OBO principles.