Views on graph databases
I am working on a project that has a strong social networking component and I am considering using a graph database called Neo4j for it. I find the cypher query language, of Neo4j, quite interesting. However, I have never used it before professionally. I am well aware of the pros of using them. I am just worried about hidden gotchas.
Can you please share your opinions on graph databases in general?
Interesting question. I have no experience for graph databases myself, so I'll keep watching this thread.0
Did you know notCRUD has cool signatures? Use them by going to your User Profile > Edit.
Personal blog: paraschopra.com/blog/
One thing I know about graph databases is that they're perfect for modeling and storing connections between entities. Apart from that, I'm not very familiar with them. I'll tag the Neo4J team on Twitter, ask them to help you out here?
Thanks for your responses. I was worried about this post getting flagged as it had a "stackoverflowy" appeal.
Cypher language, created by Neo4j, team is one of the most elegant languages I have seen so far. Although you have to use text to write your code , the language is essentially graphical in nature. I would encourage others in the community to learn it and find if the principles used to design this language can be used to design normal programming languages. I can definitely imagine a 'uml to code mapper' being built on the same principles.
Nah, anything to help a product get started
I haven't played with Cypher much, but it sure sounds like something one must play with. Thanks for the heads-up!
Tweet Nikhil Lanjewar from Jombay. He should be able to help you i feel.
He has been working on Neo4J for quite some time. Hosts the Pune Neo4J meetup as well.
@ktkaushik Thanks. I will try to get in touch with him.
Judging by the response here, I guess adoption rate of graph databases is not very high in our region. I have decided to use it as a single all purpose database. If I run into any issues, I will post here.
Yeah, I've not really seen a lot of people use them much. It'd be great to hear about your experiences!
I have no idea if you have considered performance yet. Just check out OrientDB too. I have used both Neo4j and OrientDB just for testing purposes. The web based GUI of Neo4j makes it look easier to work with. But there are many sites comparing these two databases concluding OrientDB performs well. And for OrientDB they support Tinkerpop's Blueprint by default. You can check that graph model here https://github.com/tinkerpop/blueprints/wiki
Though I was not involved in the coding/implementation; Titan was adopted in my earlier organization. Product is in Internet security domain. Lot of traction for this as well. Check out https://github.com/thinkaurelius/titan/