A graph-powered Hausa language explorer built with Flask and CognoDB.
Perfect. π Let's fill it now.
# HausaGraph
> A graph-powered Hausa language explorer built with Flask and CognoDB.
HausaGraph is a small web application for exploring relationships between Hausa words, their meanings, topics, dialects, example sentences, and related words.
The application demonstrates how a graph database can be used to model and explore connected linguistic information rather than treating each word as an isolated record.
## Features
- Search for Hausa words
- View word meanings and definitions
- View associated topics
- View dialect information
- View example sentences and English translations
- Explore directly related Hausa words
- Explore word relationships through an interactive graph
- Click graph nodes to navigate to another word
- Parameterized Cypher queries
- Multi-hop graph traversal
- Seed script for reproducible database setup
- Graceful handling of missing words and database errors
## Technology Stack
- **Python 3**
- **Flask** β web application framework
- **CognoDB** β managed graph database
- **Neo4j Python Driver** β database connectivity
- **openCypher** β graph query language
- **HTML/CSS/JavaScript** β frontend
- **python-dotenv** β environment variable management
## Why a Graph Database?
HausaGraph was designed around the idea that linguistic information is highly connected.
A Hausa word is not simply a row containing a definition. It can be connected to:
- a meaning
- a topic
- a dialect
- example sentences
- other related Hausa words
For example:
```text
Meaning
β
β
βΌ
βββββββ
βgida β
βββββββ
/ β \
/ β \
βΌ βΌ βΌ
Topic Dialect Example
\
\
RELATED_TO
/ | \
βΌ βΌ βΌ
daki kofa iyali
````
This makes graph traversal a natural operation for the application.
For example, HausaGraph can directly ask:
Which words are related to `gida`, and which words are connected through those relationships?
A relational database could represent the same information using multiple tables and join operatio β¦