I recently opted to use Cypher and neo4j for a graph query task. So far I think it's been pretty good. Can anyone give a comparison between this and Gremlin?
In gremlin you say: give me those vertices, walk down that path, store that value for later etc. (kinda like programming)
In cypher you say: I want the nodes, containting such and such properties connected such and such. (kinda like sql)
The lines are blurred (they always are). On the gremlin side you have "optimization strategies" that rewrite your query to make use of indices or reorder steps. On the cypher side you can inspect the query plan and futz with queries that are declaratively the same, but will be executed faster (just like sql! :)
Gremlin is more a query language than a graph store. Like you can use SQL w/ Postgres or MS SQL Server or Oracle. You can use it w/ neo4j - there is a plugin: https://github.com/thinkaurelius/neo4j-gremlin-plugin