[ 
https://issues.apache.org/jira/browse/TINKERPOP-2078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16661854#comment-16661854
 ] 

Jorge Bay commented on TINKERPOP-2078:
--------------------------------------

I think from the API perspective, it would be nice to be explicit about which 
methods can result in communication between server and client (IO).

Some questions from the user perspective:

a) {{ReferenceGraph.open()}}
 Will there be any communication between the server and the client? (We know 
that is not the case, but that's the exercise)
 What happens if I close the graph when executing a traversal or before? If it 
doesn't do anything why are we exposing {{open()}}/{{close()}} methods that in 
the database world have specific meanings?

b) {{graph.traversal().withRemote('conf/remote-graph.properties')}}
When will the connection be open? When will the IO occur related to open the 
connection?
 What happens with technologies where you can't block on IO?
If the configuration is incorrect (wrong host address, port, credentials), when 
will it fail?

 

We are providing a whole API surface on {{Graph}} that doesn't make much sense 
for any client/server application. I think what the user is interested is in is 
obtaining a {{TraversalSource}}. I agree with the sentiment that we should 
focus on thinking as connections (remote or local) and not in terms of "graph" 
that are not usable in most client/server scenarios.

> ReferenceGraph rather than EmptyGraph or RemoteGraph
> ----------------------------------------------------
>
>                 Key: TINKERPOP-2078
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2078
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: structure
>    Affects Versions: 3.3.4
>            Reporter: stephen mallette
>            Assignee: stephen mallette
>            Priority: Major
>
> {{RemoteGraph}} was long ago deprecated for {{withRemote()}} typically 
> spawned from {{EmptyGraph}} which is weird. Create {{ReferenceGraph}} which 
> sets up some 4.x concepts (given current thinking). For GLVs, make sure 
> {{EmptyGraph}} didn't leak into them and deal with those issues as needed. 
> Update all docs to stop using {{EmptyGraph}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to