Cypher for Gremlin

812 views
Skip to first unread message

Dimitry Solovyov

unread,
Feb 27, 2018, 10:02:49 AM2/27/18
to Gremlin-users
Hi all!

I would like to announce that we've just open-sourced Cypher for Gremlin as part of the openCypher project (http://www.opencypher.org/), licensed under Apache 2.0.

Cypher for Gremlin is a toolkit for users of Apache TinkerPop and Gremlin databases. The toolkit adds Cypher graph query language capabilities to various parts of the Gremlin ecosystem, including any Gremlin Server (TinkerPop 3.3.0+), Gremlin Console, or JVM application that connects to Gremlin Server. You can use any of these capabilities to use Cypher with the likes of JanusGraph and, to some extent, cloud graph databases like CosmosDB.

Please get all the details about installation, usage, and features here:

Comprehensive documentation for Cypher is available here:

There is support for a large subset of the Cypher language (close to 60% of the openCypher Technology Compatibility Kit test scenarios pass), and we're expanding support for language features continuously.

The JAR artifacts are not yet on Maven Central, but you can get pre-built Cypher plugins for Gremlin Console and Gremlin Server, as well as a pre-configured Gremlin Console with Cypher support from the releases section at GitHub:

We're very pleased to bring Cypher to the Gremlin community, to give the choice of this widely used property graph query language to users of Gremlin-based databases and services.

We'd love to get feedback from the community and to compare notes with other query language projects for Gremlin, like SPARQL and SQL. As newcomers, we expect there will be many possible improvements to our work so far, so please let us know your thoughts or contribute directly with a PR.

Regards,
Dimitry Solovyov

Stephen Mallette

unread,
Feb 27, 2018, 10:24:18 AM2/27/18
to Gremlin-users
Thanks for letting us know that this was available. At first glance it looks as though you did more than just write a translator. The CypherOpProcessor for Gremlin Server looks interesting as does the ability to execute cypher against a TraversalSource. 

As an aside, we would probably like to get this added to our "tools" listing on our home page, but until there is an official release on Maven Central, it doesn't meet our listing policy:


Do you know when the artifacts will be officially available?

--
You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/9719c81f-69d4-4cac-a8fa-3f675872308d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Dimitry Solovyov

unread,
Feb 27, 2018, 10:31:25 AM2/27/18
to Gremlin-users
Hi Stephen

We plan to release to Central sometime this week. I'll be sure to let you know!
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-user...@googlegroups.com.

zhibo

unread,
Feb 27, 2018, 1:32:57 PM2/27/18
to Gremlin-users
This is great, Thanks! I can't wait to play with it.

A quick question: when used in Gremlin Console, is there a way to print out the translated Gremlin query to the console?

Alastair Green

unread,
Feb 27, 2018, 3:00:24 PM2/27/18
to Gremlin-users
Prepend the query with EXPLAIN and it will show you the translation. 

Dimitry Solovyov

unread,
Feb 27, 2018, 3:00:26 PM2/27/18
to Gremlin-users
zhibo,

Yes. If you prefix the Cypher query with "EXPLAIN", you should get the translation.
(Note that we don't translate Cypher's EXPLAIN to Gremlin's .explain(), but this may change in the future.)

Gremlin Server plugin also logs all queries it receives, and their translation.

zhibo

unread,
Feb 27, 2018, 7:48:39 PM2/27/18
to Gremlin-users
Thanks for your prompt response!

`:> explain match (n) return count(n);` doesn't print out the underneath Gremlin query though. Did I miss anything?

zhibo

unread,
Feb 28, 2018, 9:31:11 AM2/28/18
to Gremlin-users
Never mind. The source code indicates "Explain only works with `cypher-gremlin-server-plugin`"

Dmitry Novikov

unread,
Feb 28, 2018, 12:09:47 PM2/28/18
to Gremlin-users
Hello zhibo,

If my understanding is correct, you are using Gremlin Console Cypher plugin with translation in Console (`:remote connect ... translate gremlin`), right?

Currently `EXPLAIN` only works only when connecting to a server with Cypher Client for Gremlin Server installed.

I've created issue for enhancement for that.

Meanwhile, simplest way to see translated query is using Java API of TranslationFacade

zhibo

unread,
Feb 28, 2018, 2:07:03 PM2/28/18
to Gremlin-users
Hi Dimitry,

Yes, that's correct! Once I installed the plugin to the server side, and it works like a charm. 

Thanks a lot!

Best,
Zhibo

Dmitry N

unread,
Mar 6, 2018, 10:56:27 AM3/6/18
to Gremlin-users
Hello,

We've released artifacts to Maven Central in addition to Github releases:

* https://search.maven.org/#search|ga|1|g%3A"org.opencypher.gremlin"
* https://github.com/opencypher/cypher-for-gremlin/releases

Regards,
Dmitry

Stephen Mallette

unread,
Mar 6, 2018, 2:03:00 PM3/6/18
to Gremlin-users
A thread discussing the addition of cypher-for-gremlin to the index listing has been opened on the dev list 


--
You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/d2984c78-328b-4949-9f69-dbaa896fbe44%40googlegroups.com.

Dimitry Solovyov

unread,
Mar 20, 2018, 5:32:21 AM3/20/18
to Gremlin-users
Hi Stephen

That's great!
Anything else we can do to help with the addition to the index?

I also know that this page provides more details on various query compilers.
I figure, there's the logo requirement and some sort of significance requirement to be added to this page?

Regards,
Dimitry
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-user...@googlegroups.com.

Stephen Mallette

unread,
Mar 20, 2018, 7:28:50 AM3/20/18
to Gremlin-users
sorry - i thought i'd added the link, but I guess i hadn't somehow. it's added and published now. 

I figure, there's the logo requirement and some sort of significance requirement to be added to this page?

and - yes, i think it would be good to add it there as well. we would need a logo of sorts - i tend to use 


for cypher stuff, but it's not the write size/shape really for this situation. we'd need to come up with something

To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/2a54d889-0a5f-4c8d-a440-4a8d47b939c2%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages