图未保存

graph is not saved

首先,我按照以下步骤在 JanusGraph 中创建一个图表。

index.search.backend = elasticsearch
index.search.hostname = 127.0.0.1
index.search.elasticsearch.transport-scheme = http
:remote connect tinkerpop.server conf/remote.yaml session
:remote console

map = new HashMap<String, Object>();
map.put("storage.backend", "cassandrathrift");
map.put("storage.hostname", "127.0.0.1");
map.put("graph.graphname", "KG");
map.put("index.search.backend", "elasticsearch");
map.put("index.search.hostname", "127.0.0.1");
map.put("index.search.elasticsearch.transport-scheme", "http");

ConfiguredGraphFactory.createConfiguration(new MapConfiguration(map));
graph=ConfiguredGraphFactory.open("KG");

g=graph.traversal();


ConfiguredGraphFactory.getGraphNames()
gremlin.graph=org.janusgraph.core.ConfiguredGraphFactory
graph.graphname=KG
KG: conf/KG.properties
globals << [g : KG.traversal()]

二、我运行bin/gremlin.sh

:remote connect tinkerpop.server conf/remote.yaml session
:remote console
graph=ConfiguredGraphFactory.open("KG");
g=graph.traversal();
g.addV('user').property('name', 'Robert')
g.V()

第三,然而,当我退出 gremlin 控制台,并像上面一样再次进入 gremlin 控制台时,当我尝试查询 g.V() 时,我没有看到任何返回。

知道为什么会这样吗?非常感谢!

我认为这是因为您在添加顶点后未能关闭与 g.tx().commit() 的交易。

请注意,Gremlin 服务器确实会为您管理会话和调用 commit(),但通过执行以下操作:

:remote connect tinkerpop.server conf/remote.yaml session

您明确打开了一个不管理会话的连接。如果您想要一个受管理的会话并在每次请求时自动提交,那么您需要执行以下操作:

:remote connect tinkerpop.server conf/remote.yaml session-managed

http://tinkerpop.apache.org/docs/current/reference/#console-sessions