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 |
|
Authors |
|
Package |
|
Source |
|
Docs |
|
Blog |
|
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 |
|
Source |
|
Package |
|
PHP |
7.4 / 8.0+ |
Neo4j |
3.5 / 4.0+ |
Protocols |
Bolt, HTTP |
Example App |
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 |
|
Source |
Java Community drivers
Neo4j JDBC Driver
Authors |
Developers from Larus BA Italy and Neo4j |
Package |
|
Source |
|
Docs |
https://github.com/neo4j-contrib/neo4j-jdbc/blob/master/README.adoc |
Blog Post |
https://neo4j.com/blog/couchbase-jdbc-integrations-neo4j-3-0/ |
.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 |
|
NuGet Package |
|
Authors |
|
Docs |
|
Example |
|
Protocol |
Bolt, HTTP |
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 |
|
Source |
|
Docs |
|
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 |
|
Docs |