Description
A TinkerPop Golang driver has been asked for for a while. This ticket can be used to track the overall progress of the Golang driver, which will likely follow the design of the existing Python driver.
An overall plan is detailed below (may be subject to change):
Milestone 1 - Basic Connectivity with String Traversals
- Allows string traversals to be sent and received
- Returns results as a string
Milestone 2 - ResultSet and Programmatic Traversals
- Proper ResultSet returned (iterable results with proper Objects)
- Programmatic traversal support (g.V().etc())
Milestone 3 - TinkerPop Build Infrastructure Integration
- Gremlin-Go will build in the TinkerPop build infrastructure
- Gherkin test suite integration
- Go translator written in Java
- Docker integration
Milestone 4 - Sessions, Strategies, Translator, Remote Transactions
- TraversalStrategies and DriverRemoteConnection strategy hookups
- Sessions implementation
- Remote transactions
Milestone 5 - Advanced Driver Features and Configuration Options
- Connection pooling and load balancing
- Custom header injection, keep alive, connection timeout, and websocket compression
- Authentication methods (IAM, kerberos)
- GraphSON - Not sure if this will be required - it may be descoped.
Milestone 6 - Performance and Documentation
- Full documentation on par with other TinkerPop drivers
- Performance tests and metrics on Driver performance
Attachments
Issue Links
- is duplicated by
-
TINKERPOP-2655 Gremlin Language Variant for Go
- Closed
- links to