I agree with solving this at the graph level.

On Mon, Mar 30, 2015 at 12:37 PM Stephen Mallette <[email protected]>
wrote:

> This issue all seems to trap users (even pre-TP3):
>
> gremlin> graph = TinkerGraph.open()
> ==>tinkergraph[vertices:0 edges:0]
> gremlin> g = graph.traversal()
> ==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
> gremlin> g.addV(id,1l)
> ==>v[1]
> gremlin> g.V(1)
> gremlin> g.V(1L)
> ==>v[1]
>
> We see it again here on the gremlin-users mailing list today:
>
> https://groups.google.com/d/msg/gremlin-users/Nb7v1-ihFgY/nG73rO-WrHcJ
>
> and its impact on non-JVM languages using GraphSON serialization with
> Gremlin Server.  Here's a few thoughts for how we might try to make this
> better:
>
> 1. Take care of it at the Graph level.  In the test suite, force graphs
> that supportsNumericIds to properly resolve any Number (long, int, etc)
> given as an Id (the most common case for getting this wrong).  Force those
> that supportsCustomIds to accept a "string" representation of that id.  In
> this way, Graph identifiers can fit in basic JSON types.
> 2. Make it so that Gremlin Server coerces JSON types to some standard
> form.  Rexster sorta worked this way with RexPro where there was lossiness
> with MsgPack.  Maybe Gremlin Server has some configuration for this?  Not a
> perfect solution being so high in the stack and certainly doesn't fix the
> console example above.
> 3. Introduce a more simplistic type system to Gremlin Server's
> GraphSON....something less verbose than what you get with the embedTypes
> setting on the GraphSONWriter??  Rexster had a system for doing this, but
> it didn't feel like a great approach.  Again, this doesn't really fix
> problems with the Console example.  Not sure it helps Dylan either given
> what was stated in that post above.
>
> I don't know if option 1 is the right answer, but I like the idea of
> solving this at the Graph level somehow so that the benefit goes up the
> stack  any other ways to do it?  how about reasons for not trying to settle
> it at the gremlin-core/Graph level?
>
> Thanks,
>
> Stephen
>

Reply via email to