Search Mailing List Archives
[bioontology-support] Bioportal Rest API - Term search results
jgraybeal at stanford.edu
Fri Nov 20 19:08:36 PST 2020
Unfortunately, it's likely that what you are seeing is caused by different ontologies being built in different ways, for different purposes, and with different levels of rigor. Some of them may be more suitable for your needs than others, and it is possible to restrict your searches to particular ontologies that are suitable, as described in the API documentation (at the top of the page, the table that lists parameters that apply to all commands).
For example, whether a CUI is found for a particular term is a function of (a) whether the developers of the CUI system, or of the ontology, have performed a CUI mapping for the terms in their ontology, and (b) whether there is in fact a CUI match for a particular concept. The lack of rigor is reflected in those ontologies that might have two CUI terms for the same entity, though that's pretty rare—it just reflects the lack of precision in the concepts and/or the mappings.
Each ontology has defined its annotations differently, so some will not have a notation field. In some cases you might have to ask for it explicitly, in case you aren't doing that (see this email thread: http://ncbo-support.2288202.n4.nabble.com/Re-bioontology-support-EXTERNAL-Re-Access-Code-Notations-via-REST-API-td4657939.html#a4657942). PrefLabel is similarly not always specified. This thread may be useful to understand the range of possibilities you might be facing, and how BioPortal manages these options: http://ncbo-support.2288202.n4.nabble.com/bioontology-support-Need-help-for-CPT-Ontology-td4657438.html#a4657441 .
You specify the term 'code value' in your questions, but I don't really know how your application is defining or using this concept, so I am unable to recommend an approach to (1) or (3). Similarly the answer to (2) is a function of what you need, and how the ontologies have defined these attributes. Typically CUI means 'the CUI term to which this term can be mapped', but I don't know that notation has a single meaning across all ontologies.
It may be that a strategy that involves search for the properties in each ontology, as described in the last link two paragraphs above, will help you learn what attributes *may* be served by what ontologies. But to really understand how you should use that information, you will have to visit the documentation for each ontology, and rely on its descriptions of what it provides in the way of annotations. (In the case of UMLS ontologies, this is complicated by the existence of the UMLS database format/specifications, which delineate how *it* captures the information for that ontology. We try to consistently map UMLS usage to common terms in BioPortal, so that should be fairly consistent.)
I'm sorry this is very complicated, but I believe the complication stems from the many ontology sources your users may see. You may be better off to select a narrower range of ontologies to match users terms, and then you will be able to make your decisions around the specific practices of those ontologies.
In this question—'For instance, result we get for “lung” from NCIT includes a “prefLabel” attribute, which can be used for “Preferred Name,” but I don’t see any unique code value. However, in the screenshot below, there is one.'—I couldn't understand how you were 'getting a result for lung from NCIT'. If it is from the API, possibly the first link above may help you understand how to get more of the annotations by using the display parameter.
Feel free to follow up with any questions about what I have written above, I may not have been perfectly clear in describing my understanding.
On Nov 20, 2020, at 5:53 PM, Ozge Yurtsever <ozge at stanford.edu<mailto:ozge at stanford.edu>> wrote:
We are using Bioportal Rest API for one of the WEB applications that we are currently building. This application is going to be the new version of ATB (Aim Template Builder).
In the current ATB, to save a term user does a search in Bioportal and copies the fields I marked red on the screenshot below manually. If the user has dozens of terms to search, creating a template may become a tedious task. Therefore, we wanted to make search and select easier by showing the search results in our web application and copying the necessary information for users with one click.
We are using Bioportal Rest API to search terms and list the results, so when a user clicks on an item, we can copy the information. However, data attributes may be different for different ontologies. For instance, result we get for “lung” from NCIT includes a “prefLabel” attribute, which can be used for “Preferred Name,” but I don’t see any unique code value. However, in the screenshot below, there is one.
On the other hand, there are some results with both cui and notation attributes like OMIM - Online Mendelian Inheritance in Man.
Our issue regarding getting the correct and unique code value of a term arises in the following cases:
1. If there are both notation and cui, which info should we use for code value?
2. If there are more than one cui and no notation, how should we decide which one to use?
3. If there isn’t any code value at all, from which attribute we can acquire the correct code value? (Like NCIT example)
Software Developer – ePAD team
Stanford University Department of Biomedical Data Science
Technical Program Manager
Center for Expanded Data Annotation and Retrieval /+/ NCBO BioPortal
Stanford Center for Biomedical Informatics Research
650-736-1632 | ORCID 0000-0001-6875-5360
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the bioontology-support