Graph Database Neo4j

August 21st, 2009

Neo4j is a graph database. It is an embedded, disk-based, fully transactional Java persistence engine that stores data structured in graphs rather than in tables. A graph (mathematical lingo for a network) is a flexible data structure that allows a more agile and rapid style of development.”

From the site:

  • graph-oriented model for flexible data representation;
  • graph network consisting of nodes, relationships and properties;
  • highly scalable to bilions of nodes/rels/props;
  • can be sharded to scale out across multiple machines;
  • hi-speed traversals in the node space;
  • small footprint (500k jar)
  • ACID transactions;
  • robust persistence;
  • concurrency control;
  • API;
  • Neo4j.rb, JRuby API;
  • Lucene for quering and indexing.

Neo4j is released under a GNU Affero General Public License, so read carefully. There’s a price table for commercial products that includes severall support levels.