Saturday, June 6, 2009

Community buzz heating up!

It's been a lot of fun to take part in the Neo4j community the last few weeks. There's been quite some mentions on Twitter and increasing contributions to the mailing list. Among the themes discussed on the mailing list are new features like online backup and batch insert. There was also recently a design thread on how to model entities with versions.

Mattias Ask (founder of Open Causes) published the article Spring and load-time weaving of Neo4j-based domain objects which demonstrates how Spring can be used to inject Neo4j nodes into domain objects. Mattias previously wrote the article Neo4j matches my mental model of information. In this article he shows an alternative to the domain entity pattern suggested by the Neo4j Design Guide. Here's how Mattias describes his encounter with Neo4j:

When I first started looking at Neo4j I was blown away by how precise the graph database structure matched my mental model of information. You have blobs of informations (nodes with properties) that relates to other blobs of information. Perfect!

Sujit Pal contributed some semantic web goodness with his article Using Neo4J to load and query OWL ontologies. The code is part of his Java Text Mining Toolkit open source project. In the blog post, he shows how to load ontologies using Jena for parsing and Neo4j for storage, thus achieving a cleaner solution than the previous one which didn't use a graph database. From his conclusion:

I have barely scratched the surface of the Jena API with this, but I think I have exercised quite a bit of the Neo4J API, and I was quite impressed with the latter.

Irene Gabashvili commented on Web 3.0 databases in an awesome way:

This world is too complex to be described by rigid tables. The 40-year old relational technology may be here to stay, but not to rule.

Her blog post goes on to mention graph databases as her favorite amongst the emerging storage alternatives and links to two introductory graph db presentations.