[Gremlin and Cypher] What is the deal?

793 views
Skip to first unread message

Marko Rodriguez

unread,
Jun 10, 2011, 5:28:00 PM6/10/11
to gremli...@googlegroups.com
Hi everyone,

This morning I was inundated with emails regarding the Neo4j release of Cypher. Here are the general concerns people had and my answers to those concerns:

1. "Does Neo4j  still support Gremlin?"
- YES. Gremlin works over Blueprints which binds to Neo4j. Neo4j has not changed their core API.
- Neo4j will still release Gremlin with Neo4j Server both with the JavaScript UI and as a GremlinServerPlugin.
- The TinkerPop stack will still work with Neo4j.

2. "I have lots of Gremlin code and now will I have to change it to Cypher?"
- NO. There are many ways to query a graph, you can do it Cypher or Gremlin.
- Depending on the expressivity you need, you can pick the language that works for you.

3. Is Neo4j no longer a member of TinkerPop?
- NO. TinkerPop and Neo4j has strong connections through a long history. For example, Peter Neubauer (founder of Neo4j) is a founding member of TinkerPop.

4. What is wrong with Gremlin that Neo4j needs make their own query language.
- NOTHING. Cypher is much like SPARQL. Its good for graph pattern matching. It has a straightforward syntax and easy for people to grasp.
- Gremlin is a bit more involved in that it allows for arbitrary computations on a graph -- e.g. path traversals, pattern matching, ranking, splitting/merging, native support for Java API, etc.
- Neo4j was interested in releasing a "low barrier to entry" query language that provides just enough functionality to be useful, but not overly complex that its hard to learn.

In many ways, you can see the relationship between Cypher and Gremlin in the graph database space as that of SPARQL [1] to Gremlin in the RDF space.

Hope that clears things up.

Enjoy the languages,

Emil Eifrem

unread,
Jun 11, 2011, 3:33:31 AM6/11/11
to gremli...@googlegroups.com
Agreed.

For the record, I definitely see us supporting Gremlin as a
first-class query language / traversal DSL in Neo4j for a long time.
This has nothing to do with Cypher or other query experiments we will
run but everything to do with whether Gremlin delivers value to our
community. Today that's clearly true.

Another thing to note is that Cypher is not *the* Neo4j query
language, but *a* Neo4j query language. The graph db space is way too
young to already settle on a single way to consume data. There will be
more query languages and we will iterate until we've found something
that the average developers out there can learn and use as easily as
SQL. I think we are very far from that today.

Cheers,

-EE

--
Emil Eifrém, CEO [em...@neotechnology.com]
Neo Technology, www.neotechnology.com
Cell: +46 733 462 271 | US: 206 403 8808
http://blogs.neotechnology.com/emil
http://twitter.com/emileifrem

Reply all
Reply to author
Forward
0 new messages