Gremlin:按查询从组中返回 valueMap/projected 属性
Gremlin: Returning valueMap/projected properties from group by query
假设我有两种类型的顶点,parents 和 children。我希望能够查询所有 parent 顶点并将所有 children 按其关联的 parent 以及每个 child 的属性分组。假设parent有多个children,而children只能有1个parent。 Parent 总是有 parent 标签,但是 children 可以有各种不同的标签。
所以现在如果我这样做
g.V().hasLabel('parent').group().by(__.inE().outV()).toList()
我回来了:
[{v[Child_A]: [v[Parent_A]], v[Child_B]: [v[Parent_B]]}]
我想要的是相反的层次结构以及 child 的值 map/projected,例如:
[Parent_A: Child_A1: {properties}, Child_A2: {properties}], [Parent_B: Child_B1: {properties]
如果重要的话,将 python gremlin 与 Neptune 结合使用。
如果我理解了您想要的输出,我想这就是您要找的:
g.V().hasLabel('parent').group()
.by(__.values('name'))
.by(__.in_().group().by(__.values('name')).by(__.valueMap(true)))
假设我有两种类型的顶点,parents 和 children。我希望能够查询所有 parent 顶点并将所有 children 按其关联的 parent 以及每个 child 的属性分组。假设parent有多个children,而children只能有1个parent。 Parent 总是有 parent 标签,但是 children 可以有各种不同的标签。
所以现在如果我这样做
g.V().hasLabel('parent').group().by(__.inE().outV()).toList()
我回来了:
[{v[Child_A]: [v[Parent_A]], v[Child_B]: [v[Parent_B]]}]
我想要的是相反的层次结构以及 child 的值 map/projected,例如:
[Parent_A: Child_A1: {properties}, Child_A2: {properties}], [Parent_B: Child_B1: {properties]
如果重要的话,将 python gremlin 与 Neptune 结合使用。
如果我理解了您想要的输出,我想这就是您要找的:
g.V().hasLabel('parent').group()
.by(__.values('name'))
.by(__.in_().group().by(__.values('name')).by(__.valueMap(true)))