Next step in testing the Neo4j JDBC driver is coming to SQLExplorer - an Eclipse based SQL thin SQL client that allows you to query and browse any JDBC compliant database.
It was very easy to configure the Neo4j JDBC driver:
Then make the connect:
And finally do some Cypher queries. Et voilà!
As we at TIQ Solutions are very keen about data quality I did another test of the Neo4j JDBC driver. For this I will try out a well known Java based data profiling solution. I think data profiling on NoSQL data is quite new..
The Ataccama DQ Analyzer works well with Neo4j. It gives us the possibillity to do a data profiling on graph data:
and also to execute and measure business rules:
So, this is definitely on the list for our consulting in this area. It will give us also data matching and data cleansing capabilities on graph data!
During my Neo4j JDBC driver test I wanted to find out how an ETL tool like Pentaho Kettle can handle Neo4j’s Cypher queries to pull data out of the graph database.
Here are the steps for connecting Kettle to the Neo4j database.
At first copy the Neo4j JDBC driver into the Kettle JDBC folder:
As next we define a new generic JDBC data source where we define the driver class and the connection URL:
Then we can build up a simple Kettle transformation like this:
In the first step “Cypher Query” we can enter the query code and do a data preview:
Then we propagate the input step fields to the output step and create an Excel file here. This runs quite good.
Generally, this is a workable data integration solution. I will do some more tests. Performance seems to be ok so far.
There is only one minor issue for now. The RETURN of a node or relationship as string is causing an exception. Queries like this are not working:
START n=node(*) RETURN n
START r=relationship(*) RETURN r
But, who needs the JSON like result string if you can access all the properties? I think this will be fixed soon anyways.
If you’re working in the field of data integration a data querying tool is needed to test and adjust your SQL queries. In the case of Neo4j we use Cypher queries to retrieve data from the grap database.
If the source of data can be connectedis with a JDBC driver I prefer the tool SQuirrel SQL which is available in version 3.3.0: http://squirrel-sql.sourceforge.net/
After we got encouraged to do some more testing on the Neo4j JDBC driver I will post some results here.
First we need to config the Neo4j JDBC driver in SQuirrel:
Second we create a database connection to the Neo4j graph database and connect to it:
Then we do some Cypher queries which run pretty well without exceptions:
Finally we can store the data of the resultset into a file:
I think SQuirrel is a very good tool to do some ad hoc queries and Cypher testing on a Neo4j graph database. It is more useful than the Neo4j server console for getting out some data.