简体   繁体   English

我如何与Arangodb保持两个距离?

[英]How can I get two distance with Arangodb?

I want to query n find two distance. 我想查询n找到两个距离。

示例图

This is my AQL so far: 到目前为止这是我的AQL:

FOR start IN @@vertexCollection
  FOR v, e, p IN 0..2 ANY 'circles/L' @@edgeCollection
    FILTER p.vertices[2]._key == 'n'
    RETURN {
      source: start,
      destination: v,
      edges: p.edges,
      vertices: p.vertices
    }
  • You only need the traversal (inner loop) 你只需要遍历(内循环)
  • You need a depth of 0..3 for the path: L -> 601 -> m -> n (0 -> 1 -> 2 -> 3) 路径的深度为0..3:L - > 601 - > m - > n(0 - > 1 - > 2 - > 3)
  • Your filter has to check the last vertex and not the second 您的过滤器必须检查最后一个顶点而不是第二个顶点

Your AQL should look like: 你的AQL应该是这样的:

FOR v, e, p IN 0..3 ANY 'circles/L' GRAPH 'yourGraph' 
  FILTER p.vertices[-1]._key == 'n' 
    RETURN p

UPDATE UPDATE

More easier is to use v in your filter which is the last vertex in the path. 更容易的是在过滤器中使用v ,这是路径中的最后一个顶点。

FOR v, e, p IN 0..3 ANY 'circles/L' GRAPH 'yourGraph' 
  FILTER v._key == 'n' 
    RETURN p

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM