在arangodb中通过边缘定义查找聚类

时间:2015-02-10 21:16:38

标签: 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 个答案:

答案 0 :(得分: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

省略或调整FILTER也会在图表中找到更长或更短的路径。