【发布时间】:2021-12-25 04:16:37
【问题描述】:
在多个顶点的图中,如何遍历该图并从多个顶点收集选择属性?
假设我有 4 个顶点(Person1、Person2、Person3、Person4),我想从 Person1 中获取字段“name”的值,从 Person2 获取“name”和“age”,从 Person3 获取“birthday” ,以及 Person4 中的“hasPets”。如何遍历图表并仅收集我想要的每个字段的值并将它们存储在地图/哈希图中?
来自其他例子:
How do I retrieve multiple multi-properties in Gremlin?
How can I collect property values while traversing a graph with gremlin in Java?
它表明我可以使用 valueOf() 获得地图,但我看不出如何在一次遍历中在不同顶点上使用它。另一个例子展示了如何从不同的顶点获取多个值,但它们只是存储在一个列表中。我需要能够知道哪个值是哪个。
【问题讨论】:
-
您要搜索的总是一个相当小的集合吗?如果是这样,在这种情况下使用
choose步骤可能是合适的 -
“相当小”是什么意思?我的例子是我实际工作的一个较小的例子,但我不认为我的实际项目是一个庞大的集合。我当前的项目我需要从 6 个不同的顶点获取字段,并从每个顶点获取不同数量的值(总共 13 个值)(3 个顶点中的每个顶点有 1 个字段,其他两个顶点中的每个顶点有 2 个字段,最后一个顶点有 6 个字段顶点)。但这只是一次遍历。可能还有其他人,但我不希望他们变得比这更大。
-
您可能想要
.as('p1')、.as('p2')和.select('p1', 'p2').by(...).by(...)的组合。 -
我所说的小是指您将看到的选择数量,即只有几个人或很多人。我会添加一个答案,看看这是否是你需要的。
标签: java hashmap gremlin tinkerpop