【发布时间】:2021-04-20 13:07:26
【问题描述】:
我正在尝试查询去往聚合列表中顶点的边。这听起来很简单,应该是,但我似乎写错了我的查询,我就是不知道为什么。无论如何,我将使用 Modern Toy Graph 来做一个例子,这在这种情况下不一定有多大意义,但仍然说明了我希望做的事情:
graph = TinkerFactory.createModern()
g = graph.traversal()
g.V().
hasLabel('person').
aggregate('x').
outE().
where(inV().is(within('x')))
我正在做的是遍历所有“人”顶点,聚合它们,然后尝试获取通向聚合列表中另一个顶点的所有传出边。我希望上面的查询返回the edge labelled "knows" that goes between vertex 1 and 2, and the one between 1 and 4,但是没有返回任何内容。如果我只是想获取这些边另一端的顶点,而不是边本身,则以下工作正常,返回顶点 2 和 4:
g.V().
hasLabel('person').
aggregate('x').
out().
where(within('x'))
那么我怎样才能得到导致顶点已经聚合到列表中的边呢?
(再一次,我知道这个例子在这个特定的图表中没有多大意义,我可以很容易地查询 outE('knows'),但这个查询与不同的图表相关。)
谢谢。
【问题讨论】: