This is just a small copy/paste dump of things I found may be interesting when diving into neo4j taken from the documentation
A single server instance can handle a graph of billions of nodes and relationships. When data throughput is insufficient, the graph database can be distributed among multiple servers in a high availability configuration. See Chapter 25, High Availability to learn more.
A graph records data in nodes and relationships. Both can have properties.
Relationships are equally well traversed in either direction.
This means that there is no need to add duplicate relationships in the opposite direction (with regard to traversal or performance).
Properties are named values where the name is a string. The supported property values are:
- Numeric values,
- String values,
- Boolean values,
- Collections of any other type of value.
NULL is not a valid property value.
A path is one or more nodes with connecting relationships, typically retrieved as a query or traversal result.
You can use Neo4j without any schema. Optionally you can introduce it in order to gain performance or modeling benefits. This allows a way of working where the schema does not get in your way until you are at a stage where you want to reap the benefits of having one.
Performance is gained by creating indexes, which improve the speed of looking up nodes in the database.
Indexes in Neo4j are eventually available. That means that when you first create an index the operation returns immediately. The index is populating in the background and so is not immediately available for querying. When the index has been fully populated it will eventually come online. That means that it is now ready to be used in queries.
Installation comes with some example graphs, so you can just jump into it.
You can only use clusters and highly available systems with the enterprise edition => http://neo4j.com/editions/