ncbo / bioportal_web_ui

A Rails application for biological ontologies
http://bioportal.bioontology.org/
Other
21 stars 2 forks source link

Reevaluate algorithm for display of search results on Search page #101

Open jvendetti opened 5 years ago

jvendetti commented 5 years ago

When creating new ontologies, it's not uncommon for ontology authors to reuse terms from other ontologies. BioPortal has a number of ontologies that contain terms with identical IDs. For example, the term "melanoma" with ID "http://purl.obolibrary.org/obo/DOID_1909" exists in the DOID ontology, as well as in a number of other ontologies (BAO, NIFSTD, DTO, etc.).

Current thinking in the BioPortal and CEDAR projects is that determining which ontology is the canonical source for a given term is a non-trivial issue. Full discussion available here: https://github.com/metadatacenter/cedar-template-editor/issues/555.

Contrary to the above statement, the JavaScript code for displaying search results in BioPortal does indeed have an algorithm that attempts to determine the "owner ontology". In particular, see the aggregateResultsWithSubordinateOntologies method that chooses an ontology most likely to be the owner ontology, then groups all other results as instances of term reuse.

The body of JavaScript for displaying search results and determining owner ontologies for terms was written by staff members no longer at Stanford. It would be worthwhile to set aside time (at some point) to allow current staff to come up to speed with this code and evaluate whether this algorithm produces an acceptable display of results.

Initial investigation into this code was prompted by the following exchange on the user support list. An end user pointed out a case where the ordering of search results returned from the REST API was different from the ordering presented in the BioPortal user interface.

jonquet commented 2 years ago

FYI we are also considering distinguishing reused/canonical terms in the hierarchy tree. See https://github.com/ontoportal-lirmm/bioportal_web_ui/issues/62