G.V() - Gremlin IDE Open Beta

183 views
Skip to first unread message

gdotv (Arthur)

unread,
Nov 22, 2021, 7:11:36 AM11/22/21
to Gremlin-users
Hi everyone,

I'm pleased to announce G.V() (pronounced gee dot vee), a new IDE to support your every day Gremlin work. 
G.V() is a software executable for Windows, Mac and Linux that allows you to write and execute gremlin queries against any hosted Gremlin Server technology that implements Apache Tinkerpop 3.4.0 or above.

In short, it does (and allows doing) the following:
- Create connection configurations to your gremlin server(s)
- Write, execute, save Gremlin queries against your gremlin server(s)
- Visualise your database's data model
- Auto complete of your queries as you write them
- Visualise the output of your gremlin queries in various formats (graph, plain text, table)
- Implements the Tinkergraph functionality to allow you to create in-memory graphs from scratch or against existing data, for learning and experimenting purposes.

It's free to download and use, no details required. You can get it now or learn more about it at https://gdotv.com.

As this is a beta version feedback is crucial and will help turning G.V() into a solution that fits the needs of the Apache Tinkerpop community.
Please feel free to provide feedback below, or to feed...@gdotv.com
If you run into any bugs, please feel free to get in touch too. 
Alternatively a survey is available from within the software itself.


Thanks!
Arthur from gdotv

Nicolas SOUCHU

unread,
Nov 22, 2021, 10:31:31 AM11/22/21
to Gremlin-users
Hi Arthur,

Very promising!
Will it be opensourced in the futur? Could it be embedded in a web navigator like VisualStudio / Theia?

Regards
Nicolas

gdotv (Arthur)

unread,
Nov 22, 2021, 12:49:03 PM11/22/21
to Gremlin-users

Hi Nicolas,

G.V() shares an awful lot in common as far as architecture/design with VSCode/Theia (ElectronJS is the common software development framework). The entire user interface is web-based already, so from a design perspective it's already 90% ready to embed in a browser. 
The main barrier to integrating to VSCode/Theia I can see at the moment is that G.V()'s "backend" is written in Java to match Apache TinkerPop's technology stack as closely as possible. 
It's likely to be quite impractical for integration with other tools. However there are components of G.V() that could definitely make it into those two, particularly the "Query Language Service" (the bit that allows writing queries, getting auto complete suggestions, and offering syntax error detection) and possibly the "Data Model Visualisation Service"  (the bit that loads known vertices/edges/properties and their structure to display and use within the "Query Language Service").
At the moment I don't plan to have these integrated in these tools; however I do plan to swap out the "CodeMirror" query editor with Monaco (VSCode's awesome code editor) so the look and feel will certainly converge to that. 
Regarding the future of the tool, it's unclear at the moment. 
My main priority is to make something useful for Gremlin users and attractive to those that are considering working with graph databases and perhaps trying to decide between different technologies or considering migrating to Gremlin. To allow this to happen G.V() will need to be free to at least some degree. Which of an open source or commercial model will allow it to get achieve that and more, I don't know. For now I hope that it's useful and fit for purposes - there's a lot of features I intend to add to it.

Shay Nehmad

unread,
Nov 24, 2021, 6:26:41 PM11/24/21
to Gremlin-users
Can't actually connect to AWS Neptune, getting: 

Failed to connect: All hosts are considered unavailable due to previous exceptions. Check the error log to find the actual reason.

With no link/direction to the error log ¯\_(ツ)_/¯

David Bechberger

unread,
Nov 24, 2021, 6:29:50 PM11/24/21
to gremli...@googlegroups.com
This looks like a networking issue.  Do you get a response if you curl https://<your endpoint>:8182/status?

Dave


--
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-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/e1f9089e-981c-4a69-b6c7-7d8251cf472an%40googlegroups.com.

Shay Nehmad

unread,
Nov 24, 2021, 6:33:10 PM11/24/21
to Gremlin-users
I usually use wss, not https (from gremlin-python). for https I got {"code":"AccessDeniedException","detailedMessage":"Missing Authentication Token"}

gdotv (Arthur)

unread,
Nov 24, 2021, 6:37:22 PM11/24/21
to Gremlin-users
Hi Shay,

Are you tunnelling through to your AWS VPC hosting your Amazon Neptune instance before connecting to it via G.V()? The error message you've received indicates that the host is not known or reachable, which suggests as David pointed out a networking issue. 
To get your local machine connected to your Neptune instance, I'd suggest following the steps described at https://github.com/aws/graph-notebook/tree/main/additional-databases/neptune for SSH tunnelling. 
Alternatively, you can stand up a Windows/Ubuntu virtual machine in the same VPC as your Neptune instance, allow traffic on port 8182 of your instance from your VM and run G.V() from there. 
Though SSH tunnelling is the most convenient option.
Let me know how that works.

Cheers,
Arthur

Shay Nehmad

unread,
Nov 24, 2021, 6:42:16 PM11/24/21
to Gremlin-users
I am not. I'm connecting using AWS credentials from my dev env (IAM) with the https://github.com/awslabs/amazon-neptune-tools/tree/master/neptune-python-utils lib. Any change for IAM DB authentication support? https://docs.aws.amazon.com/neptune/latest/userguide/iam-auth.html

gdotv (Arthur)

unread,
Nov 24, 2021, 6:49:00 PM11/24/21
to Gremlin-users
G.V() doesn't support AWS IAM authentication just yet, though it looks quite straight forward to implement based on those docs. I'll see about building that in the next week or two, if you're okay to stay tuned for it. In the meantime your only option would be to authenticate the legacy way to your Neptune cluster.

Shay Nehmad

unread,
Nov 24, 2021, 6:50:30 PM11/24/21
to gremli...@googlegroups.com
I'll wait. But it it was open-source, I'd probably implement it for y'all. Worth considering open-sourcing it. Might help with the Linux image size as well - 250MB is WAYYY too big 

You received this message because you are subscribed to a topic in the Google Groups "Gremlin-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/gremlin-users/-lprMsLc_mg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to gremlin-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/53dc2fb4-e57d-4b5a-8e85-0dac0bea5c78n%40googlegroups.com.

gdotv (Arthur)

unread,
Nov 24, 2021, 6:56:52 PM11/24/21
to Gremlin-users
Because G.V() comes with a bundled JRE it's a bit bulky, though it does save users needing to download and install it beforehand or worry about having the right version. That being said it can be heavily shrunk with jlink/jrelease.  Optimizing build size is definitely feasible, haven't got round to implementing it :D

gdotv (Arthur)

unread,
Nov 28, 2021, 4:36:12 PM11/28/21
to Gremlin-users
Hi all,

G.V() v0.8.3 is now available. Windows users will receive the update automatically. Linux/macOS users will need to download it manually from https://gdotv.com, and will benefit from auto updates starting with this version. See changelog below:
  • Support for vertex meta-properties - Meta-Properties can now be automatically fetched alongside vertices and will be loaded as part of your database's data model.
  • Amazon Neptune IAM Authentication - G.V() now supports Amazon Neptune IAM Authentication and can be configured when creating a database connection.
  • Results Display - Added ability to quickly copy property values from the various results output screens
  • Auto Update - G.V() will now offer non-intrusive auto updates for Windows, macOS and Linux. When an update is available, a clear prompt will be displayed offering to install the update and view the changelog
  • Added Changelog display dialog
  • Open Documentation button at the bottom left corner of the screen
  • Connection Management documentation now includes further instruction on setting up Amazon Neptune and troubleshooting connectivity issues
  • Improved Error Messaging on database connection failures to provide clearer path to resolution
I've also created a Twitter account, @gdotv_ltd, where I'll be posting news about updates and previews of upcoming functionality, please check it out to find out all the latest regarding gdotv!

Regards,
Arthur

Reply all
Reply to author
Forward
0 new messages