Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-2692

Create a Golang Driver for TinkerPop



    • Improvement
    • Status: Closed
    • Major
    • Resolution: Implemented
    • 3.5.1
    • 3.6.1, 3.5.4
    • go
    • None


      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

      1. Allows string traversals to be sent and received
      2. Returns results as a string

      Milestone 2 - ResultSet and Programmatic Traversals

      1. Proper ResultSet returned (iterable results with proper Objects)
      2. Programmatic traversal support (g.V().etc())

      Milestone 3 - TinkerPop Build Infrastructure Integration

      1. Gremlin-Go will build in the TinkerPop build infrastructure
      2. Gherkin test suite integration
      3. Go translator written in Java
      4. Docker integration

      Milestone 4 - Sessions, Strategies, Translator, Remote Transactions

      1. TraversalStrategies and DriverRemoteConnection strategy hookups
      2. Sessions implementation
      3. Remote transactions

      Milestone 5 - Advanced Driver Features and Configuration Options

      1. Connection pooling and load balancing
      2. Custom header injection, keep alive, connection timeout, and websocket compression
      3. Authentication methods (IAM, kerberos)
      4. GraphSON - Not sure if this will be required - it may be descoped.

      Milestone 6 - Performance and Documentation

      1. Full documentation on par with other TinkerPop drivers
      2. Performance tests and metrics on Driver performance


        Issue Links



              lyndonb Lyndon Bauto
              lyndonb Lyndon Bauto
              0 Vote for this issue
              2 Start watching this issue