How youssefelgharbaouidevs/disease-pathway-graphrag works
Disease Pathway GraphRAG is an academic prototype for exploring publication-backed disease relationships. Its current workflow starts with Jensen supplementary workbooks: extraction preserves source values, preparation creates pair evidence and separate full trajectories, review checks provenance, and import loads the records into local Neo4j. Users can then request bounded forward, backward, or combined searches by diagnosis code. The README also describes a future application and supporting-passage GraphRAG explanations, but these are not implemented. Relationships below are limited to calls or data flows shown in excerpts or explicitly documented; unsampled subsystems are not assumed to be wired.
Main entry points: extract_jensen.py Workbook extraction · explore.py Bounded graph search · import_jensen.py Graph importer · neo4j_client.py Neo4j HTTP client
Components 17
Research corpus
- Scientific papers
ressources - Source register
ressources/sources.json - Jensen supplements
ressources/supplements
Evidence preparation
- Workbook extraction
src/extraction/extract_jensen.py - Pair graph tables
src/extraction/prepare_jensen_graph_tables.py - Trajectory preparation
src/extraction/prepare_jensen_trajectories.py - Extraction review
src/graph/review_jensen.py
Graph storage
- Graph importer
src/graph/import_jensen.py - Neo4j HTTP client
src/graph/neo4j_client.py - Local Neo4j
- Local database setup
src/graph/local_neo4j.py
Search workflow
- Bounded graph search
src/graph/explore.py - Evidence-linked results
src/graph/explore.py
Planned experience
- Passage retrieval
src/retrieval - Cited explanations
src/retrieval - Demonstration interface
app
Other components
- Research user
Connections 22
- Scientific papers → Source register: registered in
README.md - Jensen supplements → Workbook extraction: exports tables
src/extraction/extract_jensen.py - Source register → Workbook extraction: checks source identity
src/extraction/extract_jensen.py - Workbook extraction → Pair graph tables: provides pair records
src/extraction/prepare_jensen_graph_tables.py - Workbook extraction → Trajectory preparation: provides trajectory records
src/extraction/prepare_jensen_trajectories.py - Pair graph tables → Trajectory preparation: provides diagnosis tables
src/extraction/prepare_jensen_trajectories.py - Workbook extraction → Extraction review: checks extraction
src/graph/review_jensen.py - Pair graph tables → Graph importer: supplies graph tables
README.md - Trajectory preparation → Graph importer: supplies trajectories
README.md - Extraction review → Graph importer: gates import
README.md - Graph importer → Neo4j HTTP client: uses
src/graph/import_jensen.py - Neo4j HTTP client → Local Neo4j: commits queries
src/graph/neo4j_client.py - Local database setup → Neo4j HTTP client: checks readiness
src/graph/local_neo4j.py - Local database setup → Local Neo4j: starts instance
src/graph/local_neo4j.py - Research user → Bounded graph search: searches concept
README.md - Bounded graph search → Neo4j HTTP client: queries graph
src/graph/explore.py - Bounded graph search → Evidence-linked results: returns paths
src/graph/explore.py - Evidence-linked results → Research user: shows connections
README.md - Evidence-linked results → Passage retrieval: could retrieve passages
README.md - Passage retrieval → Cited explanations: could ground claims
README.md - Demonstration interface → Bounded graph search: could expose searches
README.md - Cited explanations → Research user: could present citations
README.md