比方说,我有两种类型的顶点,父母和孩子。我希望能够查询所有父顶点,并使所有子项按其关联的父项以及每个子项的属性进行分组。假设父母有多个孩子,而孩子只能有一个父母。父母将始终具有父母标签,但是孩子可以具有各种不同的标签。
现在就可以了
g.V().hasLabel('parent').group().by(__.inE().outV()).toList()
我回来了:
[{v[Child_A]: [v[Parent_A]], v[Child_B]: [v[Parent_B]]}]
我想要的是相反的层次结构以及孩子的值映射/投影值,例如:
[Parent_A: Child_A1: {properties}, Child_A2: {properties}], [Parent_B: Child_B1: {properties]
如果重要的话,将python gremlin与Neptune结合使用。
答案 0 :(得分:3)
如果我了解您想要的输出,我认为这是您想要的:
g.V().hasLabel('parent').group()
.by(__.values('name'))
.by(__.in_().group().by(__.values('name')).by(__.valueMap(true)))