arangodb中的仲裁深度查询?

时间:2018-03-16 06:47:18

标签: neo4j arangodb

我正在处理一个问题,我需要节点之间的任意深度关系,

For v,e,p in 1..2 INBOUND 'emps/1386821' GRAPH 'Heirarchy'
     OPTIONS { bfs : true} 
     return p

上述查询对于最小1和最大2的深度是固定的,但我可以

1..*

其中max可以是任何长度的查询类型,由Neo4j提供 Cypher查询语言

Match (n:Emp{ name : "Manager"})<-[:ReportsTo *]-(m:Emp) Return m

1 个答案:

答案 0 :(得分:1)

无法直接指定任意深度,但您可以设置一些高数字:

FOR v, e, p in 1..9999 INBOUND 'emps/1386821' GRAPH 'Heirarchy'
     OPTIONS { bfs: true }
     RETURN p

请注意,高遍历深度可能意味着非常高的计算复杂度。如果您沿ANY方向追踪边缘,则尤其如此。这在很大程度上取决于您的数据集,这种查询是否仍然可以在合理的时间内得到解答,或者由于指数复杂性而永远无法回答。