【发布时间】:2015-07-22 11:34:33
【问题描述】:
我正在尝试从给定节点递归遍历出站边缘,而不是入站边缘。我想要查询结果中的边和顶点。
在下图中,从(a)开始,我需要(a),(b),(c),(d),(e),包括边缘,但不包括(c)之后的部分,即是<-- (x)
(a) --> (b) --> (c) <-- (x)
˙--> (d) --> (e)
如果我尝试执行以下操作,那么它会递归遍历所有内容,而与边缘方向无关,因此也会返回 (x):
TRAVERSE * FROM (SELECT FROM a) LIMIT -1`
如果我不使用t traverse *, butoutE()`,它只检索起始节点及其直接邻居:(a)、(b)、(d),因此它不进行递归。
traverse outE() from (SELECT FROM a) LIMIT -1
我也尝试关注here 的文档,并遍历了V.out, E.in,但它只返回(a)而不遍历。
traverse V.out, E.in from (SELECT FROM a) LIMIT -1`
还尝试过使用变体,例如 WHILE $depth < 10,但这并没有任何区别,现在我被卡住了。
运行 OrientDB 2.0.12
【问题讨论】:
-
它对我有用。是你要找的吗?如果是这样,您能否将我的答案标记为正确?