You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by Lyndon Bauto <ly...@bitquilltech.com.INVALID> on 2022/02/16 23:54:56 UTC

Re: [DISCUSS] TinkerPop Golang Driver (coming soon!)

Hi all,

We have now merged the Gremlin Go Milestone 1 code to
https://github.com/apache/tinkerpop/tree/gremlin-go and have opened a pull
request that contains the code for Milestone 2 (see
https://github.com/apache/tinkerpop/pull/1569).

With this change, you can now execute programmatic traversals with the code
(see the Getting Started section of
https://github.com/lyndonb-bq/tinkerpop/tree/gremlin-go-ms2/gremlin-go for
more details).

We are now working on Milestone 3, and as requested, will be adding a
detailed design document to the milestone.

If anyone is interested in joining in on the effort or has questions about
the driver, please let me know directly, as there are a few others working
on it concurrently and we are moving quickly.

On Mon, Jan 31, 2022 at 1:01 PM Lyndon Bauto <ly...@bitquilltech.com>
wrote:

> 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 <jo...@gmail.com>
> 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
>> <ly...@bitquilltech.com.invalid> 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.
>> > lyndonb@bitquilltech.com
>> > https://www.bitquilltech.com
>> >
>>
>
>
> --
> *Lyndon Bauto*
> Team Lead
> Bit Quill Technologies Inc.
> lyndonb@bitquilltech.com
> https://www.bitquilltech.com
>


-- 
*Lyndon Bauto*
Team Lead
Bit Quill Technologies Inc.
lyndonb@bitquilltech.com
https://www.bitquilltech.com

Re: [DISCUSS] TinkerPop Golang Driver (coming soon!)

Posted by Lyndon Bauto <ly...@bitquilltech.com.INVALID>.
Hi all,

As you are likely all aware, we are progressing quickly towards the end of
the Gremlin Go driver.

We decided to combine Milestone 6 and 7 since almost every single
'advanced' driver feature and configuration option was pulled into a
previous milestone, making that milestone a near no-op. The final schedule
for the Gremlin Go driver is below:

- Milestone 1 - Basic Connectivity with String Traversals
- Milestone 2 - ResultSet and Programmatic Traversals
- Milestone 3 - TinkerPop Build Infrastructure Integration
- Milestone 4 - GA Ready
- Milestone 5 - Sessions, Strategies, Translator, Remote Transactions
- Milestone 6 - Advanced Driver Features, Configuration Options,
Performance, and Documentation

With that in mind, I am happy to announce we have a pull request open for
Milestone 5 now!

Link: https://github.com/apache/tinkerpop/pull/1619

Any additional eyes on the pull request are appreciated.

Cheers!
-- 
*Lyndon Bauto*
Team Lead
Bit Quill Technologies Inc.
lyndonb@bitquilltech.com
https://www.bitquilltech.com

Re: [DISCUSS] TinkerPop Golang Driver (coming soon!)

Posted by Stephen Mallette <sp...@gmail.com>.
Great to see this PR fall into place. As this is the last major item aimed
at 3.5.3, I'd encourage anyone with an interest to perform their code
review immediately, so that any issues can be addressed early next week
allowing us to head to code freeze nice and comfortable like for next
Friday.

I can't recall where/when we last discussed it, but just to bring it up
here to be sure, I think that while we should set the expectation that
gremlin-go is in an "early release" form with limited features and in GA
for the purpose of soliciting feedback. I don't think we need to wait for
all the projected milestones to be completed to have an official release
necessarily but that decision can be made as the effort continues.

As this is an "early release" I'd encourage reviewers to think of it that
way and reflect on the early stage releases of Python or Javascript as a
reference point for what we considered as "alpha" in those cases.



On Thu, Mar 17, 2022 at 5:46 PM Lyndon Bauto
<ly...@bitquilltech.com.invalid> wrote:

> Hi all,
>
> On the topic of Gremlin-Go, I would like to provide an update as we have
> prepared code that is now release ready (once code review on TinkerPop is
> complete).
>
> First off, we decided to add an additional milestone (Milestone 4 below,
> incrementing the milestones that come after) to the above list. We now have
> the following plan:
>
>
>    - *Milestone 1 - Basic Connectivity with String Traversals*
>    - *Milestone 2 - ResultSet and Programmatic Traversals*
>    - *Milestone 3 - TinkerPop Build Infrastructure Integration*
>    - *NEW: **Milestone 4 - GA Ready*
>    - *Milestone 5 - Sessions, Strategies, Translator, Remote Transactions*
>    - *Milestone 6 - Advanced Driver Features and Configuration Options*
>    - *Milestone 7 - Performance and Documentation*
>
>
> We have combined the Milestone 3 and 4 into a pull request which is
> available here: https://github.com/apache/tinkerpop/pull/1589/files.
>
> After this pull request is merged, I will take the gremlin-go branch and
> merge the code into a release branch, from here we can formally release the
> Gremlin-Go code, and make it available for users. We have all the Cucumber
> tests passing, so that gives high confidence that the driver is stable for
> users and the features are working.
>
> We will be beginning Milestone 5 immediately (while prioritizing
> incorporating feedback on the pull request).
>
> Finally, since I got no feedback on the previous question about __/T__ so
> we have gone with T__ in the gremlin-go driver. If you disagree with this
> and would like to raise your opinion, you can comment on our open pull
> request for Milestone 3/4.
>
> Thank you to all the people who have been actively reviewing and developing
> this!
>
> On Tue, Mar 1, 2022 at 9:52 AM Lyndon Bauto <ly...@bitquilltech.com>
> wrote:
>
> > Hi all,
> >
> > I was looking to see if anyone had input on naming of embedded traversals
> > in the Gremlin Go Driver. Typically we would have something like:
> > g.V().Foo(__.Bar())
> >
> > Now in Golang we are currently making this look like:
> > g.V().Foo(gremlingo.T__.Bar())
> >
> > We have the following constraints in go:
> > 1. We must prefix something from our package with the package name (hence
> > the gremlingo prefix).
> > 2. We must prefix something with a capital letter to export it (hence the
> > T__ instead of __).
> >
> > If anyone has any ideas to make this look nicer or has alternative ideas
> > for this, please suggest them.
> >
> > On Wed, Feb 16, 2022 at 3:54 PM Lyndon Bauto <ly...@bitquilltech.com>
> > wrote:
> >
> >> Hi all,
> >>
> >> We have now merged the Gremlin Go Milestone 1 code to
> >> https://github.com/apache/tinkerpop/tree/gremlin-go and have opened a
> >> pull request that contains the code for Milestone 2 (see
> >> https://github.com/apache/tinkerpop/pull/1569).
> >>
> >> With this change, you can now execute programmatic traversals with the
> >> code (see the Getting Started section of
> >> https://github.com/lyndonb-bq/tinkerpop/tree/gremlin-go-ms2/gremlin-go
> >> for more details).
> >>
> >> We are now working on Milestone 3, and as requested, will be adding a
> >> detailed design document to the milestone.
> >>
> >> If anyone is interested in joining in on the effort or has questions
> >> about the driver, please let me know directly, as there are a few others
> >> working on it concurrently and we are moving quickly.
> >>
> >> On Mon, Jan 31, 2022 at 1:01 PM Lyndon Bauto <ly...@bitquilltech.com>
> >> wrote:
> >>
> >>> 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 <
> >>> jorgebaygondra@gmail.com> 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
> >>>> <ly...@bitquilltech.com.invalid> 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.
> >>>> > lyndonb@bitquilltech.com
> >>>> > https://www.bitquilltech.com
> >>>> >
> >>>>
> >>>
> >>>
> >>> --
> >>> *Lyndon Bauto*
> >>> Team Lead
> >>> Bit Quill Technologies Inc.
> >>> lyndonb@bitquilltech.com
> >>> https://www.bitquilltech.com
> >>>
> >>
> >>
> >> --
> >> *Lyndon Bauto*
> >> Team Lead
> >> Bit Quill Technologies Inc.
> >> lyndonb@bitquilltech.com
> >> https://www.bitquilltech.com
> >>
> >
> >
> > --
> > *Lyndon Bauto*
> > Team Lead
> > Bit Quill Technologies Inc.
> > lyndonb@bitquilltech.com
> > https://www.bitquilltech.com
> >
>
>
> --
> *Lyndon Bauto*
> Team Lead
> Bit Quill Technologies Inc.
> lyndonb@bitquilltech.com
> https://www.bitquilltech.com
>

Re: [DISCUSS] TinkerPop Golang Driver (coming soon!)

Posted by Lyndon Bauto <ly...@bitquilltech.com.INVALID>.
Hi all,

On the topic of Gremlin-Go, I would like to provide an update as we have
prepared code that is now release ready (once code review on TinkerPop is
complete).

First off, we decided to add an additional milestone (Milestone 4 below,
incrementing the milestones that come after) to the above list. We now have
the following plan:


   - *Milestone 1 - Basic Connectivity with String Traversals*
   - *Milestone 2 - ResultSet and Programmatic Traversals*
   - *Milestone 3 - TinkerPop Build Infrastructure Integration*
   - *NEW: **Milestone 4 - GA Ready*
   - *Milestone 5 - Sessions, Strategies, Translator, Remote Transactions*
   - *Milestone 6 - Advanced Driver Features and Configuration Options*
   - *Milestone 7 - Performance and Documentation*


We have combined the Milestone 3 and 4 into a pull request which is
available here: https://github.com/apache/tinkerpop/pull/1589/files.

After this pull request is merged, I will take the gremlin-go branch and
merge the code into a release branch, from here we can formally release the
Gremlin-Go code, and make it available for users. We have all the Cucumber
tests passing, so that gives high confidence that the driver is stable for
users and the features are working.

We will be beginning Milestone 5 immediately (while prioritizing
incorporating feedback on the pull request).

Finally, since I got no feedback on the previous question about __/T__ so
we have gone with T__ in the gremlin-go driver. If you disagree with this
and would like to raise your opinion, you can comment on our open pull
request for Milestone 3/4.

Thank you to all the people who have been actively reviewing and developing
this!

On Tue, Mar 1, 2022 at 9:52 AM Lyndon Bauto <ly...@bitquilltech.com>
wrote:

> Hi all,
>
> I was looking to see if anyone had input on naming of embedded traversals
> in the Gremlin Go Driver. Typically we would have something like:
> g.V().Foo(__.Bar())
>
> Now in Golang we are currently making this look like:
> g.V().Foo(gremlingo.T__.Bar())
>
> We have the following constraints in go:
> 1. We must prefix something from our package with the package name (hence
> the gremlingo prefix).
> 2. We must prefix something with a capital letter to export it (hence the
> T__ instead of __).
>
> If anyone has any ideas to make this look nicer or has alternative ideas
> for this, please suggest them.
>
> On Wed, Feb 16, 2022 at 3:54 PM Lyndon Bauto <ly...@bitquilltech.com>
> wrote:
>
>> Hi all,
>>
>> We have now merged the Gremlin Go Milestone 1 code to
>> https://github.com/apache/tinkerpop/tree/gremlin-go and have opened a
>> pull request that contains the code for Milestone 2 (see
>> https://github.com/apache/tinkerpop/pull/1569).
>>
>> With this change, you can now execute programmatic traversals with the
>> code (see the Getting Started section of
>> https://github.com/lyndonb-bq/tinkerpop/tree/gremlin-go-ms2/gremlin-go
>> for more details).
>>
>> We are now working on Milestone 3, and as requested, will be adding a
>> detailed design document to the milestone.
>>
>> If anyone is interested in joining in on the effort or has questions
>> about the driver, please let me know directly, as there are a few others
>> working on it concurrently and we are moving quickly.
>>
>> On Mon, Jan 31, 2022 at 1:01 PM Lyndon Bauto <ly...@bitquilltech.com>
>> wrote:
>>
>>> 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 <
>>> jorgebaygondra@gmail.com> 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
>>>> <ly...@bitquilltech.com.invalid> 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.
>>>> > lyndonb@bitquilltech.com
>>>> > https://www.bitquilltech.com
>>>> >
>>>>
>>>
>>>
>>> --
>>> *Lyndon Bauto*
>>> Team Lead
>>> Bit Quill Technologies Inc.
>>> lyndonb@bitquilltech.com
>>> https://www.bitquilltech.com
>>>
>>
>>
>> --
>> *Lyndon Bauto*
>> Team Lead
>> Bit Quill Technologies Inc.
>> lyndonb@bitquilltech.com
>> https://www.bitquilltech.com
>>
>
>
> --
> *Lyndon Bauto*
> Team Lead
> Bit Quill Technologies Inc.
> lyndonb@bitquilltech.com
> https://www.bitquilltech.com
>


-- 
*Lyndon Bauto*
Team Lead
Bit Quill Technologies Inc.
lyndonb@bitquilltech.com
https://www.bitquilltech.com

Re: [DISCUSS] TinkerPop Golang Driver (coming soon!)

Posted by Lyndon Bauto <ly...@bitquilltech.com.INVALID>.
Hi all,

I was looking to see if anyone had input on naming of embedded traversals
in the Gremlin Go Driver. Typically we would have something like:
g.V().Foo(__.Bar())

Now in Golang we are currently making this look like:
g.V().Foo(gremlingo.T__.Bar())

We have the following constraints in go:
1. We must prefix something from our package with the package name (hence
the gremlingo prefix).
2. We must prefix something with a capital letter to export it (hence the
T__ instead of __).

If anyone has any ideas to make this look nicer or has alternative ideas
for this, please suggest them.

On Wed, Feb 16, 2022 at 3:54 PM Lyndon Bauto <ly...@bitquilltech.com>
wrote:

> Hi all,
>
> We have now merged the Gremlin Go Milestone 1 code to
> https://github.com/apache/tinkerpop/tree/gremlin-go and have opened a
> pull request that contains the code for Milestone 2 (see
> https://github.com/apache/tinkerpop/pull/1569).
>
> With this change, you can now execute programmatic traversals with the
> code (see the Getting Started section of
> https://github.com/lyndonb-bq/tinkerpop/tree/gremlin-go-ms2/gremlin-go
> for more details).
>
> We are now working on Milestone 3, and as requested, will be adding a
> detailed design document to the milestone.
>
> If anyone is interested in joining in on the effort or has questions about
> the driver, please let me know directly, as there are a few others working
> on it concurrently and we are moving quickly.
>
> On Mon, Jan 31, 2022 at 1:01 PM Lyndon Bauto <ly...@bitquilltech.com>
> wrote:
>
>> 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 <
>> jorgebaygondra@gmail.com> 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
>>> <ly...@bitquilltech.com.invalid> 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.
>>> > lyndonb@bitquilltech.com
>>> > https://www.bitquilltech.com
>>> >
>>>
>>
>>
>> --
>> *Lyndon Bauto*
>> Team Lead
>> Bit Quill Technologies Inc.
>> lyndonb@bitquilltech.com
>> https://www.bitquilltech.com
>>
>
>
> --
> *Lyndon Bauto*
> Team Lead
> Bit Quill Technologies Inc.
> lyndonb@bitquilltech.com
> https://www.bitquilltech.com
>


-- 
*Lyndon Bauto*
Team Lead
Bit Quill Technologies Inc.
lyndonb@bitquilltech.com
https://www.bitquilltech.com