Project 04
Airline Graph-RAG Assistant
A grounded airline analytics assistant built around survey data, a Neo4j knowledge graph, and optional semantic retrieval.
What it is
Airline Graph-RAG Assistant is a Streamlit application that combines airline survey analytics stored in Neo4j with optional semantic retrieval using embeddings.
Why I built it
Airline survey data is easier to explore when structured relationships and relevant semantic context can be retrieved together without allowing generated answers to drift beyond the underlying data.
What I implemented
- Built a Python importer that turns airline survey records into a Neo4j knowledge graph.
- Added graph-backed analytics and optional semantic retrieval with cached embeddings.
- Created a Streamlit interface for asking questions and exploring grounded results.
- Kept external language models optional so the application can run in retrieval-only mode.
How it works
- 01
Import survey data
The importer reads airline survey records and creates the corresponding entities and relationships in Neo4j.
- 02
Query the graph
A question is matched to graph-backed analytics over flights, routes, fleets, and survey responses.
- 03
Retrieve semantic context
When enabled, embeddings retrieve additional relevant flight data for the question.
- 04
Present grounded results
The Streamlit interface displays an answer grounded in retrieved graph results, with external language models remaining optional.
Important features
- Neo4j knowledge graph
- Airline survey analytics
- Optional semantic retrieval
- Cached embeddings
- Retrieval-only mode
- Streamlit interface
Technical challenges
Grounding every response
The retrieval pipeline keeps answers tied to graph results rather than relying on unsupported model knowledge.
Supporting optional providers
Semantic retrieval and external language-model providers can be selected when credentials are available without being required for graph analytics.
Keeping embeddings current
Cached embedding files are invalidated when the selected model or retrieved flight data changes.