Neo4j

From Wikipedia, the free encyclopedia
Neo4j
Neo4j-logo color.png
Developer(s)Neo4j
Initial release2007; 15 years ago (2007)[1]
Stable release
4.4.3[2] Edit this on Wikidata / 11 January 2022; 10 days ago (11 January 2022)
Repository
Written inJava
TypeGraph database
License
  • Source code: GPLv3 and AGPLv3
  • Binaries: Freemium registerware
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[]

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]

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

Release history[]

Release history
Release First release[16] Latest

minor version[17]

Latest release[17] End of
Support Date[16]
Milestones
1.0 2010-02-23 Old version, no longer maintained: 1.0 N/A 2011-08-23 Kernel, Index, Remote-graphdb, Shell[18]
1.1 2010-07-30 Old version, no longer maintained: 1.1 N/A 2012-01-30 Graph-algo, Online-backup[18]
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[18]
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[18]
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[18]

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[18]
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[18]
1.8 2012-09-28 Old version, no longer maintained: 1.8 N/A 2014-03-28 Bidirectional traversals, Multiple start nodes[18]
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[18][19]
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 omission, potential lock leak[18]
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[20]

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

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[22][19]

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[23][19]

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[24][19]

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[25]
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[26]
3.5 2018-11-29 Older version, yet still maintained: 3.5.30 2021-11-10 2022-05-27 Native indexing, Full-text search, The recommended index provider to use is native-btree-1.0[27]
4.0 2020-01-15 Old version, no longer maintained: 4.0.12 2021-07-06 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[28][29]

4.1 2020-06-23 Old version, no longer maintained: 4.1.11 2021-11-16 2021-12-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[30]
4.2 2020-11-17 Older version, yet still maintained: 4.2.14 2022-01-10 2022-05-16 [Administration]
ALIGNED store format, Procedures to observe the internal scheduler, Dynamic settings at startup, WAIT/NOWAIT in Database Management, Index and constraint administration commands, Filtering in SHOW commands, Backup/Restore improvements, Compress metrics on rotation, Database namespace for metrics, neo4j-admin improvements, HTTP port selective settings
[Causal Cluster]
Run/Pause Read Replicas, Database quarantine
[Cypher]
Planner improvements, Octal literals
[Functions and Procedures]
round() function, dbms.functions() procedure
[Security]
Procedures and user defined function privileges, Role-Based Access Control Default graph, PLAINTEXT and ENCRYPTED password in user creation, SHOW CURRENT USER, SHOW PRIVILEGES as commands, OCSP stapling support for Java driver[31]
4.3 2021-06-17 Older version, yet still maintained: 4.3.10 2022-01-10 2022-12-16 [Operability]
Improved server-side routing functionality, New dynamic settings, Change of permissions for the expand command option, Instance unique identification in causal cluster, Archive of the cluster state with neo4j-admin unbind, CREATE DATABASE with a seed store, Renaming users and roles, SHOW FUNCTIONS and SHOW PROCEDURES commands, CREATE and DROP FULLTEXT INDEX commands, Logging improvements, Backup/Restore enhancements, License directory
[Scalability & Federation]
Relationship chain lock for create/delete dense nodes, Read replica-only clusters
[Performance]
Node label and relationship type indexes, Relationship type/property Indexes, Cypher Planner improvements, isEmpty built-in function
[Development/Language]
exists() and IS NOT NULL functionality, Conversion functions

[Security]
Per user Home database, LDAP: guard against inadvertent authorization[32]

4.4 2021-12-02 Current stable version: 4.4.3 2022-01-11 2024-12-01 [Developers and Data Scientists]
Cypher Shell Enhancements, HTTP API, User impersonation, Drivers Keepalive (connection liveness), TestKit with Community Authors
[Language and Graphs]
Node pattern improvements, RANGE and POINT indexes, TEXT indexes
[Performance]
New index hints, CALL {…} TRANSACTIONS clause, SEARCH index improvements
[Aura and Cloud]
Cloud images for analytic workloads
[Operability]
dbms.info() information in debug.log, SHOW TRANSACTIONS and TERMINATE TRANSACTION admin commands, SHOW DATABASES improvements, READ ONLY databases, Database aliases, Neo4j Bloom and GDS library in the package
[Security]
Single Sign-On[33]
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

Licensing and editions[]

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

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

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

Neo4j, Inc.[]

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).[37]

See also[]

References[]

  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-4-4-3/.
  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. ^ "Neo4j Series F funding".
  16. ^ a b "Neo4j Supported Versions". Neo4j Graph Database Platform. Retrieved 2021-12-04.
  17. ^ a b "Release Notes Archive". Neo4j Graph Database Platform. Retrieved 2022-01-11.
  18. ^ a b c d e f g h i j k "neo4j/neo4j". GitHub. Retrieved 2020-01-28.
  19. ^ a b c d "Neo4j Open Source Project". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  20. ^ "Neo4j 2.2.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  21. ^ "Neo4j 2.3.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  22. ^ "Neo4j 3.0.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  23. ^ "Neo4j 3.1.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  24. ^ "Neo4j 3.2.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  25. ^ "Neo4j 3.3.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  26. ^ "Neo4j 3.4.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  27. ^ "Neo4j 3.5.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  28. ^ "Neo4j 4.0.0". Neo4j Graph Database Platform. Retrieved 2020-01-28.
  29. ^ "2.1. System requirements - Chapter 2. Installation". neo4j.com. Retrieved 2020-01-28.
  30. ^ "Neo4j 4.1.0". Neo4j Graph Database Platform. Retrieved 2020-06-23.
  31. ^ "Neo4j 4.2.0". Neo4j Graph Database Platform. Retrieved 2020-11-26.
  32. ^ "Neo4j 4.3.0". Neo4j Graph Database Platform. Retrieved 2021-06-17.
  33. ^ "Neo4j 4.4.0". Neo4j Graph Database Platform. Retrieved 2021-12-02.
  34. ^ "The Neo4j Editions".
  35. ^ "The Neo4j Manual v2.1.5".
  36. ^ "The Neo4j Manual v1.8.3".
  37. ^ Neo4j. "Staff - Neo4j Graph Database". Retrieved 2020-06-19.

External links[]

Retrieved from ""