服务器启动时 'g' 和 'graph' 变量的初始化

Initialization of 'g' and 'graph' vars on server start

启动 gremlin 控制台后,ggraph 对象不会自动实例化。从阅读来看,我似乎没有正确配置某些东西以在启动期间允许这样做。

我检查了我的 gremlin-server.yaml 文件,其中包括

graphs: {
  graph: conf/gremlin-server/dynamodb.properties}

我可以在控制台中手动创建对象,所以它确实有效

gremlin> graph = TitanFactory.open('conf/gremlin-server/dynamodb.properties');
==>standardtitangraph[com.amazon.titan.diskstorage.dynamodb.DynamoDBStoreManager:[127.0.0.1]]
gremlin> mgmt = graph.openManagement();
==>com.thinkaurelius.titan.graphdb.database.management.ManagementSystem@433b546f
gremlin> g = graph.traversal(standard());
==>graphtraversalsource[standardtitangraph[com.amazon.titan.diskstorage.dynamodb.DynamoDBStoreManager:[127.0.0.1]], standard]

还有什么我想念的吗?我发现 this issue 登录了 gremlin-javascript 项目,但我仍然卡住了。我认为我的问题是我在服务器上的配置,而不是我对 gremlin-javascript.

的实现

最终我尝试使用 gremlin-javascript 进行遍历,但我每次都被迫创建 'graph' 和 'g'(慢)。

这是启动 Gremlin 控制台时的预期行为,除非您使用为您执行此操作的初始化脚本启动它:

// scripts/initMyGraph.groovy

graph = TitanFactory.open('conf/gremlin-server/dynamodb.properties')
g = graph.traversal(standard())

然后启动控制台:

bin/gremlin.sh scripts/initMyGraph.groovy

GraphTraversal 对象将分别作为控制台中的 graphg 变量访问。