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 <[email protected]>
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 <[email protected]>
> 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 <
>> [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
>>
>
>
> --
> *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