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 http://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

 

Keywords:  


6 Comments

Ralf Becher says:

I did a successful testing with SQuirrel. You can read the blog post about here: http://bit.ly/Mlsgqr

Done with the SQL Query plugin for IntelliJ

Anonymous says:

Is this a wrapper for the REST api or can we use transaction with this driver?

If anyone reading this needs a great JDBC tutorial, go to http://www.unityjdbc.com/doc/jdbc/jdbc_tutorial.php<br /><br />this tutorial is very easy to understand, has great explanations, and sample code.<br /><br />Hope this helps<br /><br />

Leave a Reply

Your email address will not be published. Required fields are marked *

Stay Connected

Go
 

Have a Graph Question?

Stackoverflow
Contact Us


Popular Graph Topics

Archives