biothings / biothings_explorer_archived

BioThings Explorer: a schema-based client for API interoperability
Apache License 2.0
14 stars 14 forks source link

subclass queries #106

Open andrewsu opened 4 years ago

andrewsu commented 4 years ago

There is an interesting scenario raised in https://github.com/NCATS-Tangerine/NCATS-ReasonerStdAPI/issues/66. The issue deals with a more general question, but the specific example used relates to subclass relationships:

Let's say the query is "Which symptoms are associated with malaria?" This might be translated to DOID:12365 -> has_phenotype -> "phenotypic_feature"s? Let's then suppose that my KG just has DOID:12365 as a bland parent term for several types of malaria, but doesn't actually have phenotypes associated with it. But its child term cerebral malaria does.

That ticket is written from the perspective of how a KP should handle such a query, but in the BTE / SmartAPI ecosystem, it seems that this should be handled from the BTE side. Potentially this could be implemented as query expansion (multiple API queries including all children) on the KP when a expand_subclasses flag is set in the BTE configuration. Not set on this solution, but seems like one workable option.

Also note that it seems like ontologies only apply to a subset of the semantic types handled by BTE / BioLink Model: Diseases (Disease Ontology, MONDO), Phenotypic Features (HPO), BP / MF / CC (Gene Ontology), Anatomical Entity (UBERON). Seems like this won't apply to Genes, Proteins, Chemicals, etc...

Anyway, creating this ticket to capture discussion and other proposed solutions...

andrewsu commented 3 years ago

also applies to predicates. More discussion in https://github.com/NCATSTranslator/TranslatorArchitecture/discussions/25