I'm sure it's fast, but also consumes a ridiculous amount of memory. Tried loading a smallish dataset into neo4j that runs on a 100mb ram postgres server just fine. Neo4j wanted gigabytes of memory.
When I used it, it was fast at a very specific set of graph traversal operations. It was extremely easy to step outside those narrow patterns, while doing things that seemed like they should be fine and were very common sorts of things one might want to do with the DB, at which point performance would become terrible. A look at the underlying data structures they use was revealing re: why they were so fast at some things, and so slow at others. And they only achieved that much performance by, as you note, eating memory like it's free (I mean, it is Java...).
It was also alarmingly weak on data-integrity protection features, like constraints, locking, and data-types, at the time. IDK, maybe they've fixed that. Then, it was IMO wholly unsuited to hosting any data set that you couldn't stand to have completely destroyed every so often (so, a very particular kind of caching, which IIRC is exactly what one of their marketing department's favorite names to trot out, Ebay, used it for then).
[EDIT] I would, however, agree with nisa's post elsewhere in the thread, that the Cypher query language is excellent.
Did you do anything to configure that? If I remember correctly (has been a few years), Neo4j will be default reserve a bunch of space for caches and such (on top of default reserved heap sizes etc for Java). As such, the defaults don't necessarily say much.
It was also alarmingly weak on data-integrity protection features, like constraints, locking, and data-types, at the time. IDK, maybe they've fixed that. Then, it was IMO wholly unsuited to hosting any data set that you couldn't stand to have completely destroyed every so often (so, a very particular kind of caching, which IIRC is exactly what one of their marketing department's favorite names to trot out, Ebay, used it for then).
[EDIT] I would, however, agree with nisa's post elsewhere in the thread, that the Cypher query language is excellent.