An end-to-end system that extracts entities and relationships from unstructured text (PDF, Text, HTML) and constructs an interactive Knowledge Graph in Neo4j.
Load and clean PDF, Text, and HTML files.

Automated graph construction using Named Entity Recognition (BERT) and Relationship Extraction.

Explore the graph with zooming and panning capabilities.

- Reasoning: Basic graph analysis (Centrality) using NetworkX.
- Visualization: Interactive Streamlit dashboard with PyVis graph view.
- Python 3.8+
- Neo4j Desktop (running locally)
-
Clone the repository:
git clone <repository-url> cd AntiGravity
-
Set up Virtual Environment:
python -m venv venv .\venv\Scripts\activate # Windows # source venv/bin/activate # Mac/Linux
-
Install Dependencies:
pip install -r requirements.txt python -m spacy download en_core_web_sm
-
Configure Environment: Create a
.envfile with your Neo4j credentials:NEO4J_URI=bolt://localhost:7687 NEO4J_USER=neo4j NEO4J_PASSWORD=antigravity
Run the Streamlit application:
streamlit run src/app/main.pyUpload a document, click "Build Knowledge Graph", and explore the results.
src/document_processing: Loaders and cleaners.src/nlp: NER and Relation Extraction models.src/graph: Neo4j interaction logic.src/reasoning: Graph analysis algorithms.src/app: Streamlit dashboard.

