CortexGraph transforms scattered, unstructured data into an intelligent, interconnected knowledge network. Using cutting-edge NLP and AI, it automatically extracts entities and relationships from documents, databases, and APIs, then stores them in a graph database for powerful semantic search and visualization.
- π€ AI-Powered Entity Extraction: Uses spaCy and transformers to identify people, organizations, locations, dates, and more
- π Automatic Relationship Discovery: Leverages dependency parsing to find connections between entities
- π Semantic Search: Query by meaning, not just keywords, using sentence embeddings
- π Interactive Graph Visualization: Beautiful D3.js force-directed graph with zoom, drag, and click interactions
- π Multi-Format Support: Process PDF, DOCX, TXT, and JSON documents
- β‘ Real-Time Updates: See your knowledge graph grow as you add documents
- π³ One-Command Deployment: Complete Docker Compose setup for instant deployment
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (React + D3.js) β
β βββββββββββββ βββββββββββββββ ββββββββββββββββββββββ β
β β Search β β Upload β β Graph Viz β β
β β Bar β β Interface β β (Force-Directed) β β
β βββββββββββββ βββββββββββββββ ββββββββββββββββββββββ β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β REST API
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββ
β Backend (FastAPI) β
β ββββββββββββββββ βββββββββββββββββ βββββββββββββββββββ β
β β Ingestion β β NLP Engine β β Query Engine β β
β β Pipeline β β (spaCy/Trans) β β (Semantic) β β
β ββββββββββββββββ βββββββββββββββββ βββββββββββββββββββ β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββ
β Graph Database (Neo4j) β
β Nodes (Entities) + Edges (Relations) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Docker & Docker Compose
- 4GB+ RAM recommended
- Modern web browser
-
Clone the repository
git clone https://github.com/aayush-1o/CortexGraph.git cd CortexGraph -
Start the application
docker-compose up -d
-
Access the platform
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- Neo4j Browser: http://localhost:7474 (username:
neo4j, password:cortexgraph123)
That's it! π
- Drag and drop files (PDF, DOCX, TXT, JSON) into the upload area
- The system automatically:
- Extracts text content
- Identifies entities (people, organizations, locations, etc.)
- Discovers relationships between entities
- Builds the knowledge graph
- Type natural language queries like:
- "Find connections between Apple and Steve Jobs"
- "Show all organizations in California"
- "What products are related to technology?"
- Results include relevant entities and their relationship subgraphs
- Zoom: Scroll to zoom in/out
- Pan: Click and drag the background
- Move nodes: Drag individual nodes to rearrange
- Click nodes: View entity details
- Hover: See tooltips with entity information
- Python 3.11 - Core language
- FastAPI - High-performance async web framework
- spaCy - Industrial-strength NLP
- Transformers - State-of-the-art language models
- Sentence-Transformers - Semantic embeddings
- Neo4j - Graph database
- PyPDF2, python-docx - Document processing
- React 18 - UI framework
- D3.js - Graph visualization
- Material-UI (MUI) - Modern component library
- Axios - HTTP client
- React-Dropzone - File upload
- Docker - Containerization
- Docker Compose - Multi-container orchestration
POST /api/v1/ingest- Upload and process a documentPOST /api/v1/ingest/text- Process raw text
POST /api/v1/query- Semantic searchGET /api/v1/search/{text}- Simple text searchGET /api/v1/entity/{id}- Get entity with neighbors
GET /api/v1/graph- Get full graph dataGET /api/v1/stats- Graph statisticsDELETE /api/v1/graph- Clear graph (caution!)POST /api/v1/cypher- Execute custom Cypher query
GET /health- System health check
Full interactive API documentation available at /docs when running.
-
Enterprise Knowledge Management
- Connect information across departments and documents
- Find subject matter experts and their areas of expertise
- Discover hidden relationships in corporate data
-
Research & Academia
- Map connections between papers, authors, and concepts
- Find related research topics
- Visualize citation networks
-
Due Diligence & Investigations
- Trace relationships between companies and individuals
- Uncover hidden connections
- Timeline analysis of events
-
Customer Intelligence
- Link customers, products, and feedback
- Identify patterns and trends
- Personalization opportunities
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python -m spacy download en_core_web_sm
uvicorn app.main:app --reloadcd frontend
npm install
npm startdocker run -p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/cortexgraph123 \
neo4j:5.15- Multi-language NLP support
- Advanced entity resolution (fuzzy matching)
- Temporal graph queries
- Export graph as GraphML/GEXF
- Real-time collaboration
- Custom entity types
- API key authentication
- Cloud deployment templates (AWS, GCP, Azure)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- spaCy team for amazing NLP tools
- Neo4j for graph database excellence
- D3.js community for visualization inspiration
- FastAPI for making Python web development delightful
Project Link: https://github.com/aayush-1o/CortexGraph