# Humanitarian Dialogue System with RDF Ontologies
A task-oriented dialogue system in Congolese Swahili for humanitarian assistance in displacement camps. This system integrates Rasa NLU with RDF ontologies to provide semantic query capabilities.
## Project Overview
This system helps displaced people and humanitarian workers access information about:
- Health facilities and services
- Water sources
- Food distribution
- Camp locations and facilities
- Security information
The system uses RDF (Resource Description Framework) to create a structured knowledge base that can be queried using SPARQL.
## Key Components
1. **RDF Ontology**: Defines humanitarian domain concepts using OWL/RDF
2. **Triple Store**: Stores RDF data and provides SPARQL query endpoint
3. **Rasa NLU**: Natural language understanding for Congolese Swahili
4. **Custom Actions**: Connect Rasa intents to SPARQL queries
## Setup Instructions
### 1. Install Dependencies
```bash
# Install Python requirements
pip install -r requirements.txt
# Additional packages for RDF support
pip install rdflib SPARQLWrapper
```
### 2. Set Up Triple Store
We recommend Apache Jena Fuseki as the SPARQL server:
> **Important**: Apache Jena Fuseki 5.4.0 requires Java 17 or later. Please ensure you have the correct Java version installed before proceeding.
```bash
# Check your Java version
java -version
# Download and extract Fuseki
wget
dlcdn.apache.org
unzip apache-jena-fuseki-5.4.0.zip
cd apache-jena-fuseki-5.4.0
# Start Fuseki server (development mode)
./fuseki-server --mem /humanitarian
```
If you're using an older Java version and cannot upgrade, you can use an older version of Fuseki that is compatible with your Java installation:
```bash
# For Java 11, use Fuseki 4.x
wget
archive.apache.org
unzip apache-jena-fuseki-4.8.0.zip
cd apache-jena-fuseki-4.8.0
./fuseki-server --mem /humanitarian
```
Or …