On 2021/01/15 17:03:35, Stephen Mallette <[email protected]> wrote: 
> welcome and thanks for the questions.
> 
> >  Q1. Is this WebSocket based protocol specified somewhere? It includes
> questions regarding Gremlin query and response serialization. I would like
> to follow the official spec in order to implement the same protocol.
> 
> The protocol is documented here:
> 
> https://tinkerpop.apache.org/docs/3.4.9/dev/provider/#_graph_driver_provider_requirements

Good, it looks like a comprehensive spec.

> 
> >  Is there an official test suite/kit what could be put in place of the
> client side (the one with nodejs app) and it would test whether a new
> server side implementation really supports the same communication protocol
> and can speak Gremlin (maybe not all operators are expected to work or
> there are levels of support, etc).
> 
> Most providers use our test suite directly against their graph to validate
> that Gremlin behaves properly:
> 
> https://tinkerpop.apache.org/docs/3.4.9/dev/provider/#validating-with-gremlin-test
> 
> but I suppose that does not work well if you have a go backend. the suite
> is largely designed to interoperate with the JVM only. That said, we've
> been making progress toward breaking from that dependency with our GLV test
> suite which is basically the pure Java test suite ported to cucumber:
> 
> https://github.com/apache/tinkerpop/tree/3.4-dev/gremlin-test/features
> 
> You would have to write your own test infrastructure to consume them but at
> least the Gremlin and the test expectations are all there. I suppose that
> is only one part of the issue though as it focuses more on more on Gremlin
> processing and less on intricacies of driver interactions at the protocol
> level. i've had it in my mind to somehow re-adjust the whole suite around
> cucumber and to make it flexible enough to handle the current use cases we
> have plus the sort of one you're bringing up but it's not an easy quick
> sort of thing to work on.
> 
> happy to try to answer other questions you might have as you try to build
> your new graph and to discuss possible ways to make the suite better and
> more open verify the different ways TinkerPop is implemented.
> 

Thank you, it looks to be a very good start point for me.


> 
> On Thu, Jan 14, 2021 at 9:30 AM floodway floodway <[email protected]>
> wrote:
> 
> > Hello,
> >
> > For example, currently I have the following situation:
> >
> > [nodejs app with gremlin npm module]  ---<talks Gremlin via WebSocket
> > to>--- [official JVM based gremlin server with TinkerGraph]
> >
> > And what if I would like to create a custom part of the server side, from
> > scratch, i.e. no parts of existing TinkerPop project are used at all, e.g.
> > a Golang based project. In order to get the following:
> >
> > [nodejs app with gremlin npm module]  ---<talks Gremlin via WebSocket
> > to>--- [another graph db impl]
> >
> > So, I will be able to simply replace it with another implementation.
> >
> > It looks to be possible, but I have several organisational questions.
> >
> > Q1. Is this WebSocket based protocol specified somewhere? It includes
> > questions regarding Gremlin query and response serialization. I would like
> > to follow the official spec in order to implement the same protocol.
> >
> > Q2. Is there an official test suite/kit what could be put in place of the
> > client side (the one with nodejs app) and it would test whether a new
> > server side implementation really supports the same communication protocol
> > and can speak Gremlin (maybe not all operators are expected to work or
> > there are levels of support, etc).
> >
> > Thanks in advance for any advice.
> >
> 

Reply via email to