簡體   English   中英

在頂點鄰居上具有條件的ArangoDB遍歷

[英]ArangoDB Traversal with conditions on vertice's neighbours

我有以下圖形: 在此處輸入圖片說明

我想編寫一個AQL查詢,該查詢返回從節點Q1開始的路徑,其中路徑中的第二個節點具有鄰居P6 (起始節點Q1鄰居始終具有P節點( P6P4 ,.. 。)。

例如,好的路徑是: Q1->Q1-P6-3->STRING-2Q1->Q1-P6-3->Q1-P6-3-QUAL-P2-2->QUANT-2等。檢查狀況的最佳方法是什么? 現在,我已經向Q1-P6-3的節點添加了一個屬性property ,該屬性的P節點的關鍵字來自其鄰居,並且僅過濾路徑:

FILTER p.vertices[1].property == 'P6'

但是我相信有一種更明智的方法。 先感謝您!

AQL首先獲取將P6作為直接鄰居的所有節點的列表,然后使用該列表來過濾遍歷查詢中的路徑。 這樣,您無需跟蹤頂點中的屬性:

LET p6Neighbors = (FOR t IN testEdge
                    FILTER t._to == 'test2/P6'
                    RETURN t._from)
for v,e,p in 1..5 ANY 'test2/Q1' testEdge
FILTER p.vertices[1]._id in p6Neighbors
return p

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM