I am happy to report that we have milestone 1 of the Gremlin Go driver
ready!

Pull request on GitHub which can be reviewed:
https://github.com/apache/tinkerpop/pull/1556

I would like to thank Yang (https://github.com/xiazcy), Simon (
https://github.com/simonz-bq), and Rithin (https://github.com/L0Lmaker) for
their contributions. Going forward commit history will be properly
preserved, unfortunately it ended up getting mangled for the first
milestone.

If anyone is interested in joining in on the effort, please let me know
directly, as there are a few others working on it concurrently and will be
moving quickly to Milestone 2.

On Wed, Jan 19, 2022 at 3:16 AM Jorge Bay Gondra <[email protected]>
wrote:

> Sounds good! looking forward to it! I hope I can have some free cycles to
> help review it.
>
> On Tue, Jan 18, 2022 at 11:25 PM Lyndon Bauto
> <[email protected]> wrote:
>
> > Hi all,
> >
> > I am working on a Golang driver for TinkerPop. I will be working on it on
> > my fork of TinkerPop
> > <https://github.com/lyndonb-bq/tinkerpop/tree/gremlin-go>. I have laid
> out
> > a plan for delivering it below. Each milestone will come to a main branch
> > on the TinkerPop repo (branch yet to be made) that can be reviewed by
> > anyone interested. If you would like to join in the development of the
> > driver please let me know so we can make sure we are working on separate
> > things as a couple others are already involved.
> >
> > Each milestone will come with a basic README that ought to have enough
> info
> > for someone to try out the current features of the driver. If anyone has
> > any comments or questions on the below plan, feel free to comment. Note -
> > the first serialization format will be GraphBinary.
> >
> > *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,
> >    might use channel since that is generally preferred in golang)
> >    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
> >
> > --
> > *Lyndon Bauto*
> > Team Lead
> > Bit Quill Technologies Inc.
> > [email protected]
> > https://www.bitquilltech.com
> >
>


-- 
*Lyndon Bauto*
Team Lead
Bit Quill Technologies Inc.
[email protected]
https://www.bitquilltech.com

Reply via email to