Community-contributed libraries

Introduction

In addition to the officially supported drivers, you can find their Community alternatives. Besides Java, .NET, JavaScript, Go, and Python drivers, Neo4j Community offers support for Ruby, PHP, and Perl. Links to their relevant resources are provided below.

Members of the each programming language community have invested a lot of time and love to develop each one of the community drivers for Neo4j, so if you use any one of them, please provide feedback to the authors.

The Community drivers have been graciously contributed by the Neo4j community. Many of them are fully featured and well-maintained, but some may not be. Neo4j does not take any responsibility for their usability.

Using Neo4j from Ruby

Neo4j.rb

The Neo4j.rb project is made up of the following Ruby gems:

neo4j-ruby-driver

A Neo4j driver for Ruby with an API consistent with the official drivers. It is based on Seabolt and FFI. Available on all rubies (including JRuby) and all platforms supported by Seabolt.

neo4j-java-driver

A Neo4j driver for Ruby based on the official Java implementation. It provides a thin wrapper over the Java driver (only in JRuby).

activegraph

A Object-Graph-Mapper (OGM) for the Neo4j graph database. It tries to follow API conventions established by ActiveRecord but with a Neo4j flavor. It requires one of the above drivers.

neo4j-rake_tasks

A set of rake tasks for installing and managing a Neo4j database within your project.

Website

https://neo4jrb.io/

Authors

Heinrich, Amit, Brian, Chris, Andreas

Package

neo4j-ruby-driver, neo4j-java-driver, activegraph

Source

https://github.com/neo4jrb

Docs

https://neo4jrb.readthedocs.org/en/latest/

Blog

https://blog.brian-underwood.codes/

Protocols

Bolt

Using Neo4j from PHP

Alternatively, Neo4j can be installed on any system and then accessed via its Bolt and HTTP APIs. We recommend the Neo4j PHP client for easiest development over Bolt and HTTP APIs. You can also directly access the Bolt protocol via the PHP Bolt library.

Neo4j PHP client

Neo4j PHP client is a client supporting multiple protocols. HTTP and Bolt are supported, starting from Neo4j 3.5 up until the most recent version.

It is being actively developed. For more details, refer to a README file on the Github page.

Author

Ghlen Nagels

Source

https://github.com/neo4j-php/neo4j-php-client

Package

https://packagist.org/packages/laudis/neo4j-php-client

PHP

7.4 / 8.0+

Neo4j

3.5 / 4.0+

Protocols

Bolt, HTTP

Example App

https://github.com/neo4j-examples/movies-neo4j-php-client

PHP Bolt

A low level driver for the Bolt protocol in PHP.

Author

Michal Stefanak

Source

https://github.com/neo4j-php/Bolt

PHP

7.4+ / 8.0+

Neo4j

3.0+ / 4.0+ / 5.0+

Protocols

Bolt

Using Neo4j from Perl

Neo4j::Driver

This Perl driver enables interacting with a Neo4j server using the same classes and method calls as the official Neo4j drivers. It also has (currently experimental) support for HTTPS and Bolt.

Author

Arne Johannessen

Package

https://metacpan.org/release/Neo4j-Driver

Source

https://github.com/johannessen/neo4j-driver-perl

Neo4j::Bolt

This is another driver from Mark Jensen. It’s implemented as a Perl wrapper around the libneo4j-client C library, which implements the Bolt network protocol.

Author

Mark A. Jensen

Source

https://github.com/majensen/perlbolt

.NET Community drivers

Neo4jClient

A .NET client for Neo4j, which makes it easy to write Cypher® queries in C# with IntelliSense. It also supports basic CRUD and legacy indexing.

Source

https://github.com/DotNet4Neo4j/neo4jclient

NuGet Package

https://nuget.org/packages/neo4jclient

Authors

Charlotte Skardon Tatham Oddie

Docs

https://github.com/DotNet4Neo4j/Neo4jClient/wiki

Example

https://github.com/neo4j-examples/movies-dotnet-neo4jclient

Protocol

Bolt, HTTP

Neo4j.Driver.Extensions

Neo4j.Driver.Extensions provides a set of extension methods to the official driver API, aiming at reducing boilerplate and easing mapping to entity classes.

Source

https://github.com/DotNet4Neo4j/Neo4j.Driver.Extensions

NuGet Package

https://nuget.org/packages/neo4j.driver.extensions

Authors

Charlotte Skardon

Docs

Introduction blogpost

Python Community drivers

Neomodel

An Object Graph Mapper built on top of the Neo4j python driver. Familiar Django style node definitions with a powerful query API, thread safe and full transaction support. A Django plugin django_neomodel is also available.

Author

Athanasios Anastasiou and Robin Edwards

Package

https://pypi.python.org/pypi/neomodel

Source

http://github.com/neo4j-contrib/neomodel

Docs

https://neomodel.readthedocs.io/en/latest/

Python

2.7 / 3.3+

Protocols

Bolt

Example

https://github.com/neo4j-examples/neo4j-movies-python-neomodel

Go Community drivers

GoGM: Golang Object Graph Mapper

Author

Eric Solender, CTO and co-founder of Mindstand

Source

https://github.com/z5labs/gogm

Docs

https://github.com/mindstand/gogm/blob/master/README.md