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
