将 Gremlin GraphTraversal 结果与字符串连接起来

Concatenate Gremlin GraphTraversal result with string

在这个非常简单的示例中,我尝试添加一个新顶点,它应该像现有顶点一样被标记,但附加了一些前缀:

g.V(1).addV('prefix_' + label()).valueMap(true)

我在这里错过了什么?它显然不是一个字符串,但我将如何序列化它?

gremlin> g.V(1).label()
==>Person

gremlin> g.V(1).constant(label())
==>[LabelStep]

目前的 Gremlin 不提供内置的字符串连接功能。如果可以的话就好了。这意味着您今天最好的选择是使用内嵌 closure/lambda。这是一个使用 TinkerGraph 和航线图的示例。

gremlin> g.V(3).map {"prefix_" + it.get().label}.as('a').addV(select('a'))
==>v[60867]
gremlin> g.V(60867).label()
==>prefix_airport 

请注意,并非所有图形数据库都允许闭包,因此不能假设这在任何启用 TinkerPop 的图形数据库后端上都普遍适用。