2015-02-10 41 views
1

arangodb是否提供了一個實用程序來列出給定邊緣定義的聚類?通過arangodb中的邊緣定義查找聚類

E.g.鑑於圖:

Tyrion ----sibling---> Cercei ---sibling---> Jamie 

Bran ---sibling--> Arya ---sibling--> Jon 

我想要的東西像下面這樣:

my_graph._getClusters({edge: "sibling"}) -> [ [Tyrion, Cercei, Jamie], [Bran, Arya, Jon] ] 

回答

1

只要你有一個名爲圖形siblings,那麼下面的查詢就會發現,由連接圖中的所有路徑與sibling型邊緣和具有3。這一(路徑)的長度應與你提供的示例中的數據:

LET options = { 
    followEdges: [ 
    { type: 'sibling' } 
    ] 
} 
FOR i IN GRAPH_TRAVERSAL('sibling', { }, "outbound", options) 
    FILTER LENGTH(i) == 3 
    RETURN i[*].vertex._key 

省略或adjusti FILTER也會在圖中找到更長或更短的路徑。