Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Dgraph | 19,288 | 3 | 4 | 2 days ago | 174 | January 05, 2022 | 284 | other | Go | |
Native GraphQL Database with graph backend | ||||||||||
Incubator Hugegraph | 2,304 | 1 | 2 days ago | 5 | January 19, 2021 | 249 | apache-2.0 | Java | ||
A graph database that supports more than 100+ billion data, high performance and scalability (Include OLTP Engine & REST-API & Backends) | ||||||||||
Gremlin | 1,835 | 171 | 37 | 6 years ago | 8 | September 17, 2014 | 21 | other | Java | |
A Graph Traversal Language (no longer active - see Apache TinkerPop) | ||||||||||
Awesome Graph | 991 | a month ago | 8 | |||||||
A curated list of resources for graph databases and graph computing tools | ||||||||||
Helios.js | 246 | 6 years ago | April 16, 2015 | mit | JavaScript | |||||
An in-memory graph database for modern browsers. | ||||||||||
Vscode Cosmosdb | 140 | 11 days ago | 89 | mit | TypeScript | |||||
Azure Databases extension for VS Code | ||||||||||
Awesome Tinkerpop | 125 | 3 years ago | 1 | cc0-1.0 | ||||||
A curated list of useful libraries for Apache TinkerPop3 and Tinkerpop2 | ||||||||||
Yang Db | 96 | 3 months ago | 27 | apache-2.0 | Java | |||||
YANGDB Open-source, Scalable, Non-native Graph database (Powered by Elasticsearch) | ||||||||||
Grammes | 88 | 4 | 2 years ago | 4 | April 16, 2020 | 23 | apache-2.0 | Go | ||
A Go package built to communicate with Apache TinkerPop™ Graph computing framework using Gremlin; a graph traversal language used by graph databases such as JanusGraph®, MS Cosmos DB, AWS Neptune, and DataStax® Enterprise Graph. | ||||||||||
Gremlin | 84 | 6 | 3 years ago | May 26, 2021 | 8 | mit | Go | |||
Go graph database client for TinkerPop3 Gremlin Server |
Gizmo is a Web UI that makes it easy to interact with TinkerPop graph databases such as AWS Neptune and Azure CosmosDB with the Cypher query language .
It may be a matter of preference, but I find Cypher to be substantially more natural and expressive than the Gremlin query language that is native to TinkerPop graph databases.
The easiest way to run the console is via docker:
docker run -it -p 8080:8080 rebar/gizmo
Point your browser to http://localhost:8080 to use Gizmo.
If you do not specify a GREMLIN_URL
docker environment variable, Gizmo will try to locate a database using a discovery procedure descibed below.
To specify a database server explicitly, simply add -e GREMLIN_URL=<url>
to your docker options.
For instance:
docker run -it -p 8080:8080 -e GREMLIN_URL=neptune://myserver:8182 rebar/gizmo
These URLs can take the form:
GREMLIN_URL | Explanation |
---|---|
neptune:// |
Connect to neptune on the given host and port. The Gremlin Cypher driver will automatically be set for TranslatorFlavor.neptune() |
cosmos:// |
Connect to neptune on the given host and port. The Gremlin Cypher driver will automatically be set for TranslatorFlavor.cosmosDb() |
gremlin:// |
Connect to a standard Gremlin server on the given host and port |
If GREMLIN_URL
is specified as an environmental variable, Gizmo will honor it.
For instance, if your Neptune endpoint is:
test.cluster-cztds9npdixn.us-west-2.neptune.amazonaws.com:8182
you would specifiy this as:
GREMLIN_URL=neptune://test.cluster-cztds9npdixn.us-west-2.neptune.amazonaws.com:8182
Cosmos or other Gremlin-enbaled TinkerPop databases can be specified by using cosmos://<host>:<port>
or gremlin://<host>:<port>
syntax respectively.
Additionally, Gizmo will try to auto-discover endpoints according to the procedure in the following table. This is purely a convenience.
Precedence | Config | Explanation |
---|---|---|
Highest |
GREMLIN_URL specified as an environment variable or gremlin.url set as a system property |
The specified url will be honored. |
neptune://localhost:8182 |
Gizmo will try to connect to a neptune endpoint on localhost:8182. This is useful if you are using SSH port forwarding to connect to Neptune from outside your VPC. | |
neptune://docker.host.internal:8182 |
Gizmo will try to connect to Neptune on your docker host. This is useful if you are using SSH port forwarding on your laptop to connect to Neptune from outside your VPC. | |
Lowest | Discover Neptune Endpoint | Gizmo will attempt to connect to AWS and enumerate available Neptune instances. It will choose the first available Neptune cluster. |
Neptune servers are only available from inside your VPC. If you do not have direct connectivity to your VPC from your dev environment, you can use the following techniques:
The follwing will forward the local port 8182 to port 8182 on NEPTUNE_HOST
:
ssh -L 0.0.0.0:8182:<NEPTUNE_HOST> <user>@<jumpbox>
WIth this SSH session established, you can use Gizmo with Neptune as if Gizmo was on the same network as your Neptune server.
sshuttle is a clever tool that provides transpartent VPN-like capability through an SSH tunnel.
If you set up sshuttle, Gizmo can discover and connect to your Neptune servers as if you have direct connectivity.