【发布时间】:2020-06-09 16:31:17
【问题描述】:
我正在执行 gremlin 查询如下:
g.V().hasLabel('A').has('label_A','A').emit().repeat(outE().inV()).valueMap()
在多个级别获得所需的节点输出。
除了属性之外,我还想在输出中添加一个级别属性。我怎样才能实现它?
【问题讨论】:
标签: graph gremlin janusgraph
我正在执行 gremlin 查询如下:
g.V().hasLabel('A').has('label_A','A').emit().repeat(outE().inV()).valueMap()
在多个级别获得所需的节点输出。
除了属性之外,我还想在输出中添加一个级别属性。我怎样才能实现它?
【问题讨论】:
标签: graph gremlin janusgraph
添加另一个答案以指出您可以使用loops 作为替代方案来避免sack。
g.V().hasLabel('A').has('label_A','A').
emit().
repeat(group('x').by(loops()).by(valueMap().fold()).out()).
cap('x')
【讨论】:
您可以使用withSack 获取深度:
g.withSack(0).V().hasLabel('A').has('label_A','A').emit().
repeat(sack(sum).
by(constant(1)).
out()).
project('depth', 'properties').
by(sack()).
by(valueMap())
【讨论】: