我有一个带有两个顶点的简单图形,id 为“a”和“b”。
我已经分配了从 'a' 到 'b' 的边,标签为 'foo'
小鬼> gV()
==>v[b]
==>v[a]
小鬼> gE()
==>e[04b4b9fd-2f20-751d-5673-5aa9d7ce0285][a-foo->b]
我的问题:我如何沿着同一条边向后遍历?例如,如果查询遍历到出站顶点,那么该查询如何穿过同一条边返回到入站顶点?
我的查询如下所示:
gE('04b4b9fd-2f20-751d-5673-5aa9d7ce0285').outV().as('outV')...[想要获得相同边的inV,这里]
有很多不同的方法可以做到这一点。这里有一些希望能激发你的答案。在以下情况下,您可能不应该指望返回顶点的顺序,但您可以这样做bothV():
gremlin> g.E(11).bothV()
==>v[4]
==>v[3]
Run Code Online (Sandbox Code Playgroud)
要强制订购,您可以执行以下操作union():
gremlin> g.E(11).union(inV(),outV())
==>v[3]
==>v[4]
Run Code Online (Sandbox Code Playgroud)
你总是project()可以得到你的结果:
gremlin> g.E(11).project('in','out').by(inV()).by(outV())
==>[in:v[3],out:v[4]]
Run Code Online (Sandbox Code Playgroud)
如果你需要对outV()第一个做一些事情,然后回到边缘然后遍历inV()你可以用以下标签标记E()步骤as():
gremlin> g.E(11).as('e').outV().hasLabel('person').select('e').inV()
==>v[3]
Run Code Online (Sandbox Code Playgroud)
希望这些例子有帮助。
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |