















Why Neo4j?
Learn the basics in about a minute

Free O'Reilly Ebook
Graph Algorithms: Examples in Spark and Neo4j
Sample code and tips for over 20 practical algorithms. Find vulnerabilities, detect communities, improve machine learning.
Read NowWhat is Neo4j?
Neo4j is a native graph database, built from the ground up to leverage not only data but also data relationships. Neo4j connects data as it’s stored, enabling queries never before imagined, at speeds never thought possible.
The Native Graph Advantage
Unlike traditional databases, which arrange data in rows, columns and tables, Neo4j has a flexible structure defined by stored relationships between data records.
With Neo4j, each data record, or node, stores direct pointers to all the nodes it’s connected to. Because Neo4j is designed around this simple, yet powerful optimization, it performs queries with complex connections orders of magnitude faster, and with more depth, than other databases.
Learn MoreCypher — The Graph Query Language
With Neo4j, connections between data are stored – not computed at query time. Cypher is a powerful, graph-optimized query language that understands, and takes advantage of, these stored connections.
When trying to find patterns or insights within data, Cypher queries are often much simpler and easier to write than massive SQL JOINs. Since Neo4j doesn’t have tables, there are no JOINs to worry about. For comparison with SQL, here's a simple Cypher query matching all products in a category hierarchy:
Cypher
Here's a similar query in SQL, which is longer and more complex. Unlike Cypher, where depth is unlimited, this SQL query selects just three levels of depth.
SQL
Use Your Favorite Programming Language
Neo4j officially supports drivers for .Net, Java, JavaScript, Go and Python. Our community contributors provide many more, including PHP, Ruby, R, Erlang, Clojure and C/C++.
Learn More