Jump to content

Neo4j

From Wikipedia, the free encyclopedia
Neo4j
Developer(s)Neo4j Inc.
Initial release2007; 17 years ago (2007)[1]
Stable release
5.26[2] Edit this on Wikidata / 9 December 2024; 2 days ago (9 December 2024)
Repository
Written inJava
TypeGraph database
License
Websiteneo4j.com

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

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

[edit]

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

[edit]
Release history
Release First release[17] Latest

minor version[18]

Latest release[18] End of
Support Date[17]
1.0 2010-02-23 Old version, no longer maintained: 1.0 2011-08-23
1.1 2010-07-30 Old version, no longer maintained: 1.1 2012-01-30
1.2 2010-12-29 Old version, no longer maintained: 1.2 2012-06-29
1.3 2011-04-12 Old version, no longer maintained: 1.3 2012-09-12
1.4 2011-07-08 Old version, no longer maintained: 1.4 2013-01-08
1.5 2011-11-09 Old version, no longer maintained: 1.5 2013-03-09
1.6 2012-01-22 Old version, no longer maintained: 1.6 2013-07-22
1.7 2012-04-18 Old version, no longer maintained: 1.7 2013-10-18
1.8 2012-09-28 Old version, no longer maintained: 1.8 2014-03-28
1.9 2013-05-21 Old version, no longer maintained: 1.9.9 2014-10-13 2014-11-21
2.0 2013-12-11 Old version, no longer maintained: 2.0.4 2014-07-08 2015-06-11
2.1 2014-05-29 Old version, no longer maintained: 2.1.8 2015-04-01 2015-11-29
2.2 2015-03-25 Old version, no longer maintained: 2.2.10 2016-06-16 2016-09-25
2.3 2015-10-21 Old version, no longer maintained: 2.3.12 2017-12-12 2017-04-21
3.0 2016-04-16 Old version, no longer maintained: 3.0.12 2017-10-03 2017-10-31
3.1 2016-12-13 Old version, no longer maintained: 3.1.9 2018-06-05 2018-06-13
3.2 2017-05-11 Old version, no longer maintained: 3.2.14 2019-02-26 2018-11-31
3.3 2017-10-24 Old version, no longer maintained: 3.3.9 2018-11-02 2019-04-28
3.4 2018-05-17 Old version, no longer maintained: 3.4.17 2019-11-19 2020-03-31
3.5 2018-11-29 Old version, no longer maintained: 3.5.35 2022-08-11 2022-05-27
4.0 2020-01-15 Old version, no longer maintained: 4.0.12 2021-07-06 2021-07-14
4.1 2020-06-23 Old version, no longer maintained: 4.1.12 2022-08-11 2021-12-22
4.2 2020-11-17 Old version, no longer maintained: 4.2.19 2022-08-11 2022-05-16
4.3 2021-06-17 Old version, no longer maintained: 4.3.23 2022-12-21 2022-12-16
4.4 2021-12-02 Old version, yet still maintained: 4.4.39 2024-11-25 2025-06-30
5.0 2022-10-06 Old version, no longer maintained: 5.0 2022-10-24
5.1 2022-10-24 Old version, no longer maintained: 5.1 Release of 5.2
5.2 2022-11-21 Old version, no longer maintained: 5.2 Release of 5.3
5.3 2022-12-15 Old version, no longer maintained: 5.3 Release of 5.4
5.4 2023-01-26 Old version, no longer maintained: 5.4 Release of 5.5
5.5 2023-02-16 Old version, no longer maintained: 5.5 Release of 5.6
5.6 2023-03-24 Old version, no longer maintained: 5.6 Release of 5.7
5.7 2023-04-20 Old version, no longer maintained: 5.7 Release of 5.8
5.8 2023-05-16 Old version, no longer maintained: 5.8 Release of 5.9
5.9 2023-06-15 Old version, no longer maintained: 5.9 Release of 5.10
5.10 2023-07-19 Old version, no longer maintained: 5.10 Release of 5.11
5.11 2023-08-15 Old version, no longer maintained: 5.11 Release of 5.12
5.12 2023-09-14 Old version, no longer maintained: 5.12 Release of 5.13
5.13 2023-10-23 Old version, no longer maintained: 5.13 Release of 5.14
5.14 2023-11-24 Old version, no longer maintained: 5.14 Release of 5.15
5.15 2023-12-15 Old version, no longer maintained: 5.15 Release of 5.16
5.16 2024-01-22 Old version, no longer maintained: 5.16 Release of 5.17
5.17 2024-02-23 Old version, no longer maintained: 5.17 Release of 5.18
5.18 2024-03-13 Old version, no longer maintained: 5.18.1 2024-03-18 Release of 5.19
5.19 2024-04-12 Old version, no longer maintained: 5.19 Release of 5.20
5.20 2024-05-23 Old version, no longer maintained: 5.20 Release of 5.21
5.21 2024-06-28 Old version, no longer maintained: 5.21.2 2024-07-09 Release of 5.22
5.22.0 2024-07-25 Old version, no longer maintained: 5.22.0 Release of 5.23
5.23 2024-08-22 Old version, no longer maintained: 5.23 Release of 5.24
5.24 2024-09-27 Old version, no longer maintained: 5.24.2 2024-10-15 Release of 5.25
5.25.1 2024-10-31 Old version, no longer maintained: 5.25.1
5.26 (LTS) 2024-12-09 Current stable version: 5.26
Legend:
Old version, not maintained
Old version, still maintained
Latest version
Latest preview version
Future release

Licensing and editions

[edit]

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.

The licensing is controversial and has been the subject of at least one lawsuit.[20]

Data structure

[edit]

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.[21] Previously, indexes were supported separately from Cypher.[22]

Criticisms

[edit]

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.[23] 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 in a few specific tasks.[24]

Neo4j sued PureThink, a small business that had used a power created under the terms of the GNU AGPL, to remove a restrictive Commons clause that Neo4j had added to the AGPL license.[20][25] The United States District Court for the Northern District of California made a decision on 2024-07-22 to impose $597,000 in actual damages on PureThink, having previously decided that PureThink had violated the DMCA by removing the Commons Clause from Neo4j's AGPL license, and that it had violated trademark law by continuing to use the name Neo4j in selling to government agencies.[26]

See also

[edit]

References

[edit]
  1. ^ Neubauer, Peter [@peterneubauer] (17 Feb 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. ^ https://neo4j.com/release-notes/database/neo4j-5/. {{cite web}}: Missing or empty |title= (help)
  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. Archived from the original on 2010-03-06. 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". Archived from the original on 2016-08-03. 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. ^ a b "Neo4j Supported Versions". Neo4j Graph Database Platform. Retrieved 2024-12-09.
  18. ^ a b "Release Notes Archive". Neo4j Graph Database Platform. Retrieved 2024-12-09.
  19. ^ "The Neo4j Editions".
  20. ^ a b Kuhn, Bradley M. (March 30, 2022). "An Erroneous Preliminary Injunction Granted in Neo4j v. PureThink". Retrieved 2024-09-14.
  21. ^ "The Neo4j Manual v2.1.5".
  22. ^ "The Neo4j Manual v1.8.3".
  23. ^ Pavlo, Andy (2023-03-08). "Abandoning relational DB model like 'reinventing the wheel'". The Register. Retrieved 2024-02-21.
  24. ^ 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.
  25. ^ "SFC's Policy Fellow Files Expert Report in Neo4j v. PureThink; Case about the "further restrictions" removal provision of the AGPLv3 continues after counterclaim filing". February 9, 2023. Retrieved 2024-09-14.
  26. ^ "NEO4J, INC., et al., Plaintiffs, v. PURETHINK, LLC, et al., Defendants.: Findings of Fact and Conclusions of Law" (PDF). 2024-07-22. Retrieved 2024-09-14.
[edit]