Graph Schema
Node types, edge types, relation taxonomy, and properties in OptimusKG.
OptimusKG is a Labeled Property Graph where every node has the schema (id, label, properties) and every edge has the schema (from, to, label, relation, undirected, properties).
All node and edge properties include a sources struct with direct: List(String) and indirect: List(String) fields for provenance tracking.
This is omitted from the individual property tables below for brevity.
Node Types
| Node Type | Label | Primary Sources |
|---|---|---|
| Gene | GEN | OpenTargets, Bgee, DisGeNET |
| Disease | DIS | OpenTargets, DrugCentral, MONDO |
| Drug | DRG | OpenTargets, DrugBank, DrugCentral, OnSIDES |
| Phenotype | PHE | OpenTargets, HPO, MedDRA |
| Biological Process | BPO | GO |
| Anatomy | ANA | UBERON |
| Molecular Function | MFN | GO |
| Cellular Component | CCO | GO |
| Pathway | PWY | Reactome, OpenTargets |
| Exposure | EXP | CTD, MeSH |
Node IDs use standard ontology prefixes (e.g., MONDO:, ENSG, DrugBank:, HP:, GO:, UBERON:, R-HSA-).
Node Schema
{
"id": "MONDO:0005015", # Unique identifier with ontology prefix
"label": "DIS", # 3-letter node type code
"properties": {
"sources": {
"direct": ["opentargets"],
"indirect": ["mondo"]
},
"name": "diabetes mellitus",
"description": "A metabolic disease ...",
# ... type-specific properties
}
}Edge Types
| Edge Type | Label | Relation Types | Dir. | Primary Sources |
|---|---|---|---|---|
| Disease - Protein | DIS-PRO | ASSOCIATED_WITH | undirected | OpenTargets, DisGeNET |
| Anatomy - Protein | ANA-PRO | EXPRESSION_PRESENT, EXPRESSION_ABSENT | undirected | Bgee |
| Drug - Drug | DRG-DRG | SYNERGISTIC_INTERACTION, PARENT | directed | DrugBank, OpenTargets |
| Phenotype - Protein | PHE-PRO | ASSOCIATED_WITH | directed | OpenTargets, DisGeNET |
| Protein - Protein | PRO-PRO | INTERACTS_WITH | directed | PrimeKG |
| Biological Process - Protein | BPO-PRO | INTERACTS_WITH | undirected | OpenTargets |
| Disease - Phenotype | DIS-PHE | PHENOTYPE_PRESENT, PHENOTYPE_ABSENT | undirected | OpenTargets |
| Cellular Component - Protein | CCO-PRO | INTERACTS_WITH | undirected | OpenTargets |
| Molecular Function - Protein | MFN-PRO | INTERACTS_WITH | undirected | OpenTargets |
| Drug - Disease | DRG-DIS | INDICATION, OFF_LABEL_USE, CONTRAINDICATION | undirected | OpenTargets, DrugCentral |
| Drug - Protein | DRG-PRO | TARGET, ENZYME, INHIBITOR, AGONIST, + more | directed | DrugBank, OpenTargets |
| Drug - Phenotype | DRG-PHE | ADVERSE_DRUG_REACTION, INDICATION, CONTRAINDICATION | undirected | OnSIDES, OpenTargets, DrugCentral |
| Pathway - Protein | PWY-PRO | INTERACTS_WITH | undirected | OpenTargets, Reactome |
| Disease - Disease | DIS-DIS | PARENT | directed | OpenTargets |
| Anatomy - Anatomy | ANA-ANA | PARENT | directed | UBERON |
| Biological Process - Biological Process | BPO-BPO | IS_A | directed | GO |
| Cellular Component - Cellular Component | CCO-CCO | IS_A | directed | GO |
| Molecular Function - Molecular Function | MFN-MFN | IS_A | directed | GO |
| Phenotype - Phenotype | PHE-PHE | PARENT | directed | HPO |
| Pathway - Pathway | PWY-PWY | PARENT | directed | Reactome |
| Protein - Protein | PRO-PRO | INTERACTS_WITH | directed | PrimeKG |
| Exposure - Protein | EXP-PRO | INTERACTS_WITH | directed | CTD, OpenTargets |
| Exposure - Disease | EXP-DIS | LINKED_TO | directed | CTD, MONDO |
| Exposure - Exposure | EXP-EXP | PARENT | directed | CTD |
| Exposure - Biological Process | EXP-BPO | INTERACTS_WITH | undirected | CTD, GO |
| Exposure - Molecular Function | EXP-MFN | INTERACTS_WITH | undirected | CTD, GO |
| Exposure - Cellular Component | EXP-CCO | INTERACTS_WITH | undirected | CTD, GO |
Edge Schema
{
"from": "DrugBank:DB00945",
"to": "MONDO:0005015",
"label": "DRG-DIS", # Source-Target type code
"relation": "indication", # Standardized relation type
"undirected": False,
"properties": { ... }
}Relation Taxonomy
Relations are standardized across all data sources using a controlled vocabulary:
| Category | Relations |
|---|---|
| Hierarchy | PARENT, IS_A |
| Association | INTERACTS_WITH, ASSOCIATED_WITH, LINKED_TO |
| Expression | EXPRESSION_PRESENT, EXPRESSION_ABSENT |
| Phenotype | PHENOTYPE_PRESENT, PHENOTYPE_ABSENT |
| Drug - Disease | INDICATION, OFF_LABEL_USE, CONTRAINDICATION |
| Drug - Phenotype | ADVERSE_DRUG_REACTION |
| Drug - Drug | SYNERGISTIC_INTERACTION |
| Drug - Protein (roles) | TARGET, ENZYME, TRANSPORTER, CARRIER |
| Drug - Protein (actions) | ACTIVATOR, AGONIST, ANTAGONIST, INHIBITOR, MODULATOR, SUBSTRATE, BLOCKER, INVERSE_AGONIST, PARTIAL_AGONIST, DEGRADER, and more |
When multiple relations exist for the same entity pair, a priority system resolves to the most specific relation.