2015-11-05 100 views
1

有什麼區別在ArangoDB中,似乎有兩組函數用於處理圖形。一方面你有EDGES,NEIGHBORS,TRAVERSAL,SHORTEST_PATH和更多(https://docs.arangodb.com/Aql/GraphFunctions.html)。AQL EDGES,NEIGHBORS等與GRAPH_EDGES,GRAPH_NEIGHBORS

OTOH有一種似乎具有由GRAPH,並與一些不同的參數前綴相同功能的圖形操作(https://docs.arangodb.com/Aql/GraphOperations.html),如GRAPH_EDGESGRAPH_NEIGHBORSGRAPH_TRAVERSALGRAPH_SHORTEST_PATH

這些之間有什麼區別。他們在不同的場景中使用嗎?是否有性能差異等?

回答

0

有沒有一般的建議選擇其他 - 這取決於您的要求。

EDGES functions可能用於不受​​圖形模塊管理的集合,因此可能無法在圖形查看器中看到(但您可以在也受管理的集合上使用它們)。但是,由於沒有進行圖形管理,它的開銷較小。

The GRAPH_EDGES family是最近的實現。它僅適用於託管圖表,您也可以在graph viewer中瀏覽。正如你已經指出的那樣,後者有更多的選擇,即通過例子過濾圖表等。

隨着ArangoDB 3 GRAPH_ *系列功能被刪除。我們explain in this cookbook如何通過ArangoDB 3中的AQL實現其功能。