如何使用gremlin-console远程创建和访问变量?

时间:2017-08-18 07:31:35

标签: gremlin tinkerpop tinkerpop3 janusgraph

我使用gremlin-console(janusgraph)远程连接到gremlin服务器,但是当我创建一个变量并访问它时,它不起作用。我的最终目标是使用gremlin-console创建索引......

gremlin> :remote connect tinkerpop.server conf/remote.yaml
==>Configured localhost/127.0.0.1:8182
gremlin> :remote console
==>All scripts will now be sent to Gremlin Server - 
[localhost/127.0.0.1:8182] - type ':remote console' to return to local mode
gremlin> a = "b"
==>b
gremlin> a
No such property: a for class: Script3
Type ':help' or ':h' for help.

2 个答案:

答案 0 :(得分:13)

您不能将此类变量用于后续请求,因为默认情况下控制台是无会话的。因此,每个请求都在其自己的事务中执行,并且两个不同的请求之间不共享任何状态。

但是,只需将session关键字附加到connect参数即可将控制台配置为使用会话

gremlin> :remote connect tinkerpop.server conf/remote.yaml session
==>Configured localhost/127.0.0.1:8182-[15dc7030-0e5b-4b4b-a997-9d2cf519ebb2]
gremlin> :> x = 1
==>1
gremlin> :> y = 2
==>2
gremlin> :> x + y
==>3

我从the TinkerPop documentation for this topic复制了此示例。

答案 1 :(得分:2)

下载janusdb并运行

启动gremlin控制台

/bin/gremlin.sh

使用以下命令构造janus图:

gremlin> graph = JanusGraphFactory.open('conf/janusgraph-cassandra-solr.properties')

运行以下内容获取图表遍历源:

gremlin> g = graph.traversal()

现在,您可以通过完全控制直接连接到数据库。您可以存储返回值并在下次查询中使用它。