βVidya Astra: The Toolkit of Knowledgeβ - Powerful, scalable knowledge graphs for the modern era
Explore Vidya Astraβs knowledge graphs in action:
| Demo | Description | Link |
|---|---|---|
| πΉ Mahabharata Epic | Mahabharat 64 Main Characters and 2700 , several events ! | View Demo |
| π Ramayana Epic | Ramayana Epic Knowledge Graph | View Demo |
| βοΈ Meghdoot | Kalidasaβs Meghdoot Knowledge Graph | View Demo |
| π Valayapathi | Valayapathi Tamil Epic | View Demo |
| π Nala Damayanti | Nala Damayanti Epic Knowledge Graph | View Demo |
| πΈ Kundalakesi | Kundalakesi Tamil Epic Knowledge Graph | View Demo |
| πΏ Dushyant Shakuntala | Dushyant Shakuntala Epic Knowledge Graph | View Demo |
| π° Ponniyin Selvan | Ponniyin Selvan Epic Knowledge Graph | View Demo |
| ποΈ Samrat Ashoka | Samrat Ashoka Epic Knowledge Graph | View Demo |
| π Cilappatikaram | Cilappatikaram Tamil Epic Knowledge Graph | View Demo |
| π¦ Bird Migration | Track global bird migration patterns | View Demo |
| π₯ Healthcare | Medical knowledge and drug interactions | View Demo |
| π Cybersecurity | Security threat and vulnerability mapping | View Demo |
| π Indian Railways | Railway network and route optimization | View Demo |
| π½ New York Tourism | NYC attractions and travel recommendations | View Demo |
| π Supermarket | Product catalog and customer behavior | View Demo |
| π§ Yoga | Poses, benefits, and practice sequences | View Demo |
| π½οΈ Recipe Graph | Culinary knowledge and food pairings | View Demo |
| π΅ Music Network | Artist collaborations and recommendations | View Demo |
| π Who is Vishal Mysore | Interactive introduction to Yours Truly ! | View Demo |
| βοΈ Game of Thrones | Houses, characters, and intricate relationships | View Demo |
| π Wizard of Oz | Dorothyβs journey through the Land of Oz | View Demo |
| β‘ Harry Potter | Wizarding World with Houses, spells, and characters | View Demo |
| π Bahubali | Epic saga of Mahishmati kingdom | View Demo |
| π¨ Fraud Detection | Real-time fraud pattern visualization | View Demo |
| π Cycle Detection | Detect fraud rings and circular patterns | View Demo |

Vidya Astra is a comprehensive, multi-domain knowledge graph platform that harnesses the power of Neo4j and Spring Boot to create intelligent, interconnected knowledge systems. Itβs designed for organizations that need to:
Vidya (ΰ€΅ΰ€Ώΰ€¦ΰ₯ΰ€―ΰ€Ύ) = Knowledge, Wisdom, Learning
Astra (ΰ€
ΰ€Έΰ₯ΰ€€ΰ₯ΰ€°) = Tool, Weapon, Instrument
βββββββββββββββββββββββββββββββββββββββββββββββ
βοΈ "The Weapon of Knowledge" βοΈ
Vidya Astra combines multiple cutting-edge technologies:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Interactive D3.js Visualizations β
β (Real-time Knowledge Graph Exploration) β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββββββββββ
β Spring Boot REST API Layer β
β (Domain-Specific Microservices) β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββββββββββ
β Spring Data Neo4j ORM Layer β
β (Object-to-Graph Mapping) β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββββββββββ
β Neo4j Graph Database β
β (Native Graph Storage & Processing) β
βββββββββββββββββββββββββββββββββββββββββββββββ
Choose the right database for your knowledge graph needs:
| Database | Best For | Key Advantage | Use Case |
|---|---|---|---|
| Neo4j β | General purpose, developers | Native graphs, Cypher, rich ecosystem | Fraud detection, recommendations |
| Oracle Graph | Enterprise RDBMS | Converged DB + graph with SQL/PGQ | Financial systems, compliance |
| RushDB | Rapid prototyping | Zero-config, auto-normalization | MVP, AI applications |
| TigerGraph | Large-scale analytics | Turing-complete GSQL, parallel processing | Graph algorithms, analytics |
| Gremlin/JanusGraph | Multi-backend systems | Universal traversal language | Portable graph solutions |
| Neptune, ArangoDB | Specialized needs | GraphQL, multi-model, serverless | Cloud-native applications |
Store and analyze cricket matches, players, teams, and performance statistics
Entities: Teams, Players, Matches, Performance Stats
Relationships: PLAYS_FOR, PLAYED_MATCH, WINNER, SCORED_IN
Use Cases: Player selection, team analysis, performance tracking
Medical knowledge graph covering diseases, treatments, medications, and providers
Entities: Diseases, Treatments, Medications, Providers, Patients
Relationships: TREATS, HAS_SYMPTOM, PRESCRIBES, SPECIALIZES_IN
Use Cases: Drug interactions, diagnosis support, treatment recommendations
Yoga poses, practices, health benefits, and wellness knowledge
Entities: Poses, Practices, Benefits, Body Parts, Instructors
Relationships: TARGETS, BENEFITS, IMPROVES, PRACTICED_BY
Use Cases: Personalized yoga plans, injury prevention, wellness tracking
Retail knowledge graph with departments, products, brands, and customer preferences
Entities: Products, Departments, Brands, Suppliers, Customers, Promotions
Relationships: IN_DEPARTMENT, MANUFACTURED_BY, PURCHASED_BY, ON_PROMOTION
Use Cases: Product recommendations, inventory management, customer insights
Fraud detection and prevention with types, methods, indicators, and prevention strategies
Entities: Fraud Types, Detection Methods, Indicators, Prevention Strategies
Relationships: DETECTS, INDICATES_FRAUD, PREVENTS, HAS_RISK_LEVEL
Use Cases: Fraud ring detection, anomaly detection, risk assessment
Knowledge graph on bird species, migration patterns, habitats, and conservation
Entities: Bird Species, Migration Routes, Habitats, Seasons, Stopovers
Relationships: MIGRATES_VIA, HABITATS_IN, ENDANGERED_BY, MONITORED_BY
Use Cases: Conservation tracking, climate impact analysis, ecology research
Culinary knowledge graph with recipes, ingredients, cuisines, and dietary requirements
Entities: Recipes, Ingredients, Cuisines, Chefs, Dietary Requirements, Allergens
Relationships: USES_INGREDIENT, PART_OF_CUISINE, CREATED_BY, PAIRS_WITH
Use Cases: Menu planning, allergen warnings, recipe recommendations
Features: 100% vegetarian, ingredient substitutions, cuisine fusion
Music knowledge graph with artists, songs, albums, genres, and playlists
Entities: Artists, Songs, Albums, Genres, Producers, Playlists, Users
Relationships: CREATES, FEATURES_IN, PRODUCED_BY, IN_GENRE, IN_PLAYLIST
Use Cases: Music recommendations, collaboration discovery, playlist curation
Features: Genre evolution, artist networks, personalized recommendations
β¨ Multi-Domain Support - 9+ ready-to-use knowledge graph templates π Real-Time Visualization - Interactive D3.js-powered graph exploration π§ Intelligent Querying - Cypher query language for complex relationships π Scalable Architecture - Spring Boot microservices pattern π Data Safety - Neo4j Aura cloud-hosted database π Rich Analytics - Pattern detection, cycle detection, recommendations π¨ Beautiful UI - Modern, responsive web interface with legend and controls β‘ Fast Performance - Graph database optimized for relationship traversal
git clone https://github.com/vishalmysore/VidyaAstra.git
cd VidyaAstra
set NEO4J_PASSWORD=your-neo4j-password
export NEO4J_PASSWORD=βyour-neo4j-passwordβ
3. **Build the Project**
```bash
mvn clean install
mvn spring-boot:run -Dspring.profiles.active=cricket
mvn spring-boot:run -Dspring.profiles.active=hc
mvn spring-boot:run -Dspring.profiles.active=fd
---
## π Neo4j Cypher Queries
### Cricket Module Examples
**1οΈβ£ List all teams and their players**
```cypher
MATCH (t:Team)<-[r:PLAYS_FOR]-(p:Player)
RETURN t.name, collect(p.name) AS Players;
2οΈβ£ Teams ranked by wins
MATCH (m:Match)-[:WINNER]->(t:Team)
RETURN t.name AS Team, count(m) AS Wins
ORDER BY Wins DESC;
3οΈβ£ Players by role
MATCH (p:Player)
RETURN p.role, collect(p.name) AS Players;
4οΈβ£ Matches between specific teams
MATCH (m:Match)-[:TEAM_1|TEAM_2]->(t:Team {name: "India"})
RETURN m.matchDate, m.venue, m.result;
1οΈβ£ Find fraud rings (cycles)
MATCH (n)-[r*]->(n)
WHERE length(r) > 1
RETURN n, r;
2οΈβ£ High-risk transactions
MATCH (f:FraudType)-[:HAS_INDICATOR]->(i:Indicator {riskScore: "High"})
RETURN f.name, i.pattern;
3οΈβ£ Detection method effectiveness
MATCH (d:DetectionMethod)-[:DETECTS]->(f:FraudType)
RETURN d.name, d.accuracy, count(f) AS FraudTypesDetected
ORDER BY d.accuracy DESC;
Team, Player, Match (Cricket)Disease, Medicine, Treatment (Healthcare)Pose, Practice, Benefit (Yoga)Product, Department, Brand (Supermarket)FraudType, DetectionMethod, Indicator (Fraud Detection)Recipe, Ingredient, Cuisine (Recipes)Artist, Song, Album, Genre (Music)PLAYS_FOR, PLAYED_MATCH, WINNER (Cricket)HAS_DIAGNOSIS, TREATS, PRESCRIBES (Healthcare)TARGETS, BENEFITS, IMPROVES (Yoga)USES_INGREDIENT, PART_OF_CUISINE, PAIRS_WITH (Recipes)CREATES, FEATURES_IN, IN_GENRE (Music)spring.neo4j.uri=neo4j+s://your-instance.databases.neo4j.io
spring.neo4j.authentication.username=neo4j
spring.neo4j.authentication.password=${NEO4J_PASSWORD}
spring.neo4j.database=neo4j
Run the complete test suite:
mvn test
Test specific module:
mvn test -Dtest=CricketServiceTest
mvn test -Dtest=HealthcareServiceTest
mvn test -Dtest=CycleDetectionServiceTest
| Issue | Solution |
|---|---|
| Neo4j Connection Failed | Verify NEO4J_PASSWORD is set and Neo4j instance is running |
| Build Fails | Clear cache: mvn clean, verify Java 17+, check internet connection |
| Graph Not Displaying | Check browser console for errors, verify all node references exist |
| Slow Queries | Add indexes to frequently queried properties in Neo4j |
-- Create indexes for frequently queried properties
CREATE INDEX ON :Player(name);
CREATE INDEX ON :Team(name);
CREATE INDEX ON :Disease(name);
-- Use EXPLAIN to analyze query performance
EXPLAIN MATCH (p:Player)-[:PLAYS_FOR]->(t:Team) RETURN p, t;
We welcome contributions! Hereβs how:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Vishal Mysore
Knowledge Graph Architect & Graph Database Enthusiast
/docs folder