Neo4j

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Neo4j
Neo4j-2015-logo.png
Developer(s)Neo4j
Initial release2007; 13 years ago (2007)[1]
Stable release
4.1.3 / October 1, 2020; 27 days ago (2020-10-01)[2]
Repository Edit this at Wikidata
Written inJava
TypeGraph database
License
Websiteneo4j.com

Neo4j is a graph database management system developed by Neo4j, Inc. Described by its developers as an ACID-compliant transactional database with native graph storage and processing,[3] Neo4j is available in a GPL3-licensed open-source "community edition", 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]

History[edit]

Version 1.0 was released in February 2010.[10]

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

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

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

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.[14]

Release history[edit]

Release history
Release First release[15] Latest

minor version[16]

Latest release[16] End of
Support Date[15]
Milestones
1.0 2010-02-23 Old version, no longer maintained: 1.0 N/A 2011-08-23 Kernel, Index, Remote-graphdb, Shell[17]
1.1 2010-07-30 Old version, no longer maintained: 1.1 N/A 2012-01-30 Graph-algo, Online-backup[17]
1.2 2010-12-29 Old version, no longer maintained: 1.2 N/A 2012-06-29 Server including Web Admin, High Availability, Usage Data Collection[17]
1.3 2011-04-12 Old version, no longer maintained: 1.3 N/A 2012-09-12 Neo4j Community now licensed under GPL, 256 Billion database primitives, Gremlin 0.8[17]
1.4 2011-07-08 Old version, no longer maintained: 1.4 N/A 2013-01-08 The first iteration of the Cypher Query Language, Experimental support for batch operations in REST
1.5 2011-11-09 Old version, no longer maintained: 1.5 N/A 2013-03-09 Store Format Change, Added DISTINCT to all aggregate functions in Cypher,

New layout of the property store(s), Upgraded to Lucene version 3.5[17]

1.6 2012-01-22 Old version, no longer maintained: 1.6 N/A 2013-07-22 Cypher allShortestPaths, management bean for the diagnostics logging SPI, gremlin 1.4[17]
1.7 2012-04-18 Old version, no longer maintained: 1.7 N/A 2013-10-18 Moved BatchInserter to a different package, lock free atomic array cache, GC monitor[17]
1.8 2012-09-28 Old version, no longer maintained: 1.8 N/A 2014-03-28 Bidirectional traversals, Multiple start nodes[17]
1.9 2013-05-21 Old version, no longer maintained: 1.9.9 2014-10-13 2014-11-21 Performance improvement on initial loading of relationship types during startup,

Pulled out Gremlin as separate plugin to support different versions[18]

2.0 2013-12-11 Old version, no longer maintained: 2.0.4 2014-07-08 2015-06-11 Extending model to “labeled” property graph and introduced visual IDE[19][20]
2.1 2014-05-29 Old version, no longer maintained: 2.1.8 2015-04-01 2015-11-29 Cypher new cost based planner, Fixes issue in ReferenceCache, potential ommission, potential lock leak[21]
2.2 2015-03-25 Old version, no longer maintained: 2.2.10 2016-06-16 2016-09-25 Massive Write Scalability, Massive Read Scalability, Cost-based query optimizer,

Query plan visualization[22]

2.3 2015-10-21 Old version, no longer maintained: 2.3.12 2017-12-12 2017-04-21 Break free of JVM-imposed limitations by moving the database cache off-heap,

Spring Data Neo4j 4.0, Neo4j-Docker Image, Windows Powershell Support, Mac Installer, and Launcher[23]

3.0 2016-04-16 Old version, no longer maintained: 3.0.12 2017-10-03 2017-10-31 user-defined/stored procedures called APOC (Awesome Procedures on Cypher),

Bolt binary protocol, in-house language drivers for Java, .NET, JavaScript and Python[24][20]

3.1 2016-12-13 Old version, no longer maintained: 3.1.9 2018-06-05 2018-06-13 Causal Clustering, Enterprise-Class Security and Control, User-Defined Functions,

Neo4j IBM POWER8 CAPI Flash, User and role-based security and directory integrations[25][20]

3.2 2017-05-11 Old version, no longer maintained: 3.2.14 2019-02-26 2018-11-31 Multi-Data Center Support, Causal Clustering API, Compiled Cypher Runtime, Node Keys,

Query Monitoring, Kerberos Encryption, Clustering on CAPI Flash, Schema constraints,

new indexes and new Cypher editor with syntax highlights and autocompletion[26][20]

3.3 2017-10-24 Old version, no longer maintained: 3.3.9 2018-11-02 2019-04-28 Write performance is 55% faster than Neo4j 3.2, Neo4j Data Lake Integrator toolkit, Neo4j ETL[27]
3.4 2018-05-17 Old version, no longer maintained: 3.4.17 2019-11-19 2020-03-31 Multi-Clustering, New Data Types for Space and Time, Performance Improvements[28]
3.5 2018-11-29 Older version, yet still maintained: 3.5.22 2020-09-15 2021-11-28 Native indexing, Full-text search, The recommended index provider to use is native-btree-1.0[29]
4.0 2020-01-15 Older version, yet still maintained: 4.0.8 2020-08-31 2021-07-14 Java 11 is required, Multiple databases, Internal metadata repository “system” database,

Schema-based security and Role-Based Access Control, Role and user management capabilities,

Sharding and federated access, A new neo4j:// scheme[30][31]

4.1 2020-06-23 Current stable version: 4.1.3 2020-10-01 2023-06-22 Graph privileges in Role-Based Access Control (RBAC) security, Database privileges for transaction management, Database management privileges, PUBLIC built-in role, Cluster Leadership Control, Cluster Leadership Balancing, Cypher Query Replanning Option, Cypher PIPELINED Runtime operators, Automatic routing of administration commands[32]
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

Licensing and editions[edit]

Neo4j comes in 2 editions: Community and Enterprise. It is dual-licensed: GPL v3 and a commercial 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.[33]

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[edit]

In Neo4j, everything is stored in the form of an edge, node, or attribute. Each node and edge can have any number of attributes. Both 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.[34] Previously, indexes were supported separately from Cypher.[35]

Neo4j, Inc.[edit]

Neo4j is developed by Neo4j, Inc., based in the San Francisco Bay Area, United States, and also in Malmö, Sweden. The Neo4j, Inc. board of directors consists of Michael Treskow (Eight Roads), Emmanuel Lang (Greenbridge), Christian Jepsen, Denise Persson (CMO of Snowflake), David Klein (One Peak), and Emil Eifrem (CEO of Neo4j).[36]

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. ^ "Release Notes: Neo4j 4.1.3". Neo4j. 2020-10-01. Retrieved October 1, 2020.
  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. ^ "The top 10 ways to get to know Neo4j". Neo4j Blog. February 16, 2010. Retrieved 2010-02-17.
  11. ^ "Neo4j 2.0 GA - Graphs for Everyone". Neo4j Blog. December 11, 2013. Retrieved 2014-01-10.
  12. ^ "Neo4j 3.0.0 - Neo4j Graph Database Platform". Release Date. April 26, 2016. Retrieved 2020-04-23.
  13. ^ "Neo Technology closes $36 million in funding as graph database adoption soars". SiliconANGLE. Retrieved 2016-11-21.
  14. ^ "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.
  15. ^ a b "Neo4j Supported Versions". Neo4j Graph Database Platform. Retrieved 2020-06-23.
  16. ^ a b "Release Notes Archive". Neo4j Graph Database Platform. Retrieved 2020-06-23.
  17. ^ a b c d e f g h "neo4j/neo4j". GitHub. Retrieved 2020-01-28.
  18. ^ "neo4j/neo4j". GitHub. Retrieved 2020-01-28.
  19. ^ "neo4j/neo4j". GitHub. Retrieved 2020-01-28.
  20. ^ a b c d "Neo4j Open Source Project". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  21. ^ "neo4j/neo4j". GitHub. Retrieved 2020-01-28.
  22. ^ "Neo4j 2.2.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  23. ^ "Neo4j 2.3.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  24. ^ "Neo4j 3.0.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  25. ^ "Neo4j 3.1.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  26. ^ "Neo4j 3.2.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  27. ^ "Neo4j 3.3.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  28. ^ "Neo4j 3.4.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  29. ^ "Neo4j 3.5.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  30. ^ "Neo4j 4.0.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  31. ^ "2.1. System requirements - Chapter 2. Installation". neo4j.com. Retrieved 2020-01-28.
  32. ^ "Neo4j 4.1.0". Neo4j Graph Database Platform. Retrieved 2020-06-23.
  33. ^ "The Neo4j Editions".
  34. ^ "The Neo4j Manual v2.1.5".
  35. ^ "The Neo4j Manual v1.8.3".
  36. ^ Neo4j. "Staff - Neo4j Graph Database". Retrieved 2020-06-19.

External links[edit]