[英]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.