Introduction to Neo4j

Explore the Neo4j graph database and learn how to create and query nodes and relationships in Neo4j.

What is Neo4j?

Neo4j is a graph database management system (DBMS) designed to store, manage, and query data as a graph structure. Unlike traditional relational databases that use tables and rows, Neo4j uses the property graph model to model the data.

Press + to interact
Neo4j graph database
Neo4j graph database

The property graph model consists of the following three main components:

  • Nodes: Nodes represent entities in the dataset. Each node can have labels and properties that provide additional information. For example, a node could represent a person with properties like name: "John" and age: 25.

  • Relationships: Relationships connect nodes and describe how they are related. For example, John KNOWS Jack or John WORKS_AT Google. Each relationship has a direction and optional properties (for example, since: 2010).

  • Properties: As discussed above, both nodes and relationships can have properties, which are key-value pairs that provide details about the nodes or relationships. For example, a Person node can have properties like {name: "John", age: 25} or KNOWS relationship can have property {since: 2010}.

Key features of Neo4j

Following are the key features of Neo4j that make it an easy-to-work-with database:

  • It allows quick exploration of relationships between nodes in large datasets by performing both depth-first and breadth-first searches in constant time.

  • Its ability to perform constant-time traversals for both depth-first and breadth-first searches makes it highly scalable and capable of handling billions of nodes and relationships on standard hardware.

  • It features a flexible, schema-optional property graph model that adapts to changing data needs without the constraints of fixed schemas.

  • Cypher, its query language, is intuitive and similar to SQL, facilitating a smooth transition for developers familiar with relational databases.

  • It supports various programming languages, including Java, JavaScript, .NET, and Python, making it easy to integrate into various applications.

Note: To connect to and use Neo4j, we need to create a Neo4j instance. Let's see how to create one so we can get hands-on experience using Neo4j.

Creating a free Neo4j instance

Neo4j offers a free tier in its Neo4j Aura cloud service, which allows us to set up a cloud-based Neo4j instance without ...

Access this course and 1400+ top-rated courses and projects.