graph TB
subgraph Databricks["DATABRICKS (serverless)"]
EJ["Extraction Jobs\npapers → findings → resolve"]
DT[("Delta Tables\nextractions, registry")]
EJ --> DT
end
subgraph Azure["AZURE / AURA (always-on)"]
subgraph AuraDB["AuraDB (Neo4j)"]
PROD["prod ● running"]
DEV["dev-combined ● running"]
EXP["experiment-X ○ paused"]
end
LLM["LLM Service\ngpt-4.1, gpt-4.1-mini\nembeddings"]
CR["Concept Resolver\n4-step + cache\nUMLS, SNOMED, MeSH"]
end
subgraph Website["WEBSITE (Azure Container App)"]
CHAT["/chat → query → synthesize"]
SYS["/system → KGMeta probes"]
end
EJ -->|"build KG"| AuraDB
CHAT -->|"bolt://"| AuraDB
CHAT --> LLM
CHAT --> CR
SYS -->|"bolt://"| AuraDB
LF["Langfuse — traces from all services"]
Website -.->|traces| LF
Azure -.->|traces| LF
Databricks -.->|traces| LF
graph LR
subgraph BUILD["BUILD PATH (offline, Databricks)"]
direction LR
P[paper] --> EX[Extract\nLLM] --> F[findings] --> R1[Resolve\nper entity type] --> BK[Build KG\nNeo4j]
end
subgraph QUERY["QUERY PATH (online, website)"]
direction LR
Q[question] --> DE[Decompose\nLLM] --> M[mentions] --> R2[Resolve\nper entity type] --> CY[Cypher\n7 shapes] --> SY[Synthesize\nLLM]
end
R1 -.- NOTE["Same 4-step concept resolver\nexact → UMLS → LLM cleanup → vector"]
R2 -.- NOTE
graph TD
KG[":KG name"] --> META[":KGMeta\nrole, schema_version"]
META -->|HAS_BUILD| BUILD[":BuildInfo\nstatus, resolver, git_commit"]
META -->|HAS_AUDIT| AUDIT[":AuditReport\nresolved_ratio, smoke_test"]
META -->|HAS_SHOWCASE| PILL[":ShowcaseQuestion\nquestion, score, blue"]
META --> EV[":Evidence (unified label)"]
EV --> FIND[":Finding:Evidence\nclinical study"]
FIND -->|tested| INT[":Intervention"]
FIND -->|for_condition| COND[":Condition"]
FIND -->|on_outcome| OUT[":Outcome"]
FIND -->|reported_in| STUDY[":Study pmc"]
EV --> EXP[":Experience:Evidence\nReddit / anecdotal"]
EXP -->|tested| INT2[":Intervention"]
EXP -->|for_condition| COND2[":Condition"]
| ● | System page | Status → System with architecture diagrams |
| ○ | Package rename | libs/ontology → kg_med_evidence_ir, libs/kg_orchestrator → kg_build_spec |
| ○ | LLM service | Consolidate 7 LLM call sites behind one gateway |
| ○ | Spec reorg | Move ground truth, CQs, subdomains into kg_build_spec |
| ○ | AuraDB migration | Replace Azure Container Instances with AuraDB + Explore |
| ○ | KGMeta nodes | Self-describing graphs, kill Delta registry |
| ○ | Langfuse tracing | Full pipeline traces: extract → resolve → query → synthesize |
| ○ | Structured synthesis | CitedClaim back-links, hallucination detection |
| Nodes | 24,618 |
| Edges | 28,024 |
| Labels | conditioneffectevidenceexperiencefindinginterventionmechanismoutcomepopulationstudy |
{
"kg_name": "dev-combined",
"uri_masked": "neo4j+s://7d8d****",
"active_role": "prod",
"protected": false,
"connected": true,
"node_count": 24618,
"edge_count": 28024,
"labels": [
"condition",
"effect",
"evidence",
"experience",
"finding",
"intervention",
"mechanism",
"outcome",
"population",
"study"
],
"label_counts": [
{
"label": "outcome",
"count": 6305
},
{
"label": "intervention",
"count": 5960
},
{
"label": "evidence",
"count": 5000
},
{
"label": "condition",
"count": 2769
},
{
"label": "finding",
"count": 1951
},
{
"label": "effect",
"count": 1951
},
{
"label": "mechanism",
"count": 282
},
{
"label": "study",
"count": 231
},
{
"label": "population",
"count": 169
}
],
"paper_count": 227,
"dataset_id": "",
"kg_build_id": "",
"notes": "",
"created_at": null,
"created_by": "",
"error": "",
"build": null,
"audit": null,
"dataset": null
}