What to watch out for while using Neo4j
While Neo4j is a really handy tool and graphs are a good way to represent data, they are not suited for every single problem that is out there. There are definitely good cases where we can use an RDBMS more effectively. For example, if the application's main task is to aggregate and crunch on data that fits into a single table, then RDBMS is a better option. For other cases such as profiles and user preferences, it makes more sense to store them in a DocStore. Also, large documents are not meant to be stored in Neo4j. For full-text querying apart from querying based on field/label, Neo4j might only be a part of the solution; something such as Solr or Elasticsearch should be used along with Neo4j to get the full-text search working at scale. Caching is best left to solutions such as memcached. While graphs are a great tool, overusing them and trying to fit a non-graph use case into a graph will more often than not result in failure or at least...