Comments (3)
@mdorf - do I understand correctly that the OBO IDs Matthew refers to are found in the "notation" field in our REST API?
For example, given the following REST call:
... I noticed that some of the notation fields are the same as the preferred label, whereas other notation fields resemble the {ontology_acronym}:{term_id}
format:
"collection": [
{
"prefLabel": "melanoma",
"notation": "melanoma",
"@id": "http://www.gamuts.net/entity#melanoma",
"@type": "http://www.w3.org/2002/07/owl#Class"
},
{
"prefLabel": "melanoma",
"notation": "DOID:1909",
"@id": "http://purl.obolibrary.org/obo/DOID_1909",
"@type": "http://www.w3.org/2002/07/owl#Class"
},
from bioportal_web_ui.
@jvendetti, the notation
field is constructed during the OWL API processing phase. At that time, either the notation
property OR the prefixIRI
property gets added to each class (unless the actual notation
property already natively exists within the ontology, in which case, that value is preserved). At the indexing phase, we add the value of either the notation
or the prefixIRI
attribute to the notation
field in the index. The oboID
field is a separate attribute, which is ONLY used in search. It exists in the index schema and gets populated using the logic referred to here:
bmir-radx/radx-project#46 (comment)
and here:
bmir-radx/radx-project#46 (comment)
In some cases, the oboID
matches the value of the notation
but not universally.
from bioportal_web_ui.
@mdorf - thanks for the reply. I know about the initial processing step where we ensure that all classes coming into BioPortal have either a skos:notation
or prefixIRI
property.
I think what I was trying to ask is whether the OBO IDs that Matthew refers to are surfaced by the REST API so that clients like the Rails application could display them. Assuming I understood what you said above, it sounds like the OBO IDs only exist as field values in solr's index schema?
For example - if I execute a term search using an OBO ID like NCIT:C20047
, I get results back from the REST API. But if I look at the classes in the JSON result set, there's nothing there to indicate if they have associated OBO IDs:
{
"prefLabel": "Diagnostic or Prognostic Factor",
"synonym": [
"Diagnostic or Prognostic Factor"
],
"definition": [
"A characteristic of an organism that contributes to the diagnosis or treatment of a disease or to the prediction of clinical outcomes."
],
"obsolete": false,
"ontologyType": "ONTOLOGY",
"provisional": false,
"@id": "http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#C20047",
"@type": "http://www.w3.org/2002/07/owl#Class"
},
{
"prefLabel": "Diagnostic or Prognostic Factor",
"definition": [
"A characteristic of an organism that contributes to the diagnosis or treatment of a disease or to the prediction of clinical outcomes."
],
"obsolete": false,
"matchType": "notation",
"ontologyType": "ONTOLOGY",
"provisional": false,
"@id": "http://purl.obolibrary.org/obo/NCIT_C20047",
"@type": "http://www.w3.org/2002/07/owl#Class"
},
I tried modifying the REST call to use the include
parameter to return notation
values, but this has a side effect of modifying the makeup of the returned JSON. Keys like obsolete
are eliminated, which the Rails application makes use of to alter the display of obsolete classes:
{
"prefLabel": "Diagnostic or Prognostic Factor",
"synonym": [
"Diagnostic or Prognostic Factor"
],
"definition": [
"A characteristic of an organism that contributes to the diagnosis or treatment of a disease or to the prediction of clinical outcomes."
],
"notation": "Thesaurus:C20047",
"@id": "http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#C20047",
"@type": "http://www.w3.org/2002/07/owl#Class"
},
{
"prefLabel": "Diagnostic or Prognostic Factor",
"definition": [
"A characteristic of an organism that contributes to the diagnosis or treatment of a disease or to the prediction of clinical outcomes."
],
"notation": "NCIT:C20047",
"@id": "http://purl.obolibrary.org/obo/NCIT_C20047",
"@type": "http://www.w3.org/2002/07/owl#Class"
},
And currently there is no possibility to adjust the include
parameter to get everything required:
"errors": [
"The `include` query string parameter cannot accept obsolete, please use only prefLabel, synonym, definition, notation, cui, semanticType, properties"
],
"status": 400
from bioportal_web_ui.
Related Issues (20)
- apache-mod-passenger and base64 v0.1.1+ gem conflict
- Enlarge search result text size in the "Find an ontology" text box HOT 1
- Upgrade to Rails 7.0 HOT 1
- Subscribe to notes emails button should redirect to login for anonymous users HOT 1
- Login as functionality fails for users with '@' symbols in the username
- Subscribing to notes emails fails for users with '@' symbols in the username
- Move GA measurement ID out of encrypted credentials
- category list on the browse ontologies page displays some of the list items as ...
- Implement subscribing to ontology update notification HOT 14
- Remove / retire OntoloBridge term request integration
- /notes/<note_id> page doesn't work as expected HOT 4
- Add a natural language selector to the ontology submission form HOT 4
- Migrate from Select2 and Chosen to tom-select HOT 3
- Add fields to the sign up page for GitHub and ORCID IDs
- Add UI support for regenerating API keys
- Upgrade from MySQL 5.7 to the 8.0 series HOT 2
- Add UI support for multi-lingual features HOT 2
- Improve NaturalLanguage selector for better usability
- Bundle install fails on Apple M2 for the iconv gem HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bioportal_web_ui.