| Crates.io | reliefgraph |
| lib.rs | reliefgraph |
| version | 0.1.0 |
| created_at | 2025-09-04 17:52:27.575141+00 |
| updated_at | 2025-09-04 17:52:27.575141+00 |
| description | The humanitarian data knowledge graph indexer |
| homepage | https://github.com/cpellet/reliefgraph |
| repository | https://github.com/cpellet/reliefgraph |
| max_upload_size | |
| id | 1824564 |
| size | 1,100,976 |
reliefgraph ingests data from the ReliefWeb API and builds a structured Neo4j knowledge graph.
The graph captures reports, countries, disasters, themes, sources, and other nested entities as nodes, with relationships expressing their connections.

Report -> HAS_COUNTRY -> Country).id across runs, ensuring graph consistency.neo4rs for async Neo4j queries.Add to your Cargo workspace:
[dependencies]
reliefgraph = 0.1.0
Or use it as a standalone binary crate:
cargo build --release
Neo4j running locally or remotely. Example with Docker:
docker run -it --rm \
--publish=7474:7474 --publish=7687:7687 \
--env NEO4J_AUTH=neo4j/password \
neo4j:5
Set the Neo4j instance password with an environment variable:
export NEO4J_PASS=<password>
Fetch data from ReliefWeb and index it into Neo4j:
cargo run --release
By default, it connects to:
After indexing, you can query:
MATCH (n) RETURN n LIMIT 100;
(:country {name: "Colombia", href: "https://api.reliefweb.int/v2/countries/64?appname=reliefgraph", id: "64", shortname: "Colombia", iso3: "col", primary: true})
graph/neo4j.rsmodel/nodes.rssource/reliefweb.rsFull API documentation is available at docs.rs
Licensed under MIT.
Contributions are welcome! Please open an issue or submit a pull request.