[英]ArrangoDB - Get All Possible Path From Given Value
我想要一个查询来获取从给定顶点开始的所有可能路径。
我想使用 Query 查找从“Covid/12109”开始的所有路径。
所以它像这样返回
{ "_from":"Covid/12109","_to":"Covid/12110" }
{ "_from":"Covid/12110","_to":"Covid/12111" }
{ "_from":"Covid/12110","_to":"Covid/12115" }
{ "_from":"Covid/12110","_to":"Covid/12114" }
{ "_from":"Covid/12111","_to":"Covid/12115" }
{ "_from":"Covid/12111","_to":"Covid/12114" }
{ "_from":"Covid/12112","_to":"Covid/12110" }
{ "_from":"Covid/12112","_to":"Covid/12113" }
{ "_from":"Covid/12112","_to":"Covid/12114" }
如果我想从“Covid/12110”开始,那么它应该像这样返回
{ "_from":"Covid/12110","_to":"Covid/12111" }
{ "_from":"Covid/12110","_to":"Covid/12115" }
{ "_from":"Covid/12110","_to":"Covid/12114" }
{ "_from":"Covid/12111","_to":"Covid/12115" }
{ "_from":"Covid/12111","_to":"Covid/12114" }
{ "_from":"Covid/12112","_to":"Covid/12110" }
{ "_from":"Covid/12112","_to":"Covid/12113" }
{ "_from":"Covid/12112","_to":"Covid/12114" }
如果我想从“Covid/12112”开始,那么它应该像这样返回
{ "_from":"Covid/12112","_to":"Covid/12110" }
{ "_from":"Covid/12112","_to":"Covid/12113" }
{ "_from":"Covid/12112","_to":"Covid/12114" }
{ "_from":"Covid/12110","_to":"Covid/12111" }
{ "_from":"Covid/12110","_to":"Covid/12115" }
{ "_from":"Covid/12110","_to":"Covid/12114" }
{ "_from":"Covid/12111","_to":"Covid/12115" }
{ "_from":"Covid/12111","_to":"Covid/12114" }
图遍历是你的朋友。 有几种方法可以做到这一点,但您可以从以下开始:
FOR c IN Covid
FILTER c._key == '12109'
FOR v,e IN 1..9 OUTBOUND c
`has`
OPTIONS { uniqueVertices: true }
RETURN e
边缘集合的名称('has')很棘手,因为HAS是一个 AQL 关键字(请参阅有关使用关键字命名事物的文档)。 我已将它包含在反引号(AQL 转义字符)中,但您也可以创建一个 命名的 graph ,它(我相信)更加灵活。
查看查询:
FOR v,e
表示要返回的“顶点” v
和“边” e
1..9
是要执行的遍历“跳转”次数。 这可以是任何数字 ( 2
) 或范围 ( 5..27
)OUTBOUND
是指要遍历的路径方向。 这里的其他选项是OUTBOUND
和ANY
{ uniqueVertices: true }
告诉引擎跟踪它返回的顶点,而不是在 output 上重复它们。 在此处查看文档RETURN e
将返回边缘(“有”)文档。 RETURN v
将返回顶点(“Covid”)文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.