Why does it have to be a graph at all?  Maybe getting a traversal from a
graph is the wrong concept and that's why it perplexes you so.  We're
connecting to a server that can contain one or more graphs.  The traversal
should probably come off the connection or be standalone. Maybe the
traversal takes a graph.

Robert Dale

On Fri, Aug 10, 2018 at 3:01 PM Stephen Mallette <spmalle...@gmail.com>
wrote:

> I've never been quite settled on how to connect to remote graphs. For a
> while we had RemoteGraph but that wasn't useful really because it was
> largely non-functional, as you really just needed a remote configured
> TraversalSource - so we deprecated that. TraversalSource.withRemote() is
> fine, but you can't get to it without a Graph implementation to create the
> TraversalSource in the first place. For that we started to use EmptyGraph,
> which works, but is a bit confusing, but less confusing than using say,
> TinkerGraph, JanusGraph, etc.
>
> So, how do we nicely create a TraversalSource, that is meant to call
> withRemote()?
>
> We could create a new Graph implementation that's like EmptyGraph, called
> ReferenceGraph, which would behave in the same fashion, but at least it
> sorta fits because remoting only returns "Reference" elements. I suppose
> ReferenceGraph is somewhere in between EmptyGraph and RemoteGraph in terms
> of functionality so maybe it makes more sense usability wise than the
> extremes of the other two? I wonder if ReferenceGraph is even a Graph
> instance?? maybe it just has a single static method like:
>
> g = ReferenceGraph.traversal(conf)
>
> where traversal() constructs a GraphTraversalSource and proxies calls to
> withRemote()? Not sure what happens to DSLs though...that might be trouble.
>
> Anyway, it's a DISCUSS - so let's discuss.............
>

Reply via email to