- the code in this repository aims to showcase how
- data from a legacy relational database can be transformed into a knowledge graph in Neo4j, and
- enriched with AI capabilities for enhanced data retrieval and natural language processing
- infrastructure
Docker
: for MySQL, Neo4J containersGoogle Cloud
: for porting local application to the cloud
- Databases
MySQL
: legacy relational databaseNeo4j
: graph database for knowledge graph creation
- Frontend
Streamlit
: for building the frontend application
- AI
OpenAI/Gemini/Llama
: large language models for query processingLangChain
: for integrating LLMs with the knowledge graph
- this section lists the sequence of steps that will be taken as part of this project:
- clone this repository locally and setup development environment
- deploy MySQL and Neo4j containers using docker compose
- load sample data into MySQL
- move data from MySQL to Neo4J
- build the knowledge graph inside Neo4J
- develop frontend application with Streamlit
- setup connection to LLM
- implement query handling
- port tool to cloud
- detailed steps on setting up the dev environment and other topics are available inside the setup folder
- Knowledge Graphs - A Practical Review of the Research Landscape
- Building Semantic Knowledge Graphs
- Knowledge Graphs - Research Paper
- O'Reilly - Building Knowledge Graphs Practitioner's Guide listing here and direct book here
- Neo4j Knowledge Graph Blog
- Knowledge Graph RAG Application
- Neo4j & LLM Fundamentals
- Introduction to Vector Indexes and Unstructured Data
- Building Neo4j Applications with Python
- LLM Graph Builder GitHub
- Neo4j LLM Knowledge Graph Builder
- LangChain Documentation
- Install Neo4J using Docker Compose