- Neo4j started as a graph database and has evolved into a rich ecosystem with numerous tools, applications, and libraries.
- This ecosystem allows you to integrate graph technologies with your working environment seamlessly.
Build applications with Neo4j and JavaScript - Neo4j JavaScript Driver Manual
Graph Connectors and Integrations
Connect to Neo4j - Getting Started
Neo4j documentation - Neo4j Documentation
The Neo4j Graph Data Science Library Manual v2.4 - Neo4j Graph Data Science
Neo4j GraphQL Library - Neo4j GraphQL Library
Introduction - OGM Library
What is a Graph database?
- A graph database uses graph structures with nodes, edges, and properties to represent and store data.
- The graph relates data items to a collection of nodes and edges, where edges represent relationships between nodes.
- Graph database is designed to treat the relationships between data as important as the data itself.
Why Graph database?
- A relational database uses a ledger-style structure and stores data in rows and columns.
- The relation between the two tables is mentioned using foreign key constraint.
- This becomes complex in case of an indirect relationship between lots of data because of many joins and normalization, creating data redundancy.
- In such cases, where relationships between data items are more critical, graph databases become more powerful.
- Graph database answers the questions you didn’t expect.
- Suppose you want to know — how many people bought a TV from a particular company, live in a particular city, and used the coupon offer in yesterday’s paper.
- If you use a relational database, this question will take much time and other resources to answer.
- Still, with a graph database, it becomes a much simpler case with available data.
Property Graph Model
- Nodes are the entities in the graph.
- They can hold any number of attributes (key/value pairs) called properties.
- Nodes can be tagged labels, representing their different roles.
- Node labels also serve to attach metadata to specific nodes.
- Relationships provide directed, named, semantically-relevant connections between two node entities.
- A relationship always has a type, a direction, a start node, and an end node.
- Relationships can also have properties.
What is Neo4j?
- Neo4j (Network Exploration and Optimization 4 Java) is a graph database management system.
- It is highly scalable, schema-free (NoSQL), and supports ACID rules.
- Neo4j follows the property graph model to store and manage its data.
- Neo4j provides a powerful declarative language known as Cypher.
- Cypher is a human-friendly query language that uses ASCII-Art to represent visual graph patterns for finding or updating data in Neo4j.