https://github.com/ooddaa/mango
Object-to-Graph Mapper for Neo4j and Nodejs
https://github.com/ooddaa/mango
database graph graph-database knowledge-graph neo4j
Last synced: about 2 months ago
JSON representation
Object-to-Graph Mapper for Neo4j and Nodejs
- Host: GitHub
- URL: https://github.com/ooddaa/mango
- Owner: ooddaa
- Created: 2022-03-03T15:46:54.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-03-14T16:31:10.000Z (over 3 years ago)
- Last Synced: 2025-09-07T20:19:38.971Z (10 months ago)
- Topics: database, graph, graph-database, knowledge-graph, neo4j
- Language: JavaScript
- Homepage:
- Size: 2.23 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
Awesome Lists containing this project
README
# Mango ðŸ¥
Goal: A tool that builds Knowledge Graphs and plants Knowledge Trees 🌳
Simply: it is an Object-to-Graph Mapping tool that you can use to work with [Neo4j](https://neo4j.com/) from your [Node.js](https://nodejs.org/) application.
## Idea
The idea behind the project is to build a tool to makes it easy to perform
- Create
- Read
- Update
- Delete
operations on Neo4j Graph Database using plain JavaScript objects.
## Philosophy:
Graphs are powerful because they are visually obvious. You may draw a graph to simplify something. It takes a purely abstract thought concept and makes it appear as a 2D model in front of your eyes.
Graphs are powerful because they are simple. As a basic data structure, a Node or (Node), can represent any data. If (Node1) and (Node2) have a way to associate, then it could be expressed as ```(Node1)-[:RELATES_TO]->(Node2)```
And there you have it - a full blown Knowledge Graph!
Now think of adding properties to Nodes and its Relationships and the expressive potential is limitless.
Rich Knowledge Graphs can provide enough machine-readable context for humans to build useful
real-world services.
Go to [doc](https://ooddaa.github.io/mango/) to read full documentation.
## Install
```npm i @ooddaa/mango```
or alias it in package.json
```"mango": "npm:@ooddaa/mango@^1.1.3"```
## Tests
To run tests, add Neo4j credentials to config/testing.json file:
`{ "neo4jUsername": "neo4j", "neo4jPassword": "password", "ip": "0.0.0.0", "port": "7687", "env": "testing", "database": "test" }`
then do
```npm test```
Feel free to open any issues/PRs.