簡體   English   中英

如何在沒有啟動節點的情況下獲取ArangoDB中的所有圖節點

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

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