Neo4j is ahead of any of the leading competitors I know. The only one which comes close, in my opinion, is the "Titan-Distributed Graph Database" which is completely open source and free to use. Titan works on top of Apache Cassandra so it has some huge learning curves to do, …
We've done some BOE comparisons between Neo4j, Titan, and OrientDB. The general consensus was that Titan is too unweildy and that Neo4j beat out OrientDB by being more active and having a large community.
To be honest, titan is not as popular as Neo4j, though they do the same thing. In my personal opinion, titan has lot of potential, but Neo4j is easier to use. If the organization is big enough, it might choose titan because of its open source nature, and high scalability, but Ne…
Its very well suited for storing graph types relationship information, such as a group of people and their relationships. Data modeling this sort of information in a traditional SQL database is a pain and inefficient. Using Neo4J allows for efficient modeling of data while providing rich querying capabilities using Cypher. Its also a great fit for any programming language because of its support for REST API. It's less appropriate for any other data structure other than Graph data. So as with any DB, evaluate the data structure and query and if the querying revolves around relationships, then Neo4J is a fit. If there is more need for looking up individual nodes and their associated information, Neo4J might not be the most efficient solution in the market.
Titan is definitely a good choice, but it has its learning curve. The documentation may lack in places, and you might have to muster answers from different sources and technologies. But at its core, it does the job of storing and querying graph databases really well. Remember that titan itself is not the whole component, but utilizes other technologies like cassandra, gremlin, tinkerpop, etc to do many other things, and each of them has a learning curve. I would recommend titan for a team, but not for a single person. For single developer, go with Neo4j.
It would be nice to have some concept of namespaces, or some way of roughly making a single instance multi-tenant. It'd be nice to make sandboxing easier.
The community is lacking deep documentation. I had to spend many nights trying to figure many things on my own. As graph databases will grow popular, I am sure this will be improved.
Not enough community support. Even in SO you might not find many questions. Though there are some users in SO who quickly answer graph database questions. Need more support.
I have not used anything like Neo4J because of how unique it is in the work that it allows me to do. I am not aware of any other graph database platforms and it might be because it is a growing area (especially in the world of pharmaceuticals). I would be open to trying other softwares though.
To be honest, titan is not as popular as Neo4j, though they do the same thing. In my personal opinion, titan has lot of potential, but Neo4j is easier to use. If the organization is big enough, it might choose titan because of its open source nature, and high scalability, but Neo4j comes with a lot of enterprise and community support, better query, better documentation, better instructions, and is also backed by leading tech companies. But titan is very strong when you consider standards. Titan follows gremlin and tinkerpop, both of which will be huge in future as more graph database vendors join the market. If things go really well, maybe Neo4j might have to support gremlin as well.
For experimentation purposes, it had a positive impact on my company. It was very natural to work with Neo4j and so intuitive to visualize the data.
Neo4j community edition is free, which is what we experimented on. So there was no investment up front apart from employee's time. But this quickly gave results and it was time well spent.
Neo4j is a cool but very new technology. It was hard to have people onboard, especially some of the leadership and relational folks.