Neo4j

From Justapedia, unleashing the power of collective wisdom
(Redirected from Neo4J)
Jump to navigation Jump to search
Neo4j
Developer(s)Neo4j
Initial release2007; 17 years ago (2007)[1]
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,[2] 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.[3] Neo also licenses Neo4j with these extensions under closed-source commercial terms.[4]

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.[5][6][7][8]The "4j" in Neo4j is a reference to its being built in Java, however is now largely viewed as an anachronism.[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 2011-08-23 Kernel, Index, Remote-graphdb, Shell[18]
1.1 2010-07-30 Old version, no longer maintained: 1.1 2012-01-30 Graph-algo, Online-backup[18]
1.2 2010-12-29 Old version, no longer maintained: 1.2 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 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 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 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 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 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 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 Old version, no longer maintained: 3.5.35 2022-08-11 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.12 2022-08-11 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 Old version, no longer maintained: 4.2.19 2022-08-11 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.20 2022-11-03 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 Older version, yet still maintained: 4.4.12 2022-10-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]
5.0 2022-10-06 Old version, no longer maintained: 5.0 2022-10-24 The Limited Availability Release

[Surface for Developers and Data Scientists]
Browser 5.0, Exceptions and Errors provide is_retryable(), asyncio Python functions, Python driver supports Pandas dataframes, Query String and Parameters in the results objects in the Go driver, New unique (reused) element ID, Notifications, Traversal Framework for Neo4j 5
[Language and Graph Model]
Graph Pattern Matching, Additions to Cypher, Neo4j 5 APOC 5 Library
[Read and Export Performance]
RANGE and POINT indexes, Removed support for BTREE Indexes, Lists included in FULLTEXT indexes, Faster K-Hop Queries, Auto-parameterize, SLOTTED Runtime in Community Edition
[Write and Import Performance]
Incremental Offline Import, PIPELINED Runtime support for write operations, No Eager for DETACH DELETE (n)
[Scale and Availability]
Autonomous Clustering (Enterprise), Cypher’s COMPOSITE DATABASE provides real time Fabric configuration (Enterprise), Removed the Multi-DC license setting (Enterprise)
[Cloud Native Operations]
IMMUTABLE privilege command (Enterprise), Server-Side Routing is enabled by default (Enterprise)
[Operability & Observability]
Neo4j-admin, New namespaces for configuration settings in neo4j.conf, Procedures for validating config settings, Cypher-shell provides auto completion of commands, Cypher-shell read access when there is no leader (Enterprise), Cypher-shell environment variables for URI or address, CREATE DATABASE FROM URI, New backup subsystem (Enterprise), Strict validation for configuration settings by default, New namespaces for Metrics (Enterprise), Neo4j.log has log rotation enabled by default, All logging is controlled by log4j, Order transaction log files by creation time, Destination database name is included in the debug.log, Transaction metadata included in Cypher-shell queries, Cypher-shell logging (-log)
[Security]
Cypher-shell impersonation (Enterprise)
[Platform & Supportability]
Requires Java JDK 17 and Scala 2.13, New Support Terms, Migration from Neo4j 4.4 to Neo4j 5, Any-to-any version rolling upgrade, Log acceptance of the enterprise agreement in neo4j.log, Transaction state memory allocation, Consistent write throughput with Corretto JVM on AWS Graviton 2[34]
5.1 2022-10-24 Current stable version: 5.1 Release of 5.2 [Products included]
Bloom 2.4.1, Neo4j Graph Data Science 2.2.2, Neo4j Ops Manager 1.2
[Surface for Developers and Data Scientists]
Improved messaging in Browser for startup of newly created databases, Browser support connecting to cluster members without a default database, Procedures can specify an analyzer for Full Text queries
[Language and Graph Model]
Include Europe/Kyiv in the list of time zones in Cypher
[Write and Import Performance]
Incremental Import CSV header supports id-type
[Read and Export Performance]
Trigram Analyzer, Range seek Index Searches are consistent
[Scale and Availability]
Autonomous Clusters support Server Side Routing for Reads, Set or update the TOPOLOGY without specifying PRIMARY, Default database is created and allocated on a best-effort basis
[Platform & Supportability]
Migration from Neo4j 4.4 to Neo4j 5.1, Any-to-any version rolling upgrade[35]
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.[36]

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

Neo4j, Inc.

Neo4j is developed by Neo4j, Inc., based in San Mateo, California, United States, and also in Malmö, Sweden. The Neo4j, Inc. board of directors consists of Michael Treskow (Eight Roads), Emanuel Lang (Greenbridge), Christian Jepsen (Sunstone), Denise Persson (CMO of Snowflake), David Klein (One Peak), Nathalie Kornhoff-Brüls (Eurazeo), Patrick Pichette (Inovia Capital and former CFO of Google), and Emil Eifrem (CEO of Neo4j).[39]

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. ^ Neo Technology. "Neo4j Graph Database". Retrieved 2015-11-04.
  3. ^ Philip Rathle (November 15, 2018). "Simplicity Wins: We're Shifting to an Open Core Licensing Model for Neo4j Enterprise Edition". Retrieved 2019-01-16.
  4. ^ Emil Eifrem (April 13, 2011). "Graph Databases, Licensing and MySQL". Archived from the original on 2011-04-26. Retrieved 2011-04-29.
  5. ^ "Bolt Protocol".
  6. ^ Todd Hoff (June 13, 2009). "Neo4j - a Graph Database that Kicks Buttox". High Scalability. Possibility Outpost. Retrieved 2010-02-17.
  7. ^ Gavin Terrill (June 5, 2008). "Neo4j - an Embedded, Network Database". InfoQ. C4Media Inc. Retrieved 2010-02-17.
  8. ^ "5.1. Transactional Cypher HTTP endpoint". Retrieved 2015-11-04.
  9. ^ Dr. Jim Webber (June 8, 2020). "A Personal History of Neo4j". Neo4j. YouTube. Retrieved 2022-06-09.
  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-11-03.
  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. ^ "Neo4j 5". Neo4j Graph Database Platform. Retrieved 2022-10-24.
  35. ^ "Neo4j 5". Neo4j Graph Database Platform. Retrieved 2022-10-24.
  36. ^ "The Neo4j Editions".
  37. ^ "The Neo4j Manual v2.1.5".
  38. ^ "The Neo4j Manual v1.8.3".
  39. ^ Neo4j. "Staff - Neo4j Graph Database". Retrieved 2020-06-19.

External links

  • No URL found. Please specify a URL here or add one to Wikidata.