给定一组顶点(比如,为了简单起见,我从一个顶点开始。G.V().hasId("something")
),我想得到所有的出场边。和 他们的目标顶点。我知道 .out()
会给我所有的目标顶点,但没有边的信息(边上也有属性)。另一方面。.outE()
会给我边缘,但不会给目标顶点。我可以在一个Gremlin查询中同时获得这两条边吗?
Gremlin是关于转换图数据的,就像它是导航图数据一样。通常情况下,大家似乎先理解导航,这让你到。
g.V().hasId("something").outE()
然后你需要将这些边缘转化为你想要的结果--包括边缘数据和相邻顶点的数据。一种方法是用 project()
:
g.V().hasId("something").outE()
project('e','v').
by().
by(inV())
每个 by()
-调制器提供给 project()
与作为参数提供的键对齐。第一个适用于 "e",第二个适用于 "v"。第一个 by()
是空的,实际上是 by(identity())
返回给它的相同参数(即流中的当前边)。
不要紧。想到了这个问题。
G.V().hasId("something").outE().as("E").otherV().as("V").select("E", "V")