[英]How to get all Graph Nodes in ArangoDB without Start-Node
像在OrientDB中一樣,僅使用'Select From v'來獲取All Graph。
到目前為止,我已經在ArangoDB中將AQL與起始節點一起使用:
for v,e,p IN 2 ANY 'user/188802' graph 'a' return p
現在我想獲取ArangoDB中的所有圖形節點而沒有起始節點?
圖形是Edge集合的分組。 每個Edge集合都引用存儲在Document集合中的_from和_to文檔。
圖形遍歷查詢期望您擁有一個起始位置,並返回該單個起始位置的結果。
可以識別所有可能的起始位置,然后在這些位置上運行圖形遍歷。
您需要知道組成圖形的文檔集合的名稱,可以將它們插入到AQL查詢中,如下所示:
FOR vertex IN UNION(
(FOR v IN document_collection_1 RETURN v._id),
(FOR v IN document_collection_2 RETURN v._id),
(FOR v IN document_collection_3 RETURN v._id)
)
FOR v, e IN 1..5 OUTBOUND vertex GRAPH 'my_graph_name' OPTIONS { uniqueVertices: true }
RETURN DISTINCT [
{
_from: e._from,
_to: e._to
}
]
請記住,在ArangoDB中,一個文檔集合可以綁定到多個圖上,因此您需要確保標識出屬於該圖的所有文檔集合。
然后,該查詢將提取一個對象數組,其中包含圖中定義的所有鏈接。 該查詢僅關注邊為圖形一部分的頂點。 如果頂點上沒有邊,則它不會出現在輸出中,因為它不是圖形的一部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.