Transform unstructured text into interactive knowledge graphs using AI. Extract entities, relationships, and visualize complex information networks.
- π Entity Extraction: Identify people, organizations, locations, concepts
- π Relationship Detection: Discover connections between entities
- π Interactive Visualization: D3.js-powered graph visualization
- ποΈ Graph Database: Neo4j backend for complex queries
- π― Smart Filtering: Filter by entity type, relationship strength
- π Analytics: Network analysis, centrality measures
- π Web Interface: Explore graphs interactively
- π€ Export: JSON, GraphML, CSV formats
# Install dependencies
pip install -r requirements.txt
python -m spacy download en_core_web_lg
# Start Neo4j (via Docker)
docker run -p 7474:7474 -p 7687:7687 neo4j:latest
# Run application
python src/main.py
# Process text
python src/cli.py --text "Your text here" --output graph.jsonfrom knowledge_graph import KnowledgeGraphGenerator
kg = KnowledgeGraphGenerator()
# Generate from text
text = "Apple Inc. was founded by Steve Jobs in Cupertino."
graph = kg.generate(text)
# Visualize
kg.visualize(graph, output="graph.html")
# Query
results = kg.query("Who founded Apple?")- NLP: spaCy, NLTK
- LLM: GPT-4 for relationship extraction
- Graph DB: Neo4j
- Visualization: D3.js, Pyvis
- Backend: FastAPI
- Frontend: React + D3
{
"entities": [
{"id": "1", "name": "Apple Inc.", "type": "ORGANIZATION"},
{"id": "2", "name": "Steve Jobs", "type": "PERSON"},
{"id": "3", "name": "Cupertino", "type": "LOCATION"}
],
"relationships": [
{"from": "2", "to": "1", "type": "FOUNDED", "strength": 0.95},
{"from": "1", "to": "3", "type": "LOCATED_IN", "strength": 0.88}
]
}- Research: Analyze academic papers
- Business: Extract insights from reports
- Legal: Map case relationships
- Journalism: Investigate connections
MIT License
Visualize Connections β’ Discover Insights β’ Powered by AI