Neo4j

Last updated
Neo4j
Developer(s) Neo4j
Initial release2007;17 years ago (2007) [1]
Stable release
5.19 [2]   OOjs UI icon edit-ltr-progressive.svg / 12 April 2024;2 days ago (12 April 2024)
Repository
Written in Java
Type Graph database
License
Website neo4j.com

Neo4j is a graph database management system (GDBMS) developed by Neo4j, Inc.

Contents

The data elements Neo4j stores are nodes, edges connecting them, and attributes of nodes and edges. Described by its developers as an ACID-compliant transactional database with native graph storage and processing, [3] Neo4j is available in a non-open-source "community edition" licensed with a modification of the GNU General Public License, with online backup and high availability extensions licensed under a closed-source commercial license. [4] Neo also licenses Neo4j with these extensions under closed-source commercial terms. [5]

Neo4j is implemented in Java and accessible from software written in other languages using the Cypher query language through a transactional HTTP endpoint, or through the binary "Bolt" protocol. [6] [7] [8] [9] The "4j" in Neo4j is a reference to its being built in Java, however is now largely viewed as an anachronism. [10]

History

Neo4j is developed by Neo4j, Inc., based in San Mateo, California, United States and Malmö, Sweden.

Version 1.0 was released in February 2010. [11]

Neo4j version 2.0 was released in December 2013. [12]

Neo4j version 3.0 was released in April 2016. [13]

In November 2016, Neo4j successfully secured $36M in Series D Funding led by Greenbridge Partners Ltd. [14]

In November 2018, Neo4j successfully secured $80M in Series E Funding led by One Peak Partners and Morgan Stanley Expansion Capital, with participation from other investors including Creandum, Eight Roads and Greenbridge Partners. [15]

In June 2021, Neo4j announced another round of funding, $325M in Series F. [16]

Release history

Release history
ReleaseFirst release [17] Latest

minor version [18]

Latest release [18] End of
Support Date [17]
1.02010-02-23Old version, no longer maintained: 1.02011-08-23
1.12010-07-30Old version, no longer maintained: 1.12012-01-30
1.22010-12-29Old version, no longer maintained: 1.22012-06-29
1.32011-04-12Old version, no longer maintained: 1.32012-09-12
1.42011-07-08Old version, no longer maintained: 1.42013-01-08
1.52011-11-09Old version, no longer maintained: 1.52013-03-09
1.62012-01-22Old version, no longer maintained: 1.62013-07-22
1.72012-04-18Old version, no longer maintained: 1.72013-10-18
1.82012-09-28Old version, no longer maintained: 1.82014-03-28
1.92013-05-21Old version, no longer maintained: 1.9.92014-10-132014-11-21
2.02013-12-11Old version, no longer maintained: 2.0.42014-07-082015-06-11
2.12014-05-29Old version, no longer maintained: 2.1.82015-04-012015-11-29
2.22015-03-25Old version, no longer maintained: 2.2.102016-06-162016-09-25
2.32015-10-21Old version, no longer maintained: 2.3.122017-12-122017-04-21
3.02016-04-16Old version, no longer maintained: 3.0.122017-10-032017-10-31
3.12016-12-13Old version, no longer maintained: 3.1.92018-06-052018-06-13
3.22017-05-11Old version, no longer maintained: 3.2.142019-02-262018-11-31
3.32017-10-24Old version, no longer maintained: 3.3.92018-11-022019-04-28
3.42018-05-17Old version, no longer maintained: 3.4.172019-11-192020-03-31
3.52018-11-29Old version, no longer maintained: 3.5.352022-08-112022-05-27
4.02020-01-15Old version, no longer maintained: 4.0.122021-07-062021-07-14
4.12020-06-23Old version, no longer maintained: 4.1.122022-08-112021-12-22
4.22020-11-17Old version, no longer maintained: 4.2.192022-08-112022-05-16
4.32021-06-17Old version, no longer maintained: 4.3.232022-12-212022-12-16
4.42021-12-02Older version, yet still maintained: 4.4.322024-03-262025-06-30
5.02022-10-06Old version, no longer maintained: 5.02022-10-24
5.12022-10-24Old version, no longer maintained: 5.1Release of 5.2
5.22022-11-21Old version, no longer maintained: 5.2Release of 5.3
5.32022-12-15Old version, no longer maintained: 5.3Release of 5.4
5.42023-01-26Old version, no longer maintained: 5.4Release of 5.5
5.52023-02-16Old version, no longer maintained: 5.5Release of 5.6
5.62023-03-24Old version, no longer maintained: 5.6Release of 5.7
5.72023-04-20Old version, no longer maintained: 5.7Release of 5.8
5.82023-05-16Old version, no longer maintained: 5.8Release of 5.9
5.92023-06-15Old version, no longer maintained: 5.9Release of 5.10
5.102023-07-19Old version, no longer maintained: 5.10Release of 5.11
5.112023-08-15Old version, no longer maintained: 5.11Release of 5.12
5.122023-09-14Old version, no longer maintained: 5.12Release of 5.13
5.132023-10-23Old version, no longer maintained: 5.13Release of 5.14
5.142023-11-24Old version, no longer maintained: 5.14Release of 5.15
5.152023-12-15Old version, no longer maintained: 5.15Release of 5.16
5.162024-01-22Old version, no longer maintained: 5.16Release of 5.17
5.172024-02-23Old version, no longer maintained: 5.17Release of 5.18
5.182024-03-13Old version, no longer maintained: 5.18.12024-03-18Release of 5.19
5.192024-04-12Current stable version:5.19
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

Licensing and editions

Neo4j comes in five editions. Two are on-premises editions, Community (free) and Enterprise, and three are cloud-only editions: AuraDB Free, AuraDB Professional, and AuraDB Enterprise.

It is dual-licensed: GPL v3 (with parts of the code under AGPLv3 with Commons Clause), and a proprietary license. The Community Edition is free but is limited to running on one node only due to the lack of clustering and is without hot backups. [19]

The Enterprise Edition unlocks these limitations, allowing for clustering, hot backups, and monitoring. The Enterprise Edition is available under a closed-source commercial license.

Data structure

The data elements are nodes, edges which connect nodes to one another, and attributes of nodes and edges. Nodes and edges can be labelled. Labels can be used to narrow searches. As of version 2.0, indexing was added to Cypher with the introduction of schemas. [20] Previously, indexes were supported separately from Cypher. [21]

Criticisms

Database researcher Andy Pavlo from Carnegie Mellon University has questioned graph databases' decision to abandon the longstanding relational model in favor of a custom model. [22] Researchers from CWI benchmarked a modified version of DuckDB against Neo4j on graph-related workloads and found that, despite being an extension of a relational database running SQL, their implementation outperforms Neo4j. [23]

See also

Related Research Articles

<span class="mw-page-title-main">PostgreSQL</span> Free and open-source object relational database management system

PostgreSQL, also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transactions with atomicity, consistency, isolation, durability (ACID) properties, automatically updatable views, materialized views, triggers, foreign keys, and stored procedures. It is supported on all major operating systems, including Linux, FreeBSD, OpenBSD, macOS, and Windows, and handles a range of workloads from single machines to data warehouses or web services with many concurrent users.

<span class="mw-page-title-main">Ingres (database)</span> Database software

Ingres Database is a proprietary SQL relational database management system intended to support large commercial and government applications.

<span class="mw-page-title-main">IBM Db2</span> Relational model database server

Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON and XML. The brand name was originally styled as DB2 until 2017, when it changed to its present form.

SAP ASE (Adaptive Server Enterprise), originally known as Sybase SQL Server, and also commonly known as Sybase DB or Sybase ASE, is a relational model database server developed by Sybase Corporation, which later became part of SAP SE. ASE was developed for the Unix operating system, and is also available for Microsoft Windows.

A query language, also known as data query language or database query language (DQL), is a computer language used to make queries in databases and information systems. In database systems, query languages rely on strict theory to retrieve information. A well known example is the Structured Query Language (SQL).

A spatial database is a general-purpose database that has been enhanced to include spatial data that represents objects defined in a geometric space, along with tools for querying and analyzing such data.

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:

NoSQL is an approach to database design that focuses on providing a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Instead of the typical tabular structure of a relational database, NoSQL databases house data within one data structure. Since this non-relational database design does not require a schema, it offers rapid scalability to manage large and typically unstructured data sets. NoSQL systems are also sometimes called "Not only SQL" to emphasize that they may support SQL-like query languages or sit alongside SQL databases in polyglot-persistent architectures.

A graph database (GDB) is a database that uses graph structures for semantic queries with nodes, edges, and properties to represent and store data. A key concept of the system is the graph. The graph relates the data items in the store to a collection of nodes and edges, the edges representing the relationships between the nodes. The relationships allow data in the store to be linked together directly and, in many cases, retrieved with one operation. Graph databases hold the relationships between data as a priority. Querying relationships is fast because they are perpetually stored in the database. Relationships can be intuitively visualized using graph databases, making them useful for heavily inter-connected data.

<span class="mw-page-title-main">Sones GraphDB</span>

Sones GraphDB was a graph database developed by the German company sones GmbH, available from 2010 to 2012. Its last version was released in May 2011. sones GmbH, which was based in Erfurt and Leipzig, was declared bankrupt on January 1, 2012.

A cloud database is a database that typically runs on a cloud computing platform and access to the database is provided as-a-service. There are two common deployment models: users can run databases on the cloud independently, using a virtual machine image, or they can purchase access to a database service, maintained by a cloud database provider. Of the databases available on the cloud, some are SQL-based and some use a NoSQL data model.

<span class="mw-page-title-main">Actian Zen</span>

Actian Zen is an ACID-compliant, zero-DBA, embedded, nano-footprint, multi-model, Multi-Platform database management system (DBMS) developed originally by Pervasive Software, which was acquired by Actian Corporation in 2013.

The following is provided as an overview of and topical guide to databases:

<span class="mw-page-title-main">SingleStore</span> Database management system

SingleStore is a proprietary, cloud-native database designed for data-intensive applications. A distributed, relational, SQL database management system (RDBMS) that features ANSI SQL support, it is known for speed in data ingest, transaction processing, and query processing.

<span class="mw-page-title-main">Oracle NoSQL Database</span> Distributed database

Oracle NoSQL Database is a NoSQL-type distributed key-value database from Oracle Corporation. It provides transactional semantics for data manipulation, horizontal scalability, and simple administration and monitoring.

FoundationDB is a free and open-source multi-model distributed NoSQL database developed by Apple Inc. with a shared-nothing architecture. The product was designed around a "core" database, with additional features supplied in "layers." The core database exposes an ordered key–value store with transactions. The transactions are able to read or write multiple keys stored on any machine in the cluster while fully supporting ACID properties. Transactions are used to implement a variety of data models via layers.

Cypher is a declarative graph query language that allows for expressive and efficient data querying in a property graph.

The following outline is provided as an overview of and topical guide to MySQL:

GQL is a standard graph query language published 2024-04-12 as ISO/IEC 39075:2024.

RavenDB is an open-source document-oriented database written in C#, developed by Hibernating Rhinos Ltd. It is cross-platform, supported on Windows, Linux, and Mac OS. RavenDB stores data as JSON documents and can be deployed in distributed clusters with master-master replication.

References

  1. Neubauer, Peter [@peterneubauer] (November 4, 2010). "@sarkkine #Neo4j was developed as part of a CMS SaaS 2000-2007, became released OSS 2007 when Neo Technology spun out" (Tweet) via Twitter.
  2. Error: Unable to display the reference properly. See the documentation for details.
  3. Neo Technology. "Neo4j Graph Database" . Retrieved 2015-11-04.
  4. Philip Rathle (November 15, 2018). "Simplicity Wins: We're Shifting to an Open Core Licensing Model for Neo4j Enterprise Edition" . Retrieved 2019-01-16.
  5. Emil Eifrem (April 13, 2011). "Graph Databases, Licensing and MySQL". Archived from the original on 2011-04-26. Retrieved 2011-04-29.
  6. "Bolt Protocol".
  7. Todd Hoff (June 13, 2009). "Neo4j - a Graph Database that Kicks Buttox". High Scalability. Possibility Outpost. Retrieved 2010-02-17.
  8. Gavin Terrill (June 5, 2008). "Neo4j - an Embedded, Network Database". InfoQ. C4Media Inc. Retrieved 2010-02-17.
  9. "5.1. Transactional Cypher HTTP endpoint" . Retrieved 2015-11-04.
  10. Dr. Jim Webber (June 8, 2020). "A Personal History of Neo4j". Neo4j. YouTube. Retrieved 2022-06-09.
  11. "The top 10 ways to get to know Neo4j". Neo4j Blog. February 16, 2010. Retrieved 2010-02-17.
  12. "Neo4j 2.0 GA - Graphs for Everyone". Neo4j Blog. December 11, 2013. Retrieved 2014-01-10.
  13. "Neo4j 3.0.0 - Neo4j Graph Database Platform". Release Date. April 26, 2016. Retrieved 2020-04-23.
  14. "Neo Technology closes $36 million in funding as graph database adoption soars". SiliconANGLE. Retrieved 2016-11-21.
  15. "Graph database platform Neo4j locks in $80 mln Series E". PE Hub Wire. Archived from the original on 2019-04-26. Retrieved 2018-11-01.
  16. "Neo4j Series F funding".
  17. 1 2 "Neo4j Supported Versions". Neo4j Graph Database Platform. Retrieved 2024-04-12.
  18. 1 2 "Release Notes Archive". Neo4j Graph Database Platform. Retrieved 2024-04-12.
  19. "The Neo4j Editions".
  20. "The Neo4j Manual v2.1.5".
  21. "The Neo4j Manual v1.8.3".
  22. Pavlo, Andy (2023-03-08). "Abandoning relational DB model like 'reinventing the wheel'". The Register . Retrieved 2024-02-21.
  23. D.L.J, Daniël; Singh, Tavneet; Szárnyas, Gábor; Boncz, Peter (2023-01-08). "DuckPGQ: Efficient property graph queries in an analytical RDBMS". Centrum Wiskunde & Informatica. Retrieved 2024-02-21.