Awesome Neo4j¶
A curated list of awesome Neo4j resources.
Inspired by the awesome-*
trend on GitHub.
The goal is to build a categorized community-driven collection of very well-known resources.
Sharing, suggestions and contributions are always welcome!
Thanks to all contributors.
Maintained by Neueda R&D.
Table of Contents¶
Created by gh-md-toc
Basics¶
- Official documentation
- Cypher Refcard
- Developer resources
- Gists - With Neo4j GraphGists you can describe and model your domain in a simple text file and render it as a rich, interactive page in any browser. Perfect to document a specific domain, use-case, question or graph problem.
- Neo4j Examples - Examples for Neo4j and Library Usage.
Related project¶
- openCypher - openCypher is an open source project to bring a new public implementation of the industry’s most widely adopted graph query language: Cypher.
- Bolt Protocol - The Bolt network protocol is a highly efficient, lightweight client-server protocol designed for database applications.
Connectors¶
Bolt¶
- neo4j-java-driver - Java driver for Neo4j binary protocol.
- neo4j-python-driver - Python driver for Neo4j binary protocol.
- neo4j-javascript-driver - JavaScript driver for Neo4j binary protocol.
- neo4j-dotnet-driver - .Net driver for Neo4j (Bolt).
- neo4j-bolt-php - PHP driver for Neo4j binary protocol.
- libneo4j-client - libneo4j-client is a client library written in C for Neo4j. It is not intended as a complete driver, but rather as a foundation on which basic tools and drivers for various languages may be built. libneo4j-client takes care of all the detail of establishing a session with a Neo4j server, sending statements for evaluation, and retrieving results.
- neo4j-spark-connector - Neo4j-Spark-Connector based on Neo4j 3.0's Bolt protocol
- neo4j-elixir-driver - Elixir driver for the neo4j bolt protocol
- neo4j-elixir-wrapper - Neo4j driver for Elixir, wrapped around the Bolt protocol. Fork of the Boltex.
REST API¶
Java¶
- neo4j-ogm - Object-Graph Mapping Library for Neo4j.
- spring-data-neo4j - Provides support to increase developer productivity in Java when using the neo4j graph database.
- neo4j-jdbc - Neo4j JDBC driver.
- jcypher - Java access to Neo4J graph databases at multiple levels of abstraction.
Ruby¶
- neo4jrb - An active model wrapper for the Neo4j Graph Database for Ruby.
- neography - A thin Ruby wrapper to the Neo4j Rest API.
Python¶
- py2neo - Py2neo is a comprehensive toolkit for working with Neo4j from within Python applications or from the command line.
- neomodel - An Object Graph Mapper (OGM) for the neo4j graph database, built on the awesome py2neo.
PHP¶
- Neo4j-PHP-OGM - Doctrine style Object Graph Mapper for Neo4j
- neo4jphp - PHP wrapper of the Neo4j REST interface.
- NeoEloquent - A Neo4j ORM - Based on Eloquent.
- neo4j-php-client - PHP Client for Neo4j leveraging the Http and Bolt protocols.
- Spider - A simple, flexible, and beautiful graph-data abstraction for php.
Other¶
- node-neo4j - REST API client for Node.
- Neo4jClient - .NET client binding.
- neoism - Client for Golang.
- neocons - A feature rich idiomatic Clojure client for the REST API.
- RNeo4j - Driver for R.
- AnormCypher - Scala library based on Anorm in the Play Framework.
Cloud¶
- GrapheneDB - The world's first fully managed Neo4j graph database.
- GraphStory - Neo4j enterprise cloud provider
Packages¶
Docker¶
- docker-neo4j - Docker Images for the Neo4j Graph Database.
- docker-neo4j-cluster - Up & Running Neo4j cluster in no time.
Full-text search¶
- GraphAware Neo4j Elasticsearch Integration - GraphAware Framework Module for Integrating Neo4j with Elasticsearch.
- GraphAware Graph-Aided Search - Elasticsearch plugin offering Neo4j integration for Personalized Search.
- neo4j-elasticsearch - Neo4j ElasticSearch Integration.
Import¶
- GraphAware Neo4j Importer - Java importer skeleton for complicated, business-logic-heavy high-performance Neo4j imports directly from SQL databases, CSV files, etc.
- neo4j-csv-firehose - Enables Neo4j’s
LOAD CSV
Cypher command to load from other datasources as well. - neo4j-rdbms-import - An automatic importer for relational databases into Neo4j.
- Doc manager for Neo4j - The Neo4j Doc Manager takes MongoDB documents and makes it easy to query them for relationships by making them available in a Neo4j graph structure, following the format specified by Mongo Connector.
- neoloadcsvskelgen - Will output a skeleton of LOAD CSV Cypher code, from very little input (filename, separator, hints). Save time, avoid typos.
Benchmarking¶
- neoprofiler - Neo4J database profiling utility.
Extensions¶
- GraphAware Neo4j UUID - GraphAware Runtime Module that assigns a UUID to all nodes in the graph transparently.
- GraphAware Neo4j ChangeFeed - A GraphAware Framework Runtime Module allowing users to find out what were the latest changes performed on the graph.
- GraphAware Neo4j TimeTree - Java and REST APIs for working with time-representing tree in Neo4j.
- GraphAware Neo4j Recommendation Engine - Neo4j-based recommendation engine module with real-time and pre-computed recommendations.
- GraphAware Neo4j Algorithms - Custom graph algorithms for Neo4j with own Java and REST APIs.
- GraphAware Neo4j Warmup - Simple library that warms up Neo4j caches with a single REST call.
- GraphAware Neo4j RestTest - GraphAware RestTest is a simple library for testing code that talks to Neo4j running in standalone server mode.
- GraphAware Neo4j Expire - GraphAware Expire is a simple library that automatically deletes nodes and relationships from the database when they've reached their expiration date or time-to-live (TTL).
- Spatial - Neo4j Spatial is a library of utilities for Neo4j that faciliates the enabling of spatial operations on data.
- Graphify - Graphify is a Neo4j unmanaged extension used for document and text classification using graph-based hierarchical pattern recognition.
- neo4j-tx-participation - This is a Neo4j Server Extension to make Neo4j REST-API participate in transactions started by the transactional Cypher endpoint.
Stored Procedures¶
- Apoc : Awesome Procedures on Cypher - Collection of useful procedures for Neo4j 3.x
- Graphgen - Neo4j procedure for generating test data easily with Cypher
Development¶
- Maven repositories - Neo4j Maven repositories (releases, snapshots).
- GraphAware Neo4j Framework- GraphAware Framework speeds up development with Neo4j by providing a platform for building useful generic as well as domain-specific functionality, analytical capabilities, (iterative) graph algorithms, etc.
- cypher-dsl - A Java DSL for the Cypher Query Language and an optional Query DSL mode.
- Liquigraph - Database migrations management tool, based on how Liquibase works.
- blueprints - Blueprints is a collection of interfaces, implementations, ouplementations, and test suites for the property graph data model. Blueprints is analogous to the JDBC, but for graph databases.
- structr - Graph Application Platform based on Neo4j.
- Reco4PHP - Neo4j based Recommendation Engine Framework for PHP.
Editors¶
- jetbrains-plugin-graph-database-support - Graph Databases support for Jetbrains family IDE's.
- cypher-vim-syntax - Very basic Vim syntax for Cypher.
Shell¶
- cycli - A Command Line Interface for Cypher.
- neo4j-shell-tools - A bunch of import/export tools for the neo4j-shell.
Visualization¶
- neoclipse - Neoclipse is a tool to view, edit and explore Neo4j databases.
- Gephi - Gephi is an award-winning open-source platform for visualizing and manipulating large graphs.
- Linkurious - Linkurious helps search and visualize your graph data through a simple web-based interface.
- yFiles for HTML - yFiles is a commercial generic graph visualization programming library that comes with a demo to visualize your neo4j databases in JavaScript. It's also the basis for the free neo4j Graph Explorer app.
Tools¶
- Graphgen - Graph Generation engine based on the Cypher DSL.
- store-utils - Utilities to compact, copy, fix, analyse Neo4j stores.
- ineo- A simple but useful Neo4j instance manager.
- yFiles neo4j Graph Explorer - A simple, free online tool to visualize your graph data and database schema.
Learn¶
- Getting Started with Neo4j
- Neo4j in Production
- Neo4j Koans - A koan-style tutorial in Java for Neo4j.
Certification¶
- Neo4j Certification - Become a Neo4j-Certified Professional.
Miscellaneous¶
License¶
To the extent possible under law, Neueda R&D has waived all copyright and related or neighboring rights to this work.