Back to all databases

Neo4j

A property graph database that stores data as fixed-size records in linked lists for index-free adjacency traversal. Offers community and commercial editions with an extensive graph algorithms library.

Overall rank
#1
First released
2007
License
GPL-3.0
Built with
Java

Details

Vendor
Neo4j Inc
Type
Property Graph
Category
Established
License
GPL-3.0
Language
Java
Query Languages
CypherGQL
Protocols
BoltHTTP/REST

Lineage

Neo4j2007ONgDB2018PandaDB2019 · endedDozerDB2023RushDB2024
  • ONgDB, 2018: fork of Neo4j.
  • PandaDB, 2019: based on Neo4j; no longer developed.
  • DozerDB, 2023: based on Neo4j.
  • RushDB, 2024: based on Neo4j.

Feature scores

Community & Business

Active development
✓
Updated within last 3 months
Commercial support
✓
Paid support available
Live community
✓
>75% of issues addressed
Open Source
✓
Open source license
Pricing
50%
No description available
Trendiness
✓
Growing or stable trend

Deployment

Containerization
✓
Docker image available
Work as dedicated instance
✓
Can run as standalone server
Work as embedded
✓
Can embed in application
Testing in-memory version
✓
In-memory mode available

Platform

Operating on Linux
✓
Linux officially supported
Operating on Windows
✓
Windows officially supported
SaaS offering
✓
Cloud service available

Operations

Automatic updates
0%
Manual updates only
Client side caching
0%
No client-side caching
Data versioning support
0%
No versioning
Live backups
✓
Hot backup supported

Distribution

Cluster Re-balancing
0%
No auto-rebalancing
Data Distribution
✓
Data sharding supported
High-Availability
✓
HA mechanisms available
Query Distribution
✓
Distributed query execution
Replication support
✓
Replication available

Developer Experience

Data types defined
✓
Composite data types
Logging/Auditing
✓
Event logging supported
Object-Graph Mapper
✓
OGM/ORM available
Reactive programming
✓
Reactive streams supported
Documentation up-to-date
✓
Docs current with latest version
Binary protocol
✓
Binary protocol available
CLI
✓
Command-line interface
GUI
✓
Visual interface available

Data Model

Multi-database
✓
Multi-model database
Graph-native data
✓
Native graph storage
REST API
✓
REST endpoint available
Query Language
✓
Standard query language (Cypher/Gremlin)

Transactions

Granular locking
✓
Object-level locking
Multiple isolation levels
✓
Multiple isolation levels
Read committed transaction
✓
Read committed available
Transaction support
✓
ACID transactions

Schema & Security

Constraints
✓
Full constraint support
Schema support
✓
Schema definition tools
Secondary indexes
✓
Secondary indexes supported
Server side procedures
✓
Stored procedures supported
Triggers
✓
Event triggers supported
Authentication
✓
Authentication supported
Authorization
✓
Role-based access control
Data encryption
0%
No encryption
Sources 5 references

Protocols Bolt, HTTP/REST

Bolt is the primary driver protocol; the transactional HTTP API on port 7474/7473 is deprecated (replaced by the Query API) but still present.

  • Bolt is an application protocol for the execution of database queries via a database query language, such as Cypher.
    Bolt Protocol - Bolt Protocol · reviewed 2026-08-02
  • By default, the API uses port 7474 for HTTP and port 7473 for HTTPS.
    Introduction - HTTP API · reviewed 2026-08-02

Released 2007

Matches current value. Neo4j's own history page dates the open-source 1.0 release to 2007, after seven years of internal development starting in 2000.

Language Java

Matches current value. Neo4j's own docs name Java as the primary implementation language; Scala is also used within the codebase but Java is the language the project leads with.

License GPL-3.0

SPDX identifier as classified by GitHub from the repository licence file.