Yes - I did consider killing instantiation through a Graph except that: 1. It felt like a major major departure from what we have been doing and if users have been using things like GraphFactory to instantiate graphs then they might continue to expect that support (currently supported by RemoteGraph) 2. Given 1 above, the test suite is one of those things that relies on that........... 3. Didn't really think of a suitable API that I loved to suggest dealing with the fallout of 1 and 2, but perhaps I didn't try hard enough.
On Mon, Aug 13, 2018 at 5:05 PM Robert Dale <[email protected]> wrote: > 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 <[email protected]> > 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............. > > >
