The purpose of this program is to test out capabilities of the most popular graph database - Neo4J.
Write a simple program implementing scope suitable for graph databases.
- Model at least a few entities with properties.
- Demonstrate meaningful requests:
- Find entities by attribute (eg find a person by personal identification number, find a bank account by number).
- Find entities by connection (e.g. bank accounts belonging to a person, bank cards linked to the accounts of a specific person).
- Find entities linked by deep ties (eg friends of friends, all roads between Vilnius and Klaipėda; all buses that can go from stop X to stop Y).
- Find the shortest path (e.g. find the shortest path between Vilnius and Klaipėda; find the cheapest way to convert from currency X to currency Y, when the conversion information of all banks and the optimal method are available, several steps can be performed).
- Aggregate data (e.g. as 4, only to find the path length or conversion price). Don't take the shortest path.
For simplicity, have test data ready. The app should allow you to make queries (say entering city X, city Y and planning a route between them).
- Install node.js
- Install neo4j:
brew install neo4j - Install neo4j Desktop
- Launch neo4j Desktop and create a project and a database
- Install APOC, Graph Data Science Library, Neo4j Streams plugins
- Launch neo4J Desktop and start project server manually.
- Install npm modules:
npm install - Execute the program:
npm run start