questions
Root Question Message
host: localhost
port: 8182
evaluationTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
graphs: {
graph: conf/tinkergraph-empty.properties, otherGraph: conf/tinkergraph-empty.properties}
...etc
DriverRemoteConnection
like you showed.<graph.graphname>_traversal
: https://docs.janusgraph.org/operations/dynamic-graphs/#dynamic-graph-and-traversal-bindingsConfiguredGraphFactory.getGraphNames()
def variables = []
this.binding.variables.each {k,v -> if(v instanceof GraphTraversalSource) { variables.add(k) }}
return variables
JanusGraphFactory.getGraphNames()
as ConfiguredGraphFactory.getGraphNames()
only works if the ConfiguredGraphFactory
is used in the first place which most users probably don't do. JanusGraphFactory.getGraphNames()
should always work. Only downside I see is that it includes the management graph for ConfiguredGraphFactory: ConfigurationManagementGraph
. Not sure if you want to make that availablei guess what im wondering here is what if the user hasn't created that graphtraversalsource in the start script? Does it just mean the graphtraversalsource to that graph can't be made global and aliasable to g?Yes, that should be the case. Users really need to expose a graph traversal source to make their graph accessible via Gremlin Server
we have a Gremlin Server startup script which uses the ConfiguredGraphFactory to look up the application's graph and which creates it if not yet present.I think that shouldn't be necessary as
ConfiguredGraphFactory
should already create a graph traversal source automatically for every created graph with then name <graph.graphname>_traversal
. But you can of course still do it like that if you want to