Skip to content

sevaroy/neo4j-tableau

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neo4j - Tableau Integration

Neo4j Tableau Web Data Connector v2.3

Since Tableau 9.1 the Web Data Connector SDK can be used to connect Tableau to any web data accessible over HTTP. You can follow the WDC Tutorial to read about the details here:

This Neo4j Tableau WDC implements WDC version 2.3.0 and can be used with Tableau v10.4 or later and Neo4j v3.0.4 or later:

The Neo4j WDC uses the Neo4j Driver for Javascript which implements the Bolt network protocol:

The Neo4j WDC v2.3 can be used directly via GitHub Page URL:

New in Version 2.3

  1. Neo4j Temporal values https://neo4j.com/docs/developer-manual/current/cypher/syntax/temporal/

    • converts Neo4j Date and DateTime values to Tableau Date or DateTime

    • converts Neo4j Time values to Tableau Integer (seconds of the day)

    • doesn’t convert Neo4j Duration values but creates separate columns for all parts (months, days, seconds, nanoseconds)

  2. Neo4j Spatial values https://neo4j.com/docs/developer-manual/current/cypher/syntax/spatial/

    • converts Neo4j Point values to Tableau Geometry (GeoJSON)

Connect from Tableau

Start Tableau Desktop and choose to connect a Web Data Connector:

tableau wdc connect

Enter the URL of the hosted Neo4jWdc2.html page in the selection popup:

tableau neo4j wdc connect

Now the Neo4jWdc2 form appears. The WDC consists of a HTML page including a form and JavaScript code to leverage the Tableau WDC API and to processes up to five Cypher queries against Neo4j. The result sets will be converted into tables and then passed into the Tableau workbook.

tableau neo4j wdc form

Connector Parameters

  1. Data Source Name: the name for the data source in the Tableau Workbook

  2. Neo4j URL: URL to connect a Neo4j server, usually bolt://<server> when default Bolt port or bolt://<server>:<port>

  3. Username/Password: authentication credentials

  4. Inspect Rows for Schema: number of sample rows (default: 1000) to inspect JSON result set (can contain complex objects) from Cypher queries for used properties, important to build the table schema with columns for Tableau; set to 1 when first row includes all properties

  5. Cypher Queries: a list to add up to 5 Cypher queries for execution; use a table name per query in left column; tables can then be joined in Tableau data wizard later

The resulting tables can be prepared in the Tableau data wizard:

tableau neo4j wdc wizard

After all queries are executed the created and loaded Tableau Workbook will appear and shows the data source: Neo4j, the name we’ve entered, and the dimensions and measures from the Cypher queries' result sets.

tableau neo4j analysis

Now we can easily start analyzing the Data from Neo4j.

TDE File Generator Extension

We also provide a Neo4j Server extension to generate TDE files to be used with Tableau Desktop and Server.

Read more about that approach in our documentation.

Create TDE file via GET request

To create a TDE from the results of a Neo4j Cypher query, pass for instance the following query:

MATCH (n:Movie) RETURN n

It will generate and return a TDE file as download for usage in Tableau.

Create TDE file via POST request

You can use same endpoint to pass a POST request and upload a text file (ASCII) containing one Cypher query:

curl -H "Content-Type: text/plain" -X POST --user neo4j:neo4j --data-ascii @/Users/username/Desktop/cypher-query.txt -o result.tde http://localhost:7474/export/tableau/tde

The resulting TDE file specified with option -o outputfile is then stored locally.

Versions

  • This code has been tested on Neo4j 3.0 versions.

  • This code has been tested against Tableau 10.1.

  • The TDE format should be able to be read by Tableau versions 7 and higher.

Packages

No packages published

Languages

  • Java 43.3%
  • CSS 28.8%
  • JavaScript 24.0%
  • HTML 2.9%
  • Shell 1.0%