Language Guides These guides and tutorials are designed to provide detailed examples of how to integrate Neo4j with your preferred programming language. Neo4j supports drivers for all major programming languages. In this section, we provide an introduction and a consistentâ€Ĥ Learn More »

icon-mdm Language Guides


These guides and tutorials are designed to provide detailed examples of how to integrate Neo4j with your preferred programming language. Neo4j supports drivers for all major programming languages. In this section, we provide an introduction and a consistent example application for several languages and Neo4j drivers.

How to connect to Neo4j?


If you’ve installed and started Neo4j as a server on your system, you can already work interactively with the database via the built-in Neo4j Browser application on localhost:7474.

If you want to access Neo4j programmatically, you can do so with one of the available HTTP-APIs, which allow you to:

  • POST one or more cypher statements with parameters per request to the server
  • Keep transactions open over multiple requests
  • Choose different result formats
  • Execute management operations or introspect the database

Let’s look at one of the underlying remote API endpoints that Neo4j offers to execute queries. These APIs can be then used directly via a HTTP library or a driver for your language.

A simple HTTP Cypher request, executable in the Neo4j Browser would look like this:

:POST /db/data/transaction/commit {"statements":[
      {"statement":"CREATE (p:Person {firstName:{name}}) RETURN p",
       "parameters":{"name":"Daniel"}}
    ]}

The language drivers use the same APIs under the hood, but make them available in a convenient way. Thanks to the Neo4j community, there are drivers for Neo4j for almost every popular programming language, most of which mimic existing database driver idioms and approaches.

Neo4j Drivers


Looking for your language driver?

Example Project Description

To demonstrate connection to and usage of Neo4j in different programming languages we’ve created an example application. It is a simple, one-page webapp, that uses Neo4j’s movie demo database (movie, actor, director) as dataset. The same front-end web page consumes 3 REST-endpoints provided by backend implemented in the different programming languages and drivers.

  • movie search
  • single movie listing
  • graph visualization of the domain

movie application

Domain Model

(:Movie {title,released,tagline})<-[:ACTED_IN {roles}]-(actor:Person)

GitHub

The source code for the different examples is available on GitHub.