问题描述
如 another question 中所述,我试图将几个“身份”顶点添加到“组”顶点中。基于 the recipe recommendation,我试图以遍历器迭代标识顶点而不是在循环中附加额外步骤的方式编写遍历步骤。这是我所拥有的:
gts.V(group)
.addE('includes')
.to(V(identityIds as Object[]))
.count().next()
无论我在 identityIds
中传递多少个 ID,这始终返回值 1,并且只创建一条边。配置文件表明,即使我传递了多个值,也仅为 __.V
创建了一个遍历器:
Traversal Metrics
Step Count Traversers Time (ms) % Dur
=============================================================================================================
TinkergraphStep(vertex,[849e1878-86ad-491e-b9f9... 1 1 0.633 40.89
AddEdgeStep({label=[Includes],~to=[[TinkerGrap... 1 1 0.915 59.11
TinkergraphStep(vertex,[50d9bb4f-ed0d-493d-bf... 1 1 0.135
>TOTAL - - 1.548 -
解决方法
您使用的 to()
语法不太正确。像 to()
这样的调制器期望您提供的遍历生成单个 Vertex
而不是列表。因此,给定 V(identityIds)
,只有从该 id 列表返回的第一个顶点将用于构造边。 to()
、by()
等步进调制器倾向于这样工作。
你可能想改变你的方法:
gts.V(identityIds)
.addE('includes')
.from(V(group))
.count().next()
但也许这又回到了你的另一个问题。