Neo4j BI connector to Tableau

Wilson Chua
3 min readNov 13, 2020

I was inspired by David Allen’s https://medium.com/neo4j/using-the-bi-connector-to-query-neo4j-with-sql-372eacb08fbc. So I wanted to try out on Tableau (instead of using SQL). This allows me to use Tableau to access the data on my local Neo4J database like below:

First step is to download the Neo4J BI connector (https://neo4j.com/bi-connector/) and extract the files and place them into this specific folder on my windows machine:

Windows: C:\Program Files\Tableau\DriversOTHERS:
Mac: ~/Library/Tableau/Drivers
Linux: /opt/tableau/tableau_driver/jdbc

This is how it looks like on my PC:

Then for the 2nd step, I run Tableau and create a [Other Database (jdbc)] connector:

Obviously, you need to input your own password into it

The 3rd step is to drag the NODES and the Relationships and establish their links/relationships (not JOIN) together:

Do Note: Using the ‘Standard’ Movie database, I dragged the Person NODE to the right of each of the relationships, and then RENAMED them from Person1, Person2, Person3 etc. to the appropriate role (Actor, Director,etc).

Now I can now go to the worksheet and do Tableau analysis:

Will this be faster than just exporting the Neo4J output into CSV and then importing them into Tableau? Let’s find out… in the future!

Some errors encountered:

  1. The JDBC connection details seem to have been cached. Even if we open another NEO4J database, the schema in Tableau always defaults to the previous one.

Resolution: deleted the old cached data in the folder:

2. When working with super large NEO4J files, the JDBC connector will timeout with the error “Deadline Time Exceeded”

Resolution: create a neo4j.properties file with this entry:

setNetworkTimeout=5000 ←or set this value higher

And then in the [Other Database (JDBC)] config screen point to that file!

--

--