RTXteam / RTX-KG2

Build system for the RTX-KG2 biomedical knowledge graph, part of the ARAX reasoning system (https://github.com/RTXTeam/RTX)
MIT License
34 stars 9 forks source link

biolink:BiologicalEntity is now an abstract class? #286

Open saramsey opened 1 year ago

saramsey commented 1 year ago

Evidently biolink:BiologicalEntity has been turned into an abstract class. We need to verify this, and if so, make the necessary changes to curies-to-categories.yaml. Slated to be addressed in the KG2.8.4pre build.

ecwood commented 1 year ago

Here are the sources with biolink:BiologicalEntity categories:

n.provided_by count(n)
"['infores:umls']" 108175
"['infores:loinc-umls']" 30585
"['infores:reactome']" 26361
"['infores:foodon']" 18835
"['infores:mesh']" 4475
"['infores:chebi']" 999
"['infores:fma-umls']" 321
"['infores:pdq-umls']" 150
"['infores:umls-metathesaurus']" 145
"['infores:hpo']" 71
"['infores:ncit']" 58
"['infores:drugbank']" 27
"['infores:efo']" 25
"['infores:nddf-umls']" 20
"['infores:psy-umls']" 14
"['infores:vandf-umls']" 10
"['infores:atc-codes-umls']" 9
"['infores:genepio']" 3
"['infores:hl7-umls']" 1
ecwood commented 1 year ago

Here are all the abstract classes in Biolink v3.5.0: (not all are categories)

aggregate statistic
form or variant qualifier
aspect qualifier
derivative qualifier
part qualifier
context qualifier
direction qualifier
contributor
association slot
supporting study metadata
mapping collection
annotation
entity
administrative entity
study result
information content entity
biological entity
organismal entity
gene to gene association
sequence variant modulates treatment association
anatomical entity to anatomical entity association
organism taxon to organism taxon association
organism taxon to environment association

We are using more than just biolink:BiologicalEntity in KG2.8.3:

match (n) where n.category_label in ['aggregate_statistic', 'form_or_variant_qualifier', 'aspect_qualifier', 'derivative_qualifier', 'part_qualifier', 'context_qualifier', 'direction_qualifier', 'contributor', 'association_slot', 'supporting_study_metadata', 'mapping_collection', 'annotation', 'entity', 'administrative_entity', 'study_result', 'information_content_entity', 'biological_entity', 'organismal_entity', 'gene_to_gene_association', 'sequence_variant_modulates_treatment_association', 'anatomical_entity_to_anatomical_entity_association', 'organism_taxon_to_organism_taxon_association', 'organism_taxon_to_environment_association'] return n.provided_by, n.category, count(n) order by count(n) desc
n.provided_by n.category count(n)
"['infores:umls']" "biolink:BiologicalEntity" 108175
"['infores:umls']" "biolink:InformationContentEntity" 36112
"['infores:loinc-umls']" "biolink:BiologicalEntity" 30585
"['infores:loinc-umls']" "biolink:InformationContentEntity" 29106
"['infores:reactome']" "biolink:BiologicalEntity" 26361
"['infores:foodon']" "biolink:BiologicalEntity" 18835
"['infores:ncit']" "biolink:InformationContentEntity" 14442
"['infores:efo']" "biolink:InformationContentEntity" 8159
"['infores:mesh']" "biolink:BiologicalEntity" 4475
"['infores:umls-metathesaurus']" "biolink:InformationContentEntity" 2085
"['infores:hl7-umls']" "biolink:InformationContentEntity" 1810
"['infores:mi']" "biolink:InformationContentEntity" 1533
"['infores:genepio']" "biolink:InformationContentEntity" 1289
"['infores:chebi']" "biolink:BiologicalEntity" 999
"['infores:psy-umls']" "biolink:InformationContentEntity" 997
"['infores:foodon']" "biolink:InformationContentEntity" 681
"['infores:biolink-ontology']" "biolink:InformationContentEntity" 497
"['infores:ro']" "biolink:InformationContentEntity" 481
"['infores:mesh']" "biolink:InformationContentEntity" 426
"['infores:fma-umls']" "biolink:InformationContentEntity" 378
"['infores:go-plus']" "biolink:InformationContentEntity" 348
"['infores:fma-umls']" "biolink:BiologicalEntity" 321
"['infores:pdq-umls']" "biolink:BiologicalEntity" 150
"['infores:umls-metathesaurus']" "biolink:BiologicalEntity" 145
"['infores:ino']" "biolink:InformationContentEntity" 125
"['infores:uberon']" "biolink:InformationContentEntity" 112
"['infores:mondo']" "biolink:InformationContentEntity" 102
"['infores:fma-obo']" "biolink:InformationContentEntity" 97
"['infores:hpo']" "biolink:BiologicalEntity" 71
"['infores:hpo']" "biolink:InformationContentEntity" 70
"['infores:ncit']" "biolink:BiologicalEntity" 58
"['infores:medlineplus']" "biolink:InformationContentEntity" 50
"['infores:rxnorm']" "biolink:InformationContentEntity" 50
"['infores:disease-ontology']" "biolink:InformationContentEntity" 41
"['infores:bspo']" "biolink:InformationContentEntity" 36
"['infores:pdq-umls']" "biolink:InformationContentEntity" 34
"['infores:pato']" "biolink:InformationContentEntity" 31
"['infores:drugbank']" "biolink:BiologicalEntity" 27
"['infores:hgnc']" "biolink:InformationContentEntity" 27
"['infores:chebi']" "biolink:InformationContentEntity" 27
"['infores:go']" "biolink:InformationContentEntity" 25
"['infores:efo']" "biolink:BiologicalEntity" 25
"['infores:medrt-umls']" "biolink:InformationContentEntity" 24
"['infores:nddf-umls']" "biolink:BiologicalEntity" 20
"['infores:vandf-umls']" "biolink:InformationContentEntity" 20
"['infores:hcp-codes-umls']" "biolink:InformationContentEntity" 19
"['infores:ncbi-taxon']" "biolink:InformationContentEntity" 17
"['infores:bfo']" "biolink:InformationContentEntity" 15
"['infores:pr']" "biolink:InformationContentEntity" 15
"['infores:psy-umls']" "biolink:BiologicalEntity" 14
"['infores:icd9cm-umls']" "biolink:InformationContentEntity" 12
"['infores:vandf-umls']" "biolink:BiologicalEntity" 10
"['infores:atc-codes-umls']" "biolink:BiologicalEntity" 9
"['infores:cl']" "biolink:InformationContentEntity" 8
"['infores:nddf-umls']" "biolink:InformationContentEntity" 7
"['infores:ordo']" "biolink:InformationContentEntity" 6
"['infores:atc-codes-umls']" "biolink:InformationContentEntity" 3
"['infores:nbo']" "biolink:InformationContentEntity" 3
"['infores:genepio']" "biolink:BiologicalEntity" 3
"['infores:drugbank']" "biolink:InformationContentEntity" 2
"['infores:icd10pcs-umls']" "biolink:InformationContentEntity" 2
"['infores:hl7-umls']" "biolink:BiologicalEntity" 1
"['infores:mesh']" "biolink:OrganismalEntity" 1
ecwood commented 1 year ago

Apparently biolink:BiologicalEntity has been an abstract class for five years: image

This was done as part of https://github.com/biolink/biolink-model/pull/552 (with commit https://github.com/biolink/biolink-model/commit/f40b4a72e6a41fbee9bb856d03f51a608b31b03a#diff-7d3492c4d387de52ea819557b6f2c23f2a79ab9e650f5422777548c3c4acb9a8R294). Given that abstract entity was (around that time) defined as

       Any thing that is not a process or a physical mass-bearing entity

I am not sure how this makes sense.

ecwood commented 1 year ago

@saramsey How should we handle that some semantic types are mapped directly to these abstract classes? I feel like this is going to throw the validator in a tricky place.

ecwood commented 1 year ago

The biggest problem that I see here is that some semantic types, which we rely on in KG2 pretty heavily, remain mapped to biological entity. So, if we change them to a non-abstract class, the validator is going to throw errors with that mismatch. However, the validator from https://github.com/RTXteam/RTX/issues/2046 is currently throwing errors. I am not sure how to handle this inconsistency.

Here are the mappings:

  biological entity:
    is_a: named thing
    aliases: ['bioentity']
    abstract: true
    mixins:
      - thing with taxon
    narrow_mappings:
      - WIKIDATA:Q28845870
       # UMLS Semantic Type "Experimental Model of Disease"
      - STY:T050
       # SIO term is 'biological entity' but less inclusive than the Biolink scope
      - SIO:010046
      - STY:T129  # (imft, full name: Immunologic Factor
ecwood commented 1 year ago

I reached out to Sierra Moxon and we have had a lengthy discussion about how to handle this. @saramsey Do you have any thoughts on the "I will ask Steve" parts?

Me:

Hi Sierra, thank you for getting biolink 3.5.0 out! We are currently working on upgrading. In doing this, we have found ourselves wrestling with how to map a seeming contradiction in the biolink model (albeit a very old one we didn't notice until now). (We've documented it here, with this comment particularly describing our confusion). Essentially, we have learned that we shouldn't be using biolink:BiologicalEntity as a category for our nodes since it is an abstract class. However, we use the semantic type codes that are mapped to biological entity , and our existing validation tools will throw an error if we remap them to something that doesn't line up with their biolink mapping. While we could just add an exception to our validator, that doesn't feel quite right. Is there a route (keep biological entity or remove biological entity) that is correct? Thank you!

Sierra:

Yeah I can see how that would be a problem; to me, the easiest way to handle this is to make this a validator warning rather than an error. You're not wrong to use mappings like this it seems like a good way to automate big loads without curating down to more specific types, and also the mappings themselves in the model aren't inherently wrong, but the two slightly different use cases would lead to a conflict. If those mapping just disappeared from Biolink all together, we'd have a third problem right? Would RTX-KG2 just drop those possible edges?

Me:

If those mappings disappeared from Biolink all together, RTX-KG2 wouldn't drop anything (these are nodes, not edges, but it's irrelevant). When Biolink doesn't have a mapping, the mapping in our own set of mappings (which is what we validate against the Biolink model) would kick in without verification. The reason we use these mappings this way is so that, in UMLS, we can easily and systematically map categories to the nodes, specifically within the hierarchical structure. And, if those mappings weren't in Biolink, we would change the mappings within our own set to a non-abstract class.

Sierra:

yeah sorry, I wasn't explicit with my last sentence: I meant that lost nodes (b/c of no category assignment) could results in lost edges in the KG.

Me:

No problem, that makes sense!

Sierra:

ok so if these narrow mappings in biolink on the abstract class were removed, then you would add the ids that used to be represented there (in the narrow mappings) to your own set of mappings and assign more specific classes in that mapping file directly?

Me:

Yes

Sierra:

And you prefer to keep Biolink the source of truth, but not put your mappings back into biolink, instead just use them when biolink does not have a mapping? (my thinking for that is that you could always override biolink with your specific mapping file instead)

Me:

As far as I know, yes. Steve would probably be the better source for answering that question though. For the most part (I could get a number if that would be helpful), all of our mappings are already in biolink. I believe part of the original intention of this design was to ensure that we would know when specific mappings had changed and how it would impact our system specifically.

Sierra:

ok - and do you use any kind of biolink mapping? (it seems so from this example). my question is around if you disambiguate mappings in biolink's "exact_mappings" metamodel component vs. "narrow_mappings" vs. "related_mappings" etc.

Me:

As far as I know, we treat all mappings the same

Sierra:

I could probably remove them from the model - are you ok with using biolink 3.5.1 release? I probably can't make new narrower classes where these mappings could be "exact" mappings before September. This one

SIO:010046

probably has to stay a narrow mapping tho... What if you just looked at biolink for "exact" mappings instead of the rest of the types? let me think on it for a bit.

Me:

SIO:010046 shouldn't impact us. We are definitely okay with using biolink 3.5.1. Regarding just looking at "exact" mappings, I will talk to Steve about it, but I am slightly concerned that will cause us to miss things in the future. Thank you!

acevedol commented 1 year ago

Thank you @ecwood for reviewing this case with Sierra. Do you want to go through updating curies-to-categories.yaml together? Also is that something that can be done before 3.5.1 since we are just looking for closer mappings?

ecwood commented 12 months ago

I'm concerned about the level of specificity we can reach without biolink:BiologicalEntity. Many of the nodes underneath do no fit neatly into a category below bioink:BiologicalEntity. However, since the only category above it is biolink:NamedThing, we will be effectively losing those nodes. I think the best option here is to make biolink:BiologicalEntity a non-abstract category. I am unclear what benefits we gain from leaving it as an abstract class. With it, like biolink:InformationContentEntity, as an abstract class, this simply routes every category under biolink:BiologicalEntity to being a direct subclass of biolink:NamedThing. Is this really the best option?

Here are the nodes that curies-to-categories.yaml is labeling biolink:BiologicalEntity: (keep in mind the nodes underneath these will also receive these labels)

I'm particularly concerned about cases like "Gene or Genome" and "biological role" which are somewhat, but not completely, vague. "Gene or Genome" would fall neatly into "genomic entity" (and "biological role" into "biological role") but unfortunately these are mixins.

match (n) where n.id in ["CHEBI:24432", "FMA:63887", "FMA:87205", "FMA:85620", "FOODON:00002403", "MESH:D019602", "MPATH:0", "STY:T028", "STY:T050", "STY:T085", "STY:T088", "STY:T129", "WIKIDATA:Q28845870"] return n.id, n.name, n.description order by n.id
n.id n.name n.description
"CHEBI:24432" "biological role" "A role played by the molecular entity or part thereof within a biological context."
"FMA:63887" "Biological macromolecule" "Anatomical structure, each instance of which has as its parts one or more ordered aggregates of some nucleotide, amino acid fatty acid or sugar molecules bonded to one another. Examples: collagen, DNA, neurotransmitter receptor, troponin.; Anatomical structure which has as its parts one or more ordered aggregates of nucleotide, amino acid fatty acid or sugar molecules bonded to one another. Examples: collagen, DNA, neurotransmitter, troponin.; UMLS Semantic Type: STY:T167"
"FMA:85620" "Biological molecular complex" "Anatomical structure which consists of biological molecules held together by intermolecular bonds (ionic interaction, hydrogen bond, dipole- dipole interaction, London dispersion force) other than covalent bond.; UMLS Semantic Type: STY:T170"
"FMA:87205" "Biological molecule" "Anatomical structure which consists of two or more atoms held together by a covalent bond.; UMLS Semantic Type: STY:T170"
"FOODON:00002403" "food material" "Any substance that can be consumed by an organism to satisfy nutritional or other health needs, or to provide a social or organoleptic food experience"
"MESH:D019602" "Food and Beverages" "Edible or potable substances.; UMLS Semantic Type: STY:T168"
"MPATH:0" "pathological entity" "Pathological structure or process"
"STY:T028" "Gene or Genome" null
"STY:T050" "Experimental Model of Disease" null
"STY:T085" "Molecular Sequence" null
"STY:T088" "Carbohydrate Sequence" null
"STY:T129" "Immunologic Factor" null

Here are the nodes that curies-to-categories.yaml is labeling biolink:InformationContentEntity:

match (n) where n.id in ["owl:topObjectProperty", "FMA:85802", "HP:0032443", "NCIT:C20189", "SNOMED:246061005", "SNOMED:419891008", "SNOMED:900000000000441003", "STY:T077", "STY:T078", "STY:T079", "STY:T080", "STY:T081", "STY:T082", "STY:T089", "STY:T102", "STY:T169", "STY:T171", "STY:T185"] return n.id, n.name, n.description order by n.id
n.id n.name n.description
"FMA:85802" "FMA attribute entity" "UMLS Semantic Type: STY:T170"
"HP:0032443" "Past medical history" "In a medical encounter, the physician generally will interview the patient about his or her current problem, and may perform additional testing. The past medical history (PMH) in contrast records information about the patient's medical, personal and family history that might be relevant to the presenting illness or to provide optimal clinical management. The PMH generally includes (if relevant) other major illnesses, hospitalizations, surgeries, injuries, allergies, gynecologic and obstetric history, family history, personal history including occupational history, alcohol and drug use, etc. []; In a medical encounter, the physician generally will interview the patient about his or her current problem, and may perform additional testing. The past medical history (PMH) in contrast records information about the patient's medical, personal and family history that might be relevant to the presenting illness or to provide optimal clinical management. The PMH generally includes (if relevant) other major illnesses, hospitalizations, surgeries, injuries, allergies, gynecologic and obstetric history, family history, personal history including occupational history, alcohol and drug use, etc.; UMLS Semantic Type: STY:T033"
"NCIT:C20189" "Property or Attribute" "A distinguishing quality or prominent aspect of a person, object, action, process, or substance.; UMLS Semantic Type: STY:T077"
"STY:T077" "Conceptual Entity" null
"STY:T078" "Idea or Concept" null
"STY:T079" "Temporal Concept" null
"STY:T080" "Qualitative Concept" null
"STY:T081" "Quantitative Concept" null
"STY:T082" "Spatial Concept" null
"STY:T089" "Regulation or Law" null
"STY:T102" "Group Attribute" null
"STY:T169" "Functional Concept" null
"STY:T171" "Language" null
"STY:T185" "Classification" null
"owl:topObjectProperty" null null
acevedol commented 12 months ago

From reading this, I realize I don't understand what mixins are supposed to do in the biolink model and if they're something that we really should be using in order to correctly map some of these curies, like "Gene or Genome" as @ecwood pointed out.

acevedol commented 12 months ago

More information from Sierra Moxon: Me:

Hi Sierra, I have a few questions that I hoped you might be able to point me in the right direction to learn more about.

  1. Why would classes be abstract? I am working on remapping our curies-to-categories for Biological Entity and Information Content Entity, and don't understand what the abstract classification is trying to convey.
  2. Mixins? Should I be using mixins to correctly map nodes that belong to the abstract classes? If so, I don't understand how to incorporate mixins into RTX-KG2. Where can I look up how they should be used?

Sierra:

Usually in the model, abstract classes are grouping classes and/or provide a set of shared slots/attributes for use by all their more specific children. absolute best practice is that abstract classes shouldn't be used to categorize nodes/edges (there are also abstract slots/attributes/predicates), there should always be some child that is more specific... in practice, I'm not sure if this is possible at the moment. For example, when I look at the mappings (narrow_mappings) on Biological Entity, I don't have a more specific class to assign them to, and/or they really do belong on Biological Entity. Mixins are really helpful for modeling, but we try to use them sparingly because they basically introduce multiple inheritance to the model. For example, when we talk about whether a gene is a biological entity or a chemical entity, we get somewhat different answers if we talk to geneticists or chemists. The real answer is that it is both: a construct (not in the biological sense) used to talk about inherited traits and a physical thing (or its transcripts/proteins) that can be measured in expression/chemical interactions/protein folding/etc. So we have a series of mixins to help support both communities (in terms of hierarchical search, etc.)

e.g. the gene class has is_a parent biological entity -- but also has parents chemical entity or gene or gene product which is a mixin allowing searches for chemical entity to also return gene objects. similar to abstract classes, best practice is that mixins are not used for category assignments either (e.g. it would be weird to have a node labeled with chemical entity or gene or gene product) Sometimes mixins have another purpose, and that is to group shared slots/attributes (similar to abstract classes).

We can always change the model to better fit the data we have - the only complication with that is the short time frame for September, and the consortium trying to comply with a set version of biolink (3.5.0). the long answer to your question is that no (from a "best practice" approach - we should really consider loosening the validation error in this case for September), using abstract or mixin classes as node categories is not advised.

ecwood commented 12 months ago

I am curious how many nodes directly below these nodes are getting their class and if they seem like they could obviously be categorized differently (since their descendants would then also get that category), since these higher level nodes might have to be categorized with biolink:NamedThing. Here's the results (there's 137 distinct descendants in total, 116 of them with the category biolink:BiologicalEntity):

match (n)<-[e]-(m) where n.id in ["CHEBI:24432", "FMA:63887", "FMA:87205", "FMA:85620", "FOODON:00002403", "MESH:D019602", "MPATH:0", "STY:T028", "STY:T050", "STY:T085", "STY:T088", "STY:T129", "WIKIDATA:Q28845870"] and e.predicate="biolink:subclass_of" return distinct n.id, n.name, m.id, m.category, m.name order by n.id
n.id n.name m.id m.category m.name
"CHEBI:24432" "biological role" "CHEBI:52211" "biolink:BiologicalEntity" "physiological role"
"CHEBI:24432" "biological role" "CHEBI:59132" "biolink:BiologicalEntity" "antigen"
"CHEBI:24432" "biological role" "CHEBI:33281" "biolink:BiologicalEntity" "antimicrobial agent"
"CHEBI:24432" "biological role" "CHEBI:39317" "biolink:BiologicalEntity" "growth regulator"
"CHEBI:24432" "biological role" "CHEBI:64909" "biolink:BiologicalEntity" "poison"
"CHEBI:24432" "biological role" "CHEBI:35222" "biolink:BiologicalEntity" "inhibitor"
"CHEBI:24432" "biological role" "CHEBI:52210" "biolink:BiologicalEntity" "pharmacological role"
"CHEBI:24432" "biological role" "CHEBI:52208" "biolink:BiologicalEntity" "biophysical role"
"CHEBI:24432" "biological role" "CHEBI:52206" "biolink:BiologicalEntity" "biochemical role"
"CHEBI:24432" "biological role" "CHEBI:52209" "biolink:BiologicalEntity" "aetiopathogenetic role"
"CHEBI:24432" "biological role" "CHEBI:50846" "biolink:Drug" "immunomodulator"
"CHEBI:24432" "biological role" "CHEBI:33280" "biolink:BiologicalEntity" "molecular messenger"
"CHEBI:24432" "biological role" "CHEBI:35703" "biolink:BiologicalEntity" "xenobiotic"
"CHEBI:24432" "biological role" "CHEBI:53000" "biolink:BiologicalEntity" "epitope"
"CHEBI:24432" "biological role" "CHEBI:59174" "biolink:BiologicalEntity" "hapten"
"CHEBI:24432" "biological role" "CHEBI:52290" "biolink:BiologicalEntity" "mitogen"
"CHEBI:24432" "biological role" "CHEBI:25728" "biolink:BiologicalEntity" "osmolyte"
"CHEBI:24432" "biological role" "CHEBI:26155" "biolink:BiologicalEntity" "plant growth regulator"
"CHEBI:24432" "biological role" "CHEBI:26130" "biolink:AnatomicalEntity" "biological pigment"
"CHEBI:24432" "biological role" "CHEBI:48561" "biolink:Drug" "dopaminergic antagonist"
"CHEBI:24432" "biological role" "CHEBI:37887" "biolink:Drug" "adrenergic antagonist"
"CHEBI:24432" "biological role" "EFO:0000532" "biolink:BiologicalEntity" "host"
"CHEBI:24432" "biological role" "CHEBI:22986" "biolink:BiologicalEntity" "calcium ionophore"
"CHEBI:24432" "biological role" "CHEBI:23366" "biolink:BiologicalEntity" "compatible osmolytes"
"CHEBI:24432" "biological role" "EFO:0000523" "biolink:BiologicalEntity" "growth condition"
"CHEBI:24432" "biological role" "CHEBI:35221" "biolink:BiologicalEntity" "antimetabolite"
"CHEBI:24432" "biological role" "CHEBI:23354" "biolink:BiologicalEntity" "coenzyme"
"CHEBI:24432" "biological role" "EFO:0001824" "biolink:BiologicalEntity" "hormone role"
"CHEBI:24432" "biological role" "EFO:0000643" "biolink:BiologicalEntity" "pathogen"
"CHEBI:24432" "biological role" "CHEBI:51065" "biolink:Drug" "dopamine agonist"
"CHEBI:24432" "biological role" "CHEBI:35481" "biolink:Drug" "non-narcotic analgesic"
"CHEBI:24432" "biological role" "CHEBI:35482" "biolink:Drug" "opioid analgesic"
"CHEBI:24432" "biological role" "CHEBI:37956" "biolink:Drug" "histamine antagonist"
"CHEBI:24432" "biological role" "CHEBI:50505" "biolink:ChemicalMixture" "sweetening agent"
"CHEBI:24432" "biological role" "CHEBI:50792" "biolink:Drug" "estrogen receptor antagonist"
"CHEBI:24432" "biological role" "CHEBI:38215" "biolink:BiologicalEntity" "calcium channel blocker"
"CHEBI:24432" "biological role" "EFO:0003787" "biolink:BiologicalEntity" "cytokine role"
"CHEBI:24432" "biological role" "CHEBI:24621" "biolink:BiologicalEntity" "hormone"
"CHEBI:24432" "biological role" "CHEBI:48873" "biolink:Drug" "cholinergic antagonist"
"CHEBI:24432" "biological role" "CHEBI:35569" "biolink:Drug" "alpha-adrenergic agonist"
"CHEBI:24432" "biological role" "CHEBI:50864" "biolink:Drug" "insulin-sensitizing drug"
"CHEBI:24432" "biological role" "CHEBI:35522" "biolink:Drug" "beta-adrenergic agonist"
"CHEBI:24432" "biological role" "CHEBI:25212" "biolink:SmallMolecule" "metabolite"
"CHEBI:24432" "biological role" "EFO:0004367" "biolink:BiologicalEntity" "induces sterile inflammation"
"CHEBI:24432" "biological role" "CHEBI:35640" "biolink:Drug" "adrenergic uptake inhibitor"
"CHEBI:24432" "biological role" "CHEBI:25435" "biolink:BiologicalEntity" "mutagen"
"CHEBI:24432" "biological role" "CHEBI:48278" "biolink:Drug" "serotonergic drug"
"CHEBI:24432" "biological role" "CHEBI:35705" "biolink:Drug" "immunosuppressive agent"
"CHEBI:24432" "biological role" "CHEBI:50904" "biolink:BiologicalEntity" "allergen"
"CHEBI:24432" "biological role" "EFO:0001674" "biolink:BiologicalEntity" "placebo"
"CHEBI:24432" "biological role" "CHEBI:50103" "biolink:Drug" "excitatory amino acid agonist"
"CHEBI:24432" "biological role" "CHEBI:39116" "biolink:BiologicalEntity" "pyrethroid ester insecticide"
"CHEBI:24432" "biological role" "CHEBI:50188" "biolink:BiologicalEntity" "provitamin"
"CHEBI:24432" "biological role" "CHEBI:24850" "biolink:BiologicalEntity" "insect attractant"
"CHEBI:24432" "biological role" "CHEBI:68509" "biolink:BiologicalEntity" "glutathione depleting agent"
"CHEBI:24432" "biological role" "CHEBI:140399" "biolink:BiologicalEntity" "specialised pro-resolving mediator"
"CHEBI:24432" "biological role" "CHEBI:71212" "biolink:BiologicalEntity" "prohormone"
"CHEBI:24432" "biological role" "CHEBI:76219" "biolink:BiologicalEntity" "fluorogen"
"CHEBI:24432" "biological role" "CHEBI:25573" "biolink:BiologicalEntity" "nodulation factor"
"CHEBI:24432" "biological role" "CHEBI:53337" "biolink:BiologicalEntity" "tissue adhesive"
"CHEBI:24432" "biological role" "CHEBI:63923" "biolink:BiologicalEntity" "sclerotherapy agent"
"CHEBI:24432" "biological role" "CHEBI:60218" "biolink:BiologicalEntity" "mimotope"
"CHEBI:24432" "biological role" "CHEBI:73623" "biolink:BiologicalEntity" "tolerogen"
"CHEBI:24432" "biological role" "CHEBI:50913" "biolink:BiologicalEntity" "fixative"
"CHEBI:24432" "biological role" "CHEBI:190286" "biolink:BiologicalEntity" "ceramide mimetic"
"CHEBI:24432" "biological role" "CHEBI:64088" "biolink:BiologicalEntity" "incretin mimetic"
"CHEBI:24432" "biological role" "CHEBI:73190" "biolink:BiologicalEntity" "antimutagen"
"FMA:63887" "Biological macromolecule" "FMA:67095" "biolink:BiologicalEntity" "Ribonucleic Acid"
"FMA:63887" "Biological macromolecule" "FMA:62487" "biolink:BiologicalEntity" "Costamere"
"FMA:63887" "Biological macromolecule" "FMA:84762" "biolink:BiologicalEntity" "Ribonucleoprotein complex"
"FMA:63887" "Biological macromolecule" "FMA:84763" "biolink:BiologicalEntity" "Preribosome"
"FMA:63887" "Biological macromolecule" "FMA:67849" "biolink:BiologicalEntity" "Hydrophilic end of structural lipid molecule"
"FMA:63887" "Biological macromolecule" "FMA:67848" "biolink:BiologicalEntity" "Structural lipid molecule"
"FMA:63887" "Biological macromolecule" "FMA:67184" "biolink:BiologicalEntity" "Neurotransmitter receptor"
"FMA:63887" "Biological macromolecule" "FMA:84858" "biolink:BiologicalEntity" "Cluster of differentiation transmembrane protein"
"FMA:63887" "Biological macromolecule" "FMA:63890" "biolink:BiologicalEntity" "Intercellular matrix component"
"FMA:63887" "Biological macromolecule" "FMA:67161" "biolink:BiologicalEntity" "Biogenic amine"
"FMA:63887" "Biological macromolecule" "FMA:67160" "biolink:BiologicalEntity" "Hydrophobic end of structural lipid molecule"
"FMA:63887" "Biological macromolecule" "FMA:84088" "biolink:BiologicalEntity" "Major histocompatibility complex gene"
"FMA:63887" "Biological macromolecule" "FMA:74412" "biolink:BiologicalEntity" "Deoxyribonucleic acid"
"FMA:63887" "Biological macromolecule" "FMA:74402" "biolink:BiologicalEntity" "Structural gene"
"FMA:63887" "Biological macromolecule" "FMA:63846" "biolink:BiologicalEntity" "Cell pigment"
"FMA:63887" "Biological macromolecule" "FMA:67906" "biolink:BiologicalEntity" "Protein complex"
"FMA:63887" "Biological macromolecule" "FMA:67264" "biolink:BiologicalEntity" "Lipid"
"FMA:63887" "Biological macromolecule" "FMA:67257" "biolink:Protein" "Protein"
"FMA:63887" "Biological macromolecule" "FMA:84126" "biolink:BiologicalEntity" "RNA molecule"
"FMA:63887" "Biological macromolecule" "FMA:63169" "biolink:BiologicalEntity" "Lipoprotein"
"FMA:63887" "Biological macromolecule" "FMA:67229" "biolink:BiologicalEntity" "Microtubule doublet"
"FMA:63887" "Biological macromolecule" "FMA:67232" "biolink:BiologicalEntity" "Microtubule triplet"
"FMA:63887" "Biological macromolecule" "FMA:63011" "biolink:BiologicalEntity" "Glycosaminoglycan"
"FMA:63887" "Biological macromolecule" "FMA:84119" "biolink:BiologicalEntity" "DNA molecule region"
"FMA:63887" "Biological macromolecule" "FMA:82772" "biolink:BiologicalEntity" "Purine"
"FMA:63887" "Biological macromolecule" "FMA:82779" "biolink:BiologicalEntity" "Phospholipid"
"FMA:63887" "Biological macromolecule" "FMA:67589" "biolink:BiologicalEntity" "Luminal protein subunit"
"FMA:63887" "Biological macromolecule" "FMA:82773" "biolink:BiologicalEntity" "Pyrimidine"
"FMA:63887" "Biological macromolecule" "FMA:67591" "biolink:BiologicalEntity" "Ring protein subunit"
"FMA:63887" "Biological macromolecule" "FMA:62847" "biolink:BiologicalEntity" "Component of protein complex"
"FMA:63887" "Biological macromolecule" "FMA:82782" "biolink:BiologicalEntity" "Glycoconjugate"
"FMA:63887" "Biological macromolecule" "FMA:67588" "biolink:BiologicalEntity" "Column protein subunit"
"FMA:63887" "Biological macromolecule" "FMA:67586" "biolink:BiologicalEntity" "Annular protein subunit"
"FMA:63887" "Biological macromolecule" "FMA:67413" "biolink:BiologicalEntity" "Peripheral microtubule doublet of axoneme of cilium"
"FMA:63887" "Biological macromolecule" "FMA:67688" "biolink:BiologicalEntity" "Nucleoporin"
"FMA:63887" "Biological macromolecule" "FMA:82740" "biolink:BiologicalEntity" "Nucleotide"
"FMA:63887" "Biological macromolecule" "FMA:12278" "biolink:BiologicalEntity" "Hormone"
"FMA:63887" "Biological macromolecule" "FMA:82739" "biolink:BiologicalEntity" "Amino acid"
"FMA:63887" "Biological macromolecule" "FMA:82737" "biolink:BiologicalEntity" "Carbohydrate"
"FMA:63887" "Biological macromolecule" "FMA:82738" "biolink:BiologicalEntity" "Fatty acid"
"FMA:63887" "Biological macromolecule" "FMA:83347" "biolink:BiologicalEntity" "Biogenic peptide"
"FMA:63887" "Biological macromolecule" "FMA:326924" "biolink:BiologicalEntity" "Microtubule singlet"
"FMA:63887" "Biological macromolecule" "FMA:326893" "biolink:BiologicalEntity" "Cytoplasmic metabolite"
"FMA:63887" "Biological macromolecule" "FMA:326888" "biolink:BiologicalEntity" "Microfibril"
"FMA:63887" "Biological macromolecule" "FMA:302832" "biolink:BiologicalEntity" "Neurotransmitter"
"FMA:63887" "Biological macromolecule" "FMA:326995" "biolink:BiologicalEntity" "Collagen protofibril"
"FMA:63887" "Biological macromolecule" "FMA:326980" "biolink:BiologicalEntity" "Intracellular ferritin"
"FMA:63887" "Biological macromolecule" "FMA:326969" "biolink:BiologicalEntity" "Membrane receptor"
"FOODON:00002403" "food material" "ENVO:02000047" "biolink:BiologicalEntity" "animal feed"
"FOODON:00002403" "food material" "ENVO:02000055" "biolink:BiologicalEntity" "plant feed"
"FOODON:00002403" "food material" "FOODON:00001714" "biolink:BiologicalEntity" "food product component"
"FOODON:00002403" "food material" "FOODON:00001015" "biolink:BiologicalEntity" "plant food product"
"FOODON:00002403" "food material" "FOODON:00004242" "biolink:BiologicalEntity" "animal food product"
"FOODON:00002403" "food material" "FOODON:00003402" "biolink:BiologicalEntity" "pre-harvest food material"
"FOODON:00002403" "food material" "FOODON:00001002" "biolink:BiologicalEntity" "foodon product type"
"FOODON:00002403" "food material" "FOODON:03400361" "biolink:BiologicalEntity" "food product type"
"FOODON:00002403" "food material" "FOODON:00003374" "biolink:BiologicalEntity" "harvested food material"
"FOODON:00002403" "food material" "FOODON:00003437" "biolink:BiologicalEntity" "harvestable food material"
"FOODON:00002403" "food material" "FOODON:03411041" "biolink:MolecularEntity" "chemical food component"
"FOODON:00002403" "food material" "FOODON:00004325" "biolink:BiologicalEntity" "animal feed"
"FOODON:00002403" "food material" "FOODON:00003385" "biolink:BiologicalEntity" "local food"
"FOODON:00002403" "food material" "FOODON:00004100" "biolink:BiologicalEntity" "food material by component concentration"
"MESH:D019602" "Food and Beverages" "MESH:D001628" "biolink:BiologicalEntity" "Beverages"
"MESH:D019602" "Food and Beverages" "MESH:D000084902" "biolink:BiologicalEntity" "Sustenance"
"MESH:D019602" "Food and Beverages" "MESH:D000074421" "biolink:BiologicalEntity" "Fermented Foods"
"MESH:D019602" "Food and Beverages" "MESH:D005502" "biolink:BiologicalEntity" "Food"
"MPATH:0" "pathological entity" "MPATH:603" "biolink:BiologicalEntity" "pathological anatomical entity"
"MPATH:0" "pathological entity" "MPATH:596" "biolink:BiologicalEntity" "pathological process"
"MPATH:0" "pathological entity" "MPATH:212" "biolink:BiologicalEntity" "inflammation (MPATH)"
"MPATH:0" "pathological entity" "MPATH:579" "biolink:BiologicalEntity" "ulcer"

Here are the ones categorized as biolink:BiologicalEntity:

match (n)<-[e]-(m) where n.id in ["CHEBI:24432", "FMA:63887", "FMA:87205", "FMA:85620", "FOODON:00002403", "MESH:D019602", "MPATH:0", "STY:T028", "STY:T050", "STY:T085", "STY:T088", "STY:T129", "WIKIDATA:Q28845870"] and e.predicate="biolink:subclass_of" and m.category="biolink:BiologicalEntity" return distinct n.id, n.name, m.id, m.name order by n.id
n.id n.name m.id m.name
"CHEBI:24432" "biological role" "CHEBI:26155" "plant growth regulator"
"CHEBI:24432" "biological role" "CHEBI:190286" "ceramide mimetic"
"CHEBI:24432" "biological role" "CHEBI:71212" "prohormone"
"CHEBI:24432" "biological role" "CHEBI:52210" "pharmacological role"
"CHEBI:24432" "biological role" "CHEBI:52211" "physiological role"
"CHEBI:24432" "biological role" "CHEBI:52208" "biophysical role"
"CHEBI:24432" "biological role" "CHEBI:52209" "aetiopathogenetic role"
"CHEBI:24432" "biological role" "CHEBI:52206" "biochemical role"
"CHEBI:24432" "biological role" "CHEBI:52290" "mitogen"
"CHEBI:24432" "biological role" "CHEBI:33280" "molecular messenger"
"CHEBI:24432" "biological role" "CHEBI:33281" "antimicrobial agent"
"CHEBI:24432" "biological role" "CHEBI:73190" "antimutagen"
"CHEBI:24432" "biological role" "CHEBI:53000" "epitope"
"CHEBI:24432" "biological role" "CHEBI:53337" "tissue adhesive"
"CHEBI:24432" "biological role" "CHEBI:68509" "glutathione depleting agent"
"CHEBI:24432" "biological role" "CHEBI:73623" "tolerogen"
"CHEBI:24432" "biological role" "CHEBI:60218" "mimotope"
"CHEBI:24432" "biological role" "CHEBI:35222" "inhibitor"
"CHEBI:24432" "biological role" "CHEBI:35221" "antimetabolite"
"CHEBI:24432" "biological role" "CHEBI:35703" "xenobiotic"
"CHEBI:24432" "biological role" "CHEBI:22986" "calcium ionophore"
"CHEBI:24432" "biological role" "CHEBI:76219" "fluorogen"
"CHEBI:24432" "biological role" "CHEBI:23354" "coenzyme"
"CHEBI:24432" "biological role" "CHEBI:23366" "compatible osmolytes"
"CHEBI:24432" "biological role" "CHEBI:140399" "specialised pro-resolving mediator"
"CHEBI:24432" "biological role" "CHEBI:38215" "calcium channel blocker"
"CHEBI:24432" "biological role" "CHEBI:63923" "sclerotherapy agent"
"CHEBI:24432" "biological role" "CHEBI:24621" "hormone"
"CHEBI:24432" "biological role" "CHEBI:50188" "provitamin"
"CHEBI:24432" "biological role" "CHEBI:24850" "insect attractant"
"CHEBI:24432" "biological role" "CHEBI:64909" "poison"
"CHEBI:24432" "biological role" "CHEBI:25573" "nodulation factor"
"CHEBI:24432" "biological role" "CHEBI:25435" "mutagen"
"CHEBI:24432" "biological role" "CHEBI:39317" "growth regulator"
"CHEBI:24432" "biological role" "CHEBI:39116" "pyrethroid ester insecticide"
"CHEBI:24432" "biological role" "CHEBI:64088" "incretin mimetic"
"CHEBI:24432" "biological role" "CHEBI:50904" "allergen"
"CHEBI:24432" "biological role" "CHEBI:50913" "fixative"
"CHEBI:24432" "biological role" "CHEBI:59174" "hapten"
"CHEBI:24432" "biological role" "CHEBI:59132" "antigen"
"CHEBI:24432" "biological role" "CHEBI:25728" "osmolyte"
"CHEBI:24432" "biological role" "EFO:0004367" "induces sterile inflammation"
"CHEBI:24432" "biological role" "EFO:0001674" "placebo"
"CHEBI:24432" "biological role" "EFO:0001824" "hormone role"
"CHEBI:24432" "biological role" "EFO:0000523" "growth condition"
"CHEBI:24432" "biological role" "EFO:0000532" "host"
"CHEBI:24432" "biological role" "EFO:0003787" "cytokine role"
"CHEBI:24432" "biological role" "EFO:0000643" "pathogen"
"FMA:63887" "Biological macromolecule" "FMA:302832" "Neurotransmitter"
"FMA:63887" "Biological macromolecule" "FMA:12278" "Hormone"
"FMA:63887" "Biological macromolecule" "FMA:74412" "Deoxyribonucleic acid"
"FMA:63887" "Biological macromolecule" "FMA:74402" "Structural gene"
"FMA:63887" "Biological macromolecule" "FMA:67906" "Protein complex"
"FMA:63887" "Biological macromolecule" "FMA:67848" "Structural lipid molecule"
"FMA:63887" "Biological macromolecule" "FMA:67849" "Hydrophilic end of structural lipid molecule"
"FMA:63887" "Biological macromolecule" "FMA:67591" "Ring protein subunit"
"FMA:63887" "Biological macromolecule" "FMA:67586" "Annular protein subunit"
"FMA:63887" "Biological macromolecule" "FMA:67589" "Luminal protein subunit"
"FMA:63887" "Biological macromolecule" "FMA:67588" "Column protein subunit"
"FMA:63887" "Biological macromolecule" "FMA:67688" "Nucleoporin"
"FMA:63887" "Biological macromolecule" "FMA:67229" "Microtubule doublet"
"FMA:63887" "Biological macromolecule" "FMA:67232" "Microtubule triplet"
"FMA:63887" "Biological macromolecule" "FMA:67095" "Ribonucleic Acid"
"FMA:63887" "Biological macromolecule" "FMA:67413" "Peripheral microtubule doublet of axoneme of cilium"
"FMA:63887" "Biological macromolecule" "FMA:62487" "Costamere"
"FMA:63887" "Biological macromolecule" "FMA:67161" "Biogenic amine"
"FMA:63887" "Biological macromolecule" "FMA:67160" "Hydrophobic end of structural lipid molecule"
"FMA:63887" "Biological macromolecule" "FMA:67184" "Neurotransmitter receptor"
"FMA:63887" "Biological macromolecule" "FMA:67264" "Lipid"
"FMA:63887" "Biological macromolecule" "FMA:62847" "Component of protein complex"
"FMA:63887" "Biological macromolecule" "FMA:326969" "Membrane receptor"
"FMA:63887" "Biological macromolecule" "FMA:326980" "Intracellular ferritin"
"FMA:63887" "Biological macromolecule" "FMA:326995" "Collagen protofibril"
"FMA:63887" "Biological macromolecule" "FMA:326924" "Microtubule singlet"
"FMA:63887" "Biological macromolecule" "FMA:326888" "Microfibril"
"FMA:63887" "Biological macromolecule" "FMA:326893" "Cytoplasmic metabolite"
"FMA:63887" "Biological macromolecule" "FMA:84119" "DNA molecule region"
"FMA:63887" "Biological macromolecule" "FMA:84088" "Major histocompatibility complex gene"
"FMA:63887" "Biological macromolecule" "FMA:84126" "RNA molecule"
"FMA:63887" "Biological macromolecule" "FMA:84763" "Preribosome"
"FMA:63887" "Biological macromolecule" "FMA:84762" "Ribonucleoprotein complex"
"FMA:63887" "Biological macromolecule" "FMA:84858" "Cluster of differentiation transmembrane protein"
"FMA:63887" "Biological macromolecule" "FMA:63890" "Intercellular matrix component"
"FMA:63887" "Biological macromolecule" "FMA:63169" "Lipoprotein"
"FMA:63887" "Biological macromolecule" "FMA:83347" "Biogenic peptide"
"FMA:63887" "Biological macromolecule" "FMA:63011" "Glycosaminoglycan"
"FMA:63887" "Biological macromolecule" "FMA:63846" "Cell pigment"
"FMA:63887" "Biological macromolecule" "FMA:82782" "Glycoconjugate"
"FMA:63887" "Biological macromolecule" "FMA:82739" "Amino acid"
"FMA:63887" "Biological macromolecule" "FMA:82738" "Fatty acid"
"FMA:63887" "Biological macromolecule" "FMA:82737" "Carbohydrate"
"FMA:63887" "Biological macromolecule" "FMA:82740" "Nucleotide"
"FMA:63887" "Biological macromolecule" "FMA:82779" "Phospholipid"
"FMA:63887" "Biological macromolecule" "FMA:82773" "Pyrimidine"
"FMA:63887" "Biological macromolecule" "FMA:82772" "Purine"
"FOODON:00002403" "food material" "FOODON:03400361" "food product type"
"FOODON:00002403" "food material" "FOODON:00001002" "foodon product type"
"FOODON:00002403" "food material" "FOODON:00001015" "plant food product"
"FOODON:00002403" "food material" "FOODON:00004100" "food material by component concentration"
"FOODON:00002403" "food material" "ENVO:02000055" "plant feed"
"FOODON:00002403" "food material" "FOODON:00004242" "animal food product"
"FOODON:00002403" "food material" "FOODON:00004325" "animal feed"
"FOODON:00002403" "food material" "FOODON:00001714" "food product component"
"FOODON:00002403" "food material" "FOODON:00003374" "harvested food material"
"FOODON:00002403" "food material" "FOODON:00003385" "local food"
"FOODON:00002403" "food material" "FOODON:00003437" "harvestable food material"
"FOODON:00002403" "food material" "FOODON:00003402" "pre-harvest food material"
"FOODON:00002403" "food material" "ENVO:02000047" "animal feed"
"MESH:D019602" "Food and Beverages" "MESH:D000084902" "Sustenance"
"MESH:D019602" "Food and Beverages" "MESH:D001628" "Beverages"
"MESH:D019602" "Food and Beverages" "MESH:D000074421" "Fermented Foods"
"MESH:D019602" "Food and Beverages" "MESH:D005502" "Food"
"MPATH:0" "pathological entity" "MPATH:212" "inflammation (MPATH)"
"MPATH:0" "pathological entity" "MPATH:579" "ulcer"
"MPATH:0" "pathological entity" "MPATH:603" "pathological anatomical entity"
"MPATH:0" "pathological entity" "MPATH:596" "pathological process"