Awesome Neo4j ============== Awesome Build Status

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

  • 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

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

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

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

Shell

  • cycli - A Command Line Interface for Cypher.
  • neo4j-shell-tools - A bunch of import/export tools for the neo4j-shell.

Visualization

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

Certification

Miscellaneous

License

CC0

To the extent possible under law, Neueda R&D has waived all copyright and related or neighboring rights to this work.