2015-02-10 83 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也会在图中找到更长或更短的路径。