gremlin - 变量 - 海王星上的小 Sprite

标签 gremlin tinkerpop amazon-neptune

我在 Gremlin 控制台上并连接到 AWS Neptune 数据库
g.V().hasLabel('Risk').toList()
提供了预期的结果,但是当我尝试将结果分配给变量时
risks = g.V().hasLabel('Risk').toList()
我收到以下消息 - token 识别错误显然是在变量名称上引发的,因为当我更改变量名称时,消息的位置和“at”部分会发生变化。
{"requestId":"650d7c4b-44d1-43f8-b9a3-fbf085cc3ead","code":"MalformedQueryException","detailedMessage":"Query parsing failed at line 1, character position at 3, error message : token recognition error at: 'ks'"}
我在 Tinkerpop 数据库上尝试了同样的事情,变量赋值有效。我错过了什么?

最佳答案

正如您所注意到的,当使用 :remote console 中的控制台连接到 Neptune 时,您无法分配变量。模式。您可以做的一件事是在本地模式下使用控制台但连接到服务器,发出查询,例如 :> g.V().limit(1)并且可以通过控制台维护的一个名为 result 的特殊变量访问查询结果。 .这是一个简单的例子:

gremlin> :> g.V().count()
==> 3653
gremlin> result
==> result{object=3653 class=java.lang.String}
gremlin println result['object']
[3653]
gremlin> r = result['object'][0]
gremlin> println r
3653

这是一个以列表为结果的示例。
gremlin> :> g.V('1','2').values('city').toList()
==>Atlanta
==>Anchorage
gremlin> result
==>result{object=Atlanta class=java.lang.String}
==>result{object=Anchorage class=java.lang.String}
gremlin> result.each {println "City was : " + it['object']}
City was : Atlanta
City was : Anchorage

如果您想在无法分配变量的情况下使用 Groovy 在控制台中发布处理某些结果,我有时会发现这很有用。

关于gremlin - 变量 - 海王星上的小 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59316233/

相关文章:

azure - CosmosDB Graph API/Gremlin API RU 计算器

java - 无法连接到 TitanDB - 具有相同实例 ID [] 的 Titan 图已经打开。可能需要强制关机

gremlin - 如何判断一个顶点的outE()个数是奇数还是偶数?

Gremlin > 递归查找由边类型连接的节点

neo4j - 根据关系属性对节点进行排序/过滤

python - 顶点列表中的边 - gremlin python

connection - 海王星 - 运行时错误 : Connection was already closed in pythongremlin

graph-databases - Gremlin - 更新多条边的值

java - 从 EC2 窗口访问 Amazon Neptune

Gremlin:在 AWS Neptune 中执行文本搜索