[ https://issues.apache.org/jira/browse/TINKERPOP-1839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16259462#comment-16259462 ]
stephen mallette commented on TINKERPOP-1839: --------------------------------------------- It's not really documented anywhere but you can do this: {code} gremlin> context.setAttribute('dynamic_g',TinkerFactory.createModern().traversal(),javax.script.ScriptContext.GLOBAL_SCOPE) ==>null gremlin> dynamic_g ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] {code} As you can see there is a {{context}} object which yields access to the underlying bindings (global and otherwise). You can modify that list dynamically from script. So I guess in the case of JanusGraph, users could actually do: {code} context.setAttribute('g', ConfiguredGraphFactory.open(<graphName>).traversal(),javax.script.ScriptContext.GLOBAL_SCOPE) {code} or perhaps JanusGraph could provide some helper method on {{ConfiguredGraphFactory}} that takes the {{context}} and adds it a configured graph to global scope. Does that help satisfy this issue? > We need a way to dynamically modify global bindings on the Gremlin Server. > -------------------------------------------------------------------------- > > Key: TINKERPOP-1839 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1839 > Project: TinkerPop > Issue Type: Improvement > Components: server > Affects Versions: 3.2.6 > Reporter: David Pitera > > This question on StackOverflow > https://stackoverflow.com/questions/47342524/how-to-traverse-graph-created-using-configuredplanfactory-in-janusgraph/47354728?noredirect=1#comment81670711_47354728 > along with the fact that most language client's interact with the Gremlin > Server through the use of a variable bound to a graph of traversal reference, > i.e. `graph` is usually bound to a graph and `g` is usually bound to its > traversal > https://github.com/apache/tinkerpop/blob/master/gremlin-server/scripts/empty-sample.groovy#L40 > mean that we need a way to bind these dynamically created graphs to the > script executor. > With JanusGraph's notion of dynamic graphs, there is no way to make use of > the `withRemote()` functionality or make use of language clients demanding > the traversal reference be bound to a variable. > Therefore, we need a way to dynamically modify the global bindings on the > gremlin script engine without having to restart the server. > Note; I answered the original stack overflow question above, however I am > pretty sure my answer is actually incorrect because the global binding will > be evaluated once at server start and the evaluated references will be stored > in the map and passed into the gremlin executor. Is this true? -- This message was sent by Atlassian JIRA (v6.4.14#64029)