图未保存
graph is not saved
首先,我按照以下步骤在 JanusGraph 中创建一个图表。
- 将以下内容添加到
conf/janusgraph-cassandra-configurationgraph.properties
index.search.backend = elasticsearch
index.search.hostname = 127.0.0.1
index.search.elasticsearch.transport-scheme = http
将 gremlin-server-configuration.yaml 中的 "ConfigurationManagementGraph: conf/janusgraph-cql-configurationgraph.properties" 更改为 "ConfigurationManagementGraph: conf/janusgraph-cassandra-configurationgraph.properties"
将conf/gremlin-server/gremlin-server.yaml 更改为conf/gremlin-server/gremlin-server.yaml.orig
将conf/gremlin-server/gremlin-server-configuration.yaml改为conf/gremlin-server/gremlin-server.yaml
运行 bin/janusgraph.sh start
运行 bin/gremlin.sh
运行
: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()
关闭janusgraph,运行 bin/janusgraph.sh停止
复制 conf/janusgraph-cassandra-es.properties 到 conf/KG.properties
将以下两行添加到conf/KG.properties
的顶部
gremlin.graph=org.janusgraph.core.ConfiguredGraphFactory
graph.graphname=KG
- 打开 conf/gremlin-server/gremlin-server.yaml,并将以下行添加到图表中:
KG: conf/KG.properties
将"scripts/empty-sample.groovy"添加到"org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin:"
打开script/empty-sample.groovy,将最后一行改为:
globals << [g : KG.traversal()]
- 通过 运行ning bin/janusgraph.sh start
再次启动 janusgraph
二、我运行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()
- 我可以看到它returns一个顶点
==>v[4120]
第三,然而,当我退出 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
首先,我按照以下步骤在 JanusGraph 中创建一个图表。
- 将以下内容添加到
conf/janusgraph-cassandra-configurationgraph.properties
index.search.backend = elasticsearch
index.search.hostname = 127.0.0.1
index.search.elasticsearch.transport-scheme = http
将 gremlin-server-configuration.yaml 中的 "ConfigurationManagementGraph: conf/janusgraph-cql-configurationgraph.properties" 更改为 "ConfigurationManagementGraph: conf/janusgraph-cassandra-configurationgraph.properties"
将conf/gremlin-server/gremlin-server.yaml 更改为conf/gremlin-server/gremlin-server.yaml.orig
将conf/gremlin-server/gremlin-server-configuration.yaml改为conf/gremlin-server/gremlin-server.yaml
运行 bin/janusgraph.sh start
运行 bin/gremlin.sh
运行
: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()
关闭janusgraph,运行 bin/janusgraph.sh停止
复制 conf/janusgraph-cassandra-es.properties 到 conf/KG.properties
将以下两行添加到conf/KG.properties
的顶部
gremlin.graph=org.janusgraph.core.ConfiguredGraphFactory
graph.graphname=KG
- 打开 conf/gremlin-server/gremlin-server.yaml,并将以下行添加到图表中:
KG: conf/KG.properties
将"scripts/empty-sample.groovy"添加到"org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin:"
打开script/empty-sample.groovy,将最后一行改为:
globals << [g : KG.traversal()]
- 通过 运行ning bin/janusgraph.sh start 再次启动 janusgraph
二、我运行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()
- 我可以看到它returns一个顶点
==>v[4120]
第三,然而,当我退出 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