我试图找到我的方式arangodb周围,主要是感兴趣的图形的一部分。我试图理解的一件事是如何在同一个边集合上切换图形遍历的方向。使用https://github.com/arangodb/docs/blob/28 b266 f143232 beb 17 e5 c35 cd 545 d4 f3909 a1815/3.4/aql/tutorial-traversal.md#childof-relations中的示例图,我如何获得Joffrey的叔叔,例如:(joffrey)-[CHILDOF]->(parent)-[CHILDOF]->(grandparent)<-[CHILDOF]-(uncle)是什么意思?(我期待着提利昂被找到)
1条答案
按热度按时间6ss1mwsb1#
在AQL中,您不能更改在单个遍历中跟随同一个边集合的边的方向,但是您可以执行后续遍历。
例如,您从Joffrey遍历2..2 OUTBOUND,经过他的父母到他的祖父母,然后从祖父母到父母的兄弟姐妹(Joffrey的叔叔和阿姨,或者给定示例数据集,而不是他的叔叔Tyrion Lannister)遍历1..1 INBOUND。
但要注意:
uniqueVertices: "global", bfs: true
(bfs
需要启用才能使用uniqueVertices: "global"
)。所以一个完整的查询可能看起来像这样:
数据集没有性别属性,因此你不能像
FILTER v NOT IN parents AND v.gender == "male"
那样过滤,只得到他的叔叔,但你明白了。