Chapter 1. Introduction

This chapter introduces Neo4j.

Neo4j is the world’s leading graph database. Its architecture is designed for optimal management, storage, and traversal of nodes and relationships. The database takes a property graph approach, which is beneficial for both traversal performance and operations runtime. Neo4j offers dedicated memory management and memory-efficient operations.

It is scalable and can be deployed as a standalone server or across multiple machines in a fault-tolerant cluster for production environments. Other features for production applications include hot backups and extensive monitoring.

Cypher is a declarative query language for graphs. For more details, see the Cypher Manual. The recommended way of programmatically interacting with the database is either through the official drivers or using the Java API.

1.1. Editions

There are two editions of Neo4j to choose from: Community Edition and Enterprise Edition:

1.1.1. Community Edition

The Community Edition is a fully functional edition of Neo4j, suitable for single-instance deployments. It has full support for key Neo4j features, such as ACID compliance, Cypher, and programming APIs. It is ideal for learning Neo4j, do-it-yourself projects, and applications in small workgroups.

1.1.2. Enterprise Edition

The Enterprise Edition extends the functionality of Community Edition to include key features for performance and scalability, such as a clustering architecture and online backup functionality. Additional security features include role-based access control and LDAP support, for example, Active Directory. It is the choice for production systems with requirements for scale and availability, such as commercial solutions and critical internal solutions.

1.1.3. Feature details

Table 1.1. Features
Edition Community Enterprise

Property graph model

Native graph processing & storage

ACID transactions

Cypher graph query language

Neo4j Browser with syntax highlighting

Bolt binary protocol

Language drivers for C#, Java, JavaScript & Python [1]

High-performance native API

High-performance caching

Cost-based query optimizer

Graph algorithms library to support AI initiatives [1]

Fast writes via native label indexes

Composite indexes

Full-text node & relationship indexes

Slotted and Pipelined Cypher runtimes


Property-existence constraints


Node Key constraints


Listing and terminating running queries


Auto-reuse of space


Role-based access control


Subgraph access control


LDAP and Active Directory integration


Kerberos security option


[1]It must be downloaded and installed separately.

Table 1.2. Performance & Scalability
Edition Community Enterprise

Causal Clustering for global scale applications


Enterprise lock manager accesses all cores on server


Intra-cluster encryption


Offline backups

Online backups


Encrypted backups


Rolling upgrades


Automatic cache warming


Routing and load balancing with Neo4j Drivers


Advanced monitoring


Graph size limitations

34B nodes, 34B relationships, 68B properties

No limit

Bulk import tool

Bulk import tool, resumable