Neo4j is a graph database, storing data in the nodes and relationships of a graph. The most generic of data structures, a graph elegantly represents any kind of data, preserving the natural structure of the domain.
An intuitive graph-oriented model for data representation
A disk-based, native storage manager completely optimized for storing graph structures for maximum performance and scalability
Massive scalability. Neo4j can handle graphs of several billion nodes/relationships/properties on a single machine and can be sharded to scale out across multiple machines
A powerful traversal framework for high-speed traversals in the node space
Can be deployed as a full server or a very slim database with a small footprint (~750k jar)
A simple and convenient object-oriented API