A lightweight NoSQL graph database built from scratch in C++ as a DSA project.
- include/: Header files
- src/: Source/implementation files
- main.cpp: Entry point
- demo.cpp: For the purpose of demonstrating querying
- Add and store nodes and edges dynamically
- Each node/edge can have multiple typed properties:
int,float, orstring
- Depth-First Search (DFS)
- Breadth-First Search (BFS)
- Visit all reachable nodes from a given start node
- Compute shortest distance from a start node to all others using Dijkstra’s algorithm
- Supports weighted edges
- Fast lookup using hash map indexing on node and edge properties
- Retrieve all nodes or edges matching a specific key-value pair
- Custom
PropertyValuestruct to handle multiple data types - Works even without
std::variant(GCC 6.3 compatible)