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

时间:2016-04-09 01:15:07

标签: titan gremlin

启动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'。

1 个答案:

答案 0 :(得分:2)

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

// scripts/initMyGraph.groovy

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

然后使用以下命令启动控制台:

bin/gremlin.sh scripts/initMyGraph.groovy

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