Provides SQL and Cypher support for working with neo4j from metabase
SQL and Cypher support for Neo4j on Metabase
Without APOC, the underlying BI connector will not be usable. For more information on the permission set required, download the BI connector docs
git clone https://github.com/bbenzikry/metabase-neo4j-driver.git
cd metabase-neo4j-driver
docker build -t metabase/neo4j .
docker run --name metabase-neo4j -p 3000:3000 metabase/neo4j
neo4j.metabase-driver.jar
from the releases pageplugins/
folder
.
├── metabase.jar
└── plugins
└── neo4j.metabase-driver.jar
java -jar metabase.jar
The JDBC driver exposes schemas for Relationships and Nodes
Relationships
Nodes
Given
The following tables will be created:
Naming Separators between node label names and relationship names is an underscore by default
To change the Node name seperator, you can use the LabelSeparator JDBC property, or RelNodeSeperator for Relationship tables.
JDBC properties can be added via the driver configuration as shown in the image below.
For an up to date list of allowed configuration values, please download the JDBC driver
Clone the Metabase repo
cd /path/to/metabase_source
lein install-for-building-drivers
# cp the jar to the maven dir
mkdir -p ~/.m2/repository/neo4j/neo4j-bi-jdbc/1.0.0 && cp JAR_PATH ~/.m2/repository/neo4j/neo4j-bi-jdbc/1.0.0/
# (In the directory where you cloned this repository)
lein clean
DEBUG=1 LEIN_SNAPSHOTS_IN_RELEASE=true lein uberjar
mkdir -p /path/to/metabase/plugins/
cp target/uberjar/neo4j.metabase-driver.jar /path/to/metabase/plugins/
jar -jar /path/to/metabase/metabase.jar
or:
mkdir -p /path/to/metabase_source/plugins
cp target/uberjar/neo4j.metabase-driver.jar /path/to/metabase_source/plugins/
cd /path/to/metabase_source
lein run
This is a WIP.
It is not heavily tested and is not compatible with neo4j 3.5 ( even though the underlying JDBC driver is )
Edge properties
Timestamp casting support
Cypher support
Multiple database support
Metabase variable substitution
Testing
CI
Initial DB creation and/or sync may time out. You can configure a higher timeout value with the MB_DB_CONNECTION_TIMEOUT_MS
environment variable.
In a standalone neo4j installation, if you encounter the error below, use StrictlyUseBoltScheme=true
in the JDBC options ( see: #12 )
[Simba] [Neo4jJDBCDriver](100041) An error has occurred during data source connection: Failed to obtain connection towards READ server