The Neo4j-Tableau Integration You’ve Been Asking for


Based on the excellent work of our partner Ralf Becher from TIQ Solutions, a Qlik, Tableau and Neo4j expert, we are very happy to announce today the public availability of a first version of our Neo4j-Tableau integration.

You can find the code and documentation in our neo4j-contrib/neo4j-tableau GitHub Repository.

This connector allows you to make your graph data accessible in Tableau, which is an integration many users of Neo4j asked for.

In most cases, graph query results from Neo4j are projected into a tabular format which is then made available within Tableau. The supported means are:
    • Integration with the Tableau Web Data Connector
Additional integration options provided directly by our partner TIQ:
    • Neo4j Server extension to generate and publish TDE files from Cypher results
    • Standalone tool to generate and publish TDE files from JDBC, e.g., Neo4j-JDBC

Tableau Web Data Connector


Since version 9.1, Tableau offers a REST API connector that can be used to acquire data from remote sources. It requires a certain data format and form of interaction.

Learn all about the new Neo4j-Tableau integration now available from TIQ solutions


The Neo4j Tableau Web Data Connector is a proxy between Tableau and Neo4j and wraps the execution of a Cypher query to provide the results to Tableau.

Within our project, we provide a small web application that you can run locally or deploy somewhere which is used for this purpose.

The Neo4j-Tableau Web Data Connector (WDC) web application


It is even possible to run the Web Data Connector (WDC) from GitHub Pages.

Opening its URL from within Tableau, allows us to configure the Neo4j connection information and the Cypher query you want to run.

After setting up the Tableau component for WDC you can connect to that app from Tableau and pull the data into a workbook. The connection details are stored in the workbook, so you can use those to refresh the data later.

A Tableau Web Data Connector (WDC) notebook


The details are outlined in our documentation.

The next two options are provided directly from Ralf for higher volume and lower-level integration with Tableau. Please contact him directly if you’re interested to use either of them. If you are planning to use Neo4j with an enterprise license, our field engineering team can also help you with those.

TDE File Generator Extension


Another option is to generate and publish Tableau Data Extract (TDE) files directly to your server. For that purpose, a Neo4j Server extension is available, that you provide an arbitrary Cypher query to. The extension then generates a TDE file from the tabular Cypher results on the fly to be loaded into Tableau or published to a Tableau Server project.

After setting up your Neo4j server to run this extension, it’s as easy as adding the Cypher query as a URL-encoded payload to the URL of the extension. (Going forward it will also be possible to POST one or more queries to the extension.)

For instance to generate and download the TDE file:

https://neo4j:@localhost:7474/export/tableau/tde/MATCH+(n%3AMovie)+RETURN+n

If you configured your Tableau server credentials in tableau-server.properties you can use the extension to publish to your Tableau server directly:

https://neo4j:@localhost:7474/export/tableau/tdepublish/{project}/{datasource}/MATCH+(n%3AMovie)+RETURN+n

The auto-publication is a powerful feature which will be extended in the future to schedule or trigger automatic publication in the background so that your Tableau environment always works with the latest graph data.

Find more details on how to get started with the TDE file generation in the documentation.

Tableau-JDBC integration


There is also the option of querying Neo4j via our Neo4j-JDBC driver and generating TDE files from those results using a stand-alone tool from TIQ. More details on that can be found in the Tableau section of the JDBC docs.

Feedback


As this is a first release, we need your feedback to make it better. If you are using Tableau at work, please give our integration a try and see if the two approaches work for you.

We tested the integration with Tableau 9 and 10 and it works with both. Tableau 10, which was just released, contains a new Web Data Connector 2.0 API which allows for a better integration and will be integrated within this project in the near future, utilizing Neo4j’s Bolt binary protocol and multi-table/statement configuration.

We are also interested in feedback on the documentation and would of course be thrilled to hear about any use cases where you integrate your Neo4j graph data with Tableau. Please raise an GitHub issue or email us at feedback@neo4j.com.

If you need dedicated support with any of these integrations, feel free to reach out to our partner TIQ Solutions or us for individual support or join our neo4j-users Discord channel and ask in the #neo4j-tableau channel.

Big thanks again to Ralf Becher, who did all the work of putting the pieces together and making them work.

Cheers,

Dave Fauth & Michael Hunger