<< NoSql Databases - the new and the not so new | Home | Transferring Complex Data to a Reporting App >>

Creating a Report for a Neo4J Sample Database

Native Neo4J access out of the box.

Anders Nawroth has created a -> neat example for the Neo4J  database that models a shop with products and nested categories. Cool.

I have used this example to create a report for the database using RepostsAnywhere. Result: Yes you can. It works right out of the box. (No Mappings or Helper scripts or such like)

For me it was important to learn, whether reporting for No-SQL is possible, and how easy it was. I think it was easy, but for a designer used to SQL the navigational access may be unusual. The problems lie less in the report design or Neo4J, but rather in understanding the data model.

With ReportWeaver, you can connect to neo4J simply by adding the jar file of the sample application to your report. It can the pick up the classes in the schema and you can navigate the database using Neo4Js native relationships.

That is how it looks:

Sample Neo4J Report

And here is how it looks in the designer:

Sample report in the designer

As you can see, you can access your attributes as if they where members of a class, and you can even access fields, that are in the object used as keys.

This example is interesing for two reasons: It uses a recursive structure to model the categories and subcategories. And it returns the fields of the products as a map. It is particularly noteworthy, that the map uses a Java class type AttributeDefinition as key instead of a String. Both Neo4J and ReportsAnywhere deal gracefully with this situation.

Storing this model in a relational database and reporting on it using SQL would be much more complicated.

If you are interested in how it is done, please ask, I will then produce a step by step explanation.


Re: Creating a Report for a Neo4J Sample Database

 Very cool,

thanks for testing this out, seems to work very nicely! Any chance to get a developer/trial license to test this out?



Re: Creating a Report for a Neo4J Sample Database

This looks very cool - I'd totally love to read a step-by-step explanation of how it's done!

Re: Creating a Report for a Neo4J Sample Database

 I'd like to see the python script you created to create the data... or even a hacked version of it...





Re: Creating a Report for a Neo4J Sample Database

 Hi Tom,

the code for that article is at 


, let me know if that works for you!

Take care,


Re: Creating a Report for a Neo4J Sample Database


I just took the standard example from neo4j. You have to check with them.

Regards Hans

Add a comment Send a TrackBack