Wanted: Your Help in Testing Neo4j JDBC Driver


Help us testing the Cypher-JDBC-Driver

Update The results that our awesome community provided in testing the driver are available.

As many of you know Rickard Öberg did a lab project last December developing a first prototype of a JDBC driver that connects to the Neo4j Server Cypher endpoint. It implements the JDBC API’s to execute Cypher statements remotely and returns the tabular results. The Driver is published on GitHub as an open source project

The first tests of the driver covered JDBC-use-cases like:

  • LibreOffice/OpenOffice
  • IntelliJ IDEA
  • DbVisualizer
  • JDBC-ODBC bridge on Windows

JDBC as Integration Approach

Besides making it work it was fun to be able to make this happen. Meanwhile some of our customers are looking into integrating Neo4j into their BI solutions and so we suggested that they should give the JDBC driver a try.

Ralf Becher from TIQView worked on integrating it with Qlikview and published quite impressive results.

With the existing feedback we worked on improving the driver and updated the following aspects:

  • Internal Refactoring and Bug fixes
  • Support for Streaming Mode of Neo4j-Server
  • Support to use it with an embedded graph database or an in-memory variant.

Next stop: Public Testing

To cover a greater range of SQL/JDBC tools than we know and use – you know we’re mainly working on a NOSQL Graph Database, we would like to ask for YOUR HELP.

You certainly know, use and like some of JDBC-related tools, and could try the Neo4j JDBC driver with those. We pepared a form to add your findings which is connected to a public Google Spreadsheet.

How to Test

Choose your tool, download the driver from the resources link and set it up to point to a Neo4j Server which has the Dataset.

You can download and set up the Server on your own. Then the jdbc-url is jdbc:neo4j://localhost:7474 We have also prepared a Heroku instance that hosts the dataset, so it is accessible to everyone at https://jdbc.herokuapp.com which would use the jdbc-url: jdbc:neo4j://jdbc.herokuapp.com

Some Sample Queries


// user node
START n=node(1)
RETURN n

// number of nodes
START n=node(*)
RETURN count(*)

// user and friends
START user=node:User(login="micha")
MATCH user-[:FRIEND]-friend
RETURN user.name,ID(user),friend.name

// other movies with these actors
START user=node:User(login="micha")
MATCH user-[:RATED]-movie<-[:ACTS_IN]-actor-[:ACTS_IN]->other_movie
RETURN other_movie.title, count(*) as occ
ORDER BY occ DESC
LIMIT 5

If you want you can also test out the integration with an embedded or in-memory Neo4j-Instance, e.g. by integrating it with Spring’s JdbcTemplate

Please make sure to take some notes and a screenshot. If you want to take it to the next level, please record a screencast or write a short blog post about your experience. Armed with this information, fill out the Survey Google Form and let us know what you think.

Resources

We will compile a blog post with all your contributions, update the Driver with all the necessary fixes and then make it available as part of the Neo4j distribution.

Thanks a lot for your support,

Michael, Peter, Andreas – the Neo4j Community Team




Want to learn more about graph databases? Click below to get your free copy of O’Reilly’s Graph Databases ebook and discover how to use graph technologies for your application today.

Download My Ebook