I have been looking at Neo4j today and I find it exciting. I wonder if there is web application framework which is highly integrated with Neo4J? Basically I would like to start experimenting with Neo4J and I thought maybe there is obvious choice of web framework and if there is, I would like to try out that too. Do you know any?
8 Answers
EDIT: I take it all back, there's one on the Neo4j website. :p
EDIT2: I would check this page:
http://www.neo4j.org/develop/drivers
There's quite a few of them, but I don't know how many of them are 'highly' integrated.

- 37,023
- 8
- 55
- 74
-
Thank you gjk. I have already seen the page http://www.neo4j.org/develop/drivers but I am looking for more well-tried framework with neo4j and there is nothing indicating that in the page. Bulbflow looks exciting but is not released for production yet. I rather choose a stable and well-tried environment. – Madeline Jul 18 '13 at 13:31
-
Unfortunately (as I said before I edited my answer), I think that's the best you'll get. There just aren't any frameworks that integrate with Neo4j as well as MongoDB or Redis or something. There just isn't enough demand (unfortunately). – GJK Jul 18 '13 at 13:45
Well I think with Cypher, any framework is quite easy to use, it's just one REST endpoint you need to hit. I have good experience with using Node.js, Neography/Ruby and of course JDBC over REST/Java.

- 6,311
- 1
- 21
- 24
You might also have a look at Structr (https://structr.org).
(Disclaimer: I'm the project inititator of Structr)

- 2,292
- 16
- 15
I've had a great deal of success working with the XN Framework (http://xnlogic.com/xn-framework) on numerous client projects. It isn't free, but, its feature set is ridiculous and has a lot of features that I'm asked for at pretty much every client engagement (e.g. auditing/compliance out of the box and fine-grained security, anyone?). It's worked on constantly, and I know from first-hand experience it's extremely well supported, which makes enterprise application development a lot easier than it traditionally is. As someone who's been in that space for his entire career, I can't tell you how much easier it's made my life and how much added value I've been able to bring to my clients.
Also, if I may, it is blazingly fast, and its DSL is simple and amazingly expressive.
On open source projects, I've used Michael Hunger's Spring Data Neo4j (SDN) framework which I've found to be more than sufficient for getting entire teams off the ground and running with Neo4j. It also lessens the learning curve for teams new to graph databases (honestly, most of the dev team doesn't even need to know much about graph databases beyond some basics). It's also in the middle of being worked on and improved, with an RC due out soon for the next version and a new major release due in the near future. Michael obviously has strong ties to Neo4j, so you know it's quality and well implemented.
Hope this helps!

- 1,380
- 10
- 26
I would definitely check out the neo4j gem (disclaimer: I'm one of the maintainers). It offers a really rich way to access a neo4j database using ActiveNode
and ActiveRel
models. Not only can you do a lot of the basic things that you can do with a library like ActiveRecord
, but you can easily perform deep queries that take advantage of the power of Neo4j like this:
# Find all blog posts written by people who have commented on the blog_post in question
blog_post.comments.author.posts
# Find the number of distinct students that the instructor in question
# has in common with other instructors
instructor.lessons.students(:student).lessons.
instructor(:other_instructor).pluck(:other_instructor, 'count(DISTINCT student)')
Not only is this a really nice way to write cypher statements in Ruby, but you can also make a part of a query and pass it around to be built up in different places in different ways for DRY querying.

- 10,746
- 1
- 22
- 34
You may also want to check out the ANNE stack: https://github.com/mchengal/ANNE-stack
It's like the MEAN stack but with Neo4j instead of MongoDB.

- 880
- 2
- 10
- 19
If you are into php you can try Yii2 framework. There isn't official support for neo4j however Yii2 does a great job with caching so you can use the php driver for neo4j and all you need to do additionally is to cache your queries using Yii2's Data Caching.
You can even create your own ActiveRecord Class so you can use neo4j with Yii2's native functions for querying and displaying data.
I have made a project in the past using this repository but it is for an older version of neo4j. So unless you want to use a previous version of neo4j better avoid that.
In general, any framework you choose to go with they may not have native support for neo4j but you could always use one of the drivers for that language. The only issue you are ever going to face is caching so you better chose a framework you can easily integrate a data caching for your queries and you are good to go.
I'm saying that caching is the only thing that matters because even you find a framework that has native support for neo4j, you will end up creating raw queries in the end. Graph databases can do so complex queries that is just hard to implement all of the features in a framework.

- 732,580
- 175
- 1,330
- 1,459

- 227
- 2
- 9