Arangodb ArrangoDB-从给定值获取所有可能的路径

Arangodb ArrangoDB-从给定值获取所有可能的路径,arangodb,aql,arangodb-graph,Arangodb,Aql,Arangodb Graph,我需要一个查询来获取从给定顶点开始的所有可能路径 比如说。如下图所示, 我想通过查询查找从“Covid/12109”开始的所有路径 所以它是这样返回的 {“从”:“Covid/12109”,“到”:“Covid/12110”} {“从”:“Covid/12110”,“到”:“Covid/12111”} {“从”:“Covid/12110”,“到”:“Covid/12115”} {“从”:“Covid/12110”,“到”:“Covid/12114”} {“从”:“Covid/12111”,“到

我需要一个查询来获取从给定顶点开始的所有可能路径

比如说。如下图所示,

我想通过查询查找从“Covid/12109”开始的所有路径

所以它是这样返回的

{“从”:“Covid/12109”,“到”:“Covid/12110”}
{“从”:“Covid/12110”,“到”:“Covid/12111”}
{“从”:“Covid/12110”,“到”:“Covid/12115”}
{“从”:“Covid/12110”,“到”:“Covid/12114”}
{“从”:“Covid/12111”,“到”:“Covid/12115”}
{“从”:“Covid/12111”,“到”:“Covid/12114”}
{“从”:“Covid/12112”,“到”:“Covid/12110”}
{“从”:“Covid/12112”,“到”:“Covid/12113”}
{“从”:“Covid/12112”,“到”:“Covid/12114”}
如果我想从“Covid/12110”开始,那么它应该像这样返回

{“从”:“Covid/12110”,“到”:“Covid/12111”}
{“从”:“Covid/12110”,“到”:“Covid/12115”}
{“从”:“Covid/12110”,“到”:“Covid/12114”}
{“从”:“Covid/12111”,“到”:“Covid/12115”}
{“从”:“Covid/12111”,“到”:“Covid/12114”}
{“从”:“Covid/12112”,“到”:“Covid/12110”}
{“从”:“Covid/12112”,“到”:“Covid/12113”}
{“从”:“Covid/12112”,“到”:“Covid/12114”}
如果我想从“Covid/12112”开始,那么它应该像这样返回

{“从”:“Covid/12112”,“到”:“Covid/12110”}
{“从”:“Covid/12112”,“到”:“Covid/12113”}
{“从”:“Covid/12112”,“到”:“Covid/12114”}
{“从”:“Covid/12110”,“到”:“Covid/12111”}
{“从”:“Covid/12110”,“到”:“Covid/12115”}
{“从”:“Covid/12110”,“到”:“Covid/12114”}
{“从”:“Covid/12111”,“到”:“Covid/12115”}
{“从”:“Covid/12111”,“到”:“Covid/12114”}
是你在这里的朋友。有几种方法可以实现这一点,但您可以从以下开始:

冠状病毒中c的

过滤器c.。_键=='12109'
对于1..9 c中的v,e
`有`
选项{唯一顶点:true}
返回e
边缘集合(“has”)的名称很复杂,因为它是AQL关键字(请参见关于使用关键字命名)。我已经在backticks(AQL转义字符)中包含了这一点,但是您也可以创建一个,它(我相信)更加灵活

查看查询:

  • 我们首先在“新冠病毒”集合中找到与密钥匹配的文档。这是可选的,您还可以将图形遍历中的“c”替换为文档id,如“Covid/12109”
  • 对于v,e
    表示要返回的“顶点”
    v
    和“边”
    e
  • 1..9
    是要执行的遍历“跳跃”次数。这可以是任何数字(
    2
    )或范围(
    5..27
  • OUTBOUND
    指要遍历的路径方向。这里的其他选项有
    出站
    任何
  • {uniqueVertices:true}
    告诉引擎跟踪返回的顶点,不要在输出时复制它们。见文件
  • 返回e
    将返回边缘(“has”)文档<代码>返回v
将返回顶点(“Covid”)文档