用字符串连接Gremlin GraphTraversal结果

问题描述 投票:1回答:1

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

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

我在这里想念什么?显然不是字符串,但是我该如何序列化呢?

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

gremlin> g.V(1).constant(label())
==>[LabelStep]
gremlin
1个回答
1
投票

Gremlin今天不提供内置的字符串连接功能。如果这样的话,那就太好了。这意味着您今天最好的选择是使用内联闭包/ 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的任何Graph DB后端上都可以通用。

© www.soinside.com 2019 - 2024. All rights reserved.