I was hoping to have a nicer solution than EmptyGraph in 3.4.0 which might mean some change in 3.2.x/3.3.x depending on what that was.....
On Wed, Aug 15, 2018 at 8:28 AM Robert Dale <robd...@gmail.com> wrote: > Are you thinking of another mid-stream change or something for TinkerPop > 3.4 or 4.0? > > Robert Dale > > > On Mon, Aug 13, 2018 at 6:35 PM Stephen Mallette <spmalle...@gmail.com> > wrote: > > > 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 <robd...@gmail.com> 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 <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............. > > > > > > > > > >