Business intelligence, meet graph. Neo4j introduces BI connectors for data discovery tools

It was only a few weeks back that we introduced what was then recent developments in the graph database world. Graph databases and analytics are becoming increasingly accessible and relevant, was our opener. So are they, and it looks like suppliers are going through a virtuous circle of innovation.

Today, it is Neo4j’s turn to announce a new feature that lowers the bar chart for adoption of graph database. Neo4j announced today Neo4j BI connector, as it emerges the first enterprise-ready driver to bring graph data to the Business Intelligence (BI) market. The plug presents live graphical data sets for analysis within popular BI technologies such as Tableau or Looker.

Although Neo4j worked with several customers as well as partners such as EY to perform extensive testing of leading BI and data discovery providers, including Tableau and others, the announcement does not include partnerships with such suppliers. As David Allen told Neo4j Technology Partner Architect ZDNet, Neo4j is likely to establish more formal partnerships in this area over time as a function of customer and market demand.

What the BI connector does and why it is a win-win-win

Data discovery and visualization tools are already quite common in the graph database world. Neo4j is no exception as, in addition to its own tools, it also integrates with a variety of third-party tools. But the idea behind the BI connector is apparently to meet users where they are.

Tableau-like tools have a large user base, and making graph data available to users along with their other data sources is a big win for everyone. Tool providers offer an additional data source to their users, users enrich their insights, Neo4j expands its user base. Win-win-win.

Neo4j cites a recent one The Gartner report, recommend using “graphing technologies to enrich multiple data sets with semantics and to automate or increase their unity across silos. This provides richer contextual delivery and real-time situational awareness for continuous intelligence, all for better decision making.”


Neo4js BI connectors enable mixing and matching of graphical data and relation through BI and data discovery tools. Image: Neo4j

Neo4j’s press release notes that the BI connector allows users to analyze graph data along with traditional data stored in relational or NoSQL databases in well-known BI tools. It also allows users to create visualizations and dashboards to help them extract the hidden value in their data, which serves to enrich their traditional SQL-based analysis. Some examples that Neo4j cites are deeper customer insight and fraud analysis.

An BI analyst trying to understand customer value can identify an individual retail consumer as a relatively low value client based on a small personal bank account balance. By utilizing Neo4j relational information to link commercial and retail banking data, it turns out that the same consumer is the CEO of one of the bank’s largest commercial customers and therefore revealed as a high-value customer.

An investigator or analyst looking at a dashboard metric such as “Volume of Identified Fraud” for a given period may also want to understand how the fraudulent transactions during that period were connected. By using the Neo4j BI Connector, they would be able to better understand how many instances were connected to a given fraud, how many were connected to a given bank branch or retail store and more.

How does the BI connector work

The Neo4j BI connector is built on JDBC (Java Database Connectivity) by default. It translates SQL into Neo4j’s graphical query language, Cypher. It removes the need for analysts to learn Cypher, or write code to access Neo4j. Neo4j notes that the connector is fully supported for Neo4j Enterprise v.3.5 and newer and ready for production installation.

Although the plug utilizes the JDBC standard, Allen clarified that it is not built on the existing one Neo4j JDBC driver. The plug reveals a virtual relationship schema for software tools, such as Tableau, which expects a relational database and knows how to build and execute SQL queries and is proprietary. It is recommended for business-facing applications where SQL is typically generated automatically.

The Neo4j JDBC project is an Apache 2.0 licensed open source project and as such, community support through Neo4j’s usual channels is available. It provides a JDBC compatible interface for executing Cypher queries against a Neo4j instance and retrieving results. Neo4j JDBC driver supports Neo4j 3.0 onwards and is recommended for developer access and ETL jobs that require tight control over Cypher queries.

Interestingly, this work is informed by the ongoing standardization work for languages ​​with graphical query. As Allen said, before the standardization effort that formally started, there was some internal work on mapping tables and graphs called “Tables for Labels”. The plug uses this approach, which exposes the entire graph in a relationship theme, without the user having to specify one.

In Neo4j there are no tables – only nodes and ratios in a graph. So what the connector is really doing is revealing a virtual relationship schema built by the driver. One table per Unique node label combination and one table per Couple relationships found in the graph are exposed.


A simple mapping from a graph to a relational schema. Image: Neo4j

In the simple example graphic above, we have the labels Person and hobby, and relationship types KNOW AND LIKE. Each label and relationship gets its own tables and forms “join tables” that can then be used to cross relationships through SQL. The resulting relationship chart is shown below, divided into four total tables. The rows of data and their data types appear as they would be translated from Neo4j:

Along the way, the BI connector takes a loaded SQL query and translates it into a Cypher query. The Cypher query is executed against the database just like any other query would be, and the results are sent back to the client. Here is a very simple example of how the translation might work:


Cypher: MATCH (p: Person) WHERE p.age> 20 RETURN ORDER BY p.age DESC;

Relationship tables are more complicated but follow the same principle. Relationship tables consist of a minimum of a source and a target ID that matches the _NodeId_ field in a tag’s table. When tools generate SQL JOINs, they effectively “pass” the graph through a relationship.

The bigger things

Neo4js BI connector illustrates a few key trends in graph database space. First, the rapid pace of innovation. As we have been active in graph for a long time, we can attest that the development in the last few years has been very accelerated. Accessibility (mainly via managed cloud platforms) and accessibility (via integrations and no low-code code / tool) are predictably the major concerns for suppliers.

We believe that financing plays a key role in terms of the pace of innovation we see at each supplier. Judging from funding rounds alone, Neo4j and Tigergraph releases new versions and features every so often. They recently closed funding rounds of $ 80 million and $ 32 million, respectively. It clearly helps with technique and marketing.

According to DB-engines, Neo4j leads graph database space with regard to mindshare. Emil Eifrem, Neo4j CEO, has recently declared that the company is not profitable today, although it could be because “now is the time to invest”. It helps explain the many new features we see from Neo4j.


Meeting users wherever they are is what many graph database providers are trying to do. Enabling access through BI tools is a great way to accomplish this.

Getty Images / iStockphoto

However, it is worth noting here that Neo4j is not the first vendor to announce a SQL connector. One 3rd party plug can be used to query OrientDB, an open source multi-model database, which also supports graph, via KNIME platform. and Stardog, an RDF graph database, has announced a BI connector in Beta in October 2019. The graph providers appear to be ready expand the set of languages ​​that they can access.

Neo4js Eifrem also emphasizes the importance of standardization. This highlights another important trend we are seeing, related to today’s announcement. Neo4j has been working on merge documents, tables and graphical data at least since 2018. As Allen mentioned, the work of standardizing graphical query language is related to Neo4j’s connectors.

GQL is a graphical query language standard undergoing training that undergoes the ISO selection process. Since there are already at least 3 SQL-to-graph implementations we are aware of, this could very well mean that the way to do this could be standardized and become part of GQL. As Eifrem put it:

“GQL means that if you’re a CIO, you can write your applications using GQL, and even if it’s never 100% interoperable between vendor products, you’re probably going to get 95-plus. It’s a huge deal if you’re a CIO in terms of skills they can access and investment in training your developers on GQL, knowing full well that it can work on Neo4j and on other graphical interfaces as well “.

Source link