我在 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/