2017-07-18 57 views
6

我试图使用AQL更新整个节点集合,名为节点,取决于它们具有的边缘类型 。Arangodb更新属性取决于边缘类型

要求:

  • 基本上,如果2实体在节点具有关系类型= “相同”,他们将被以独特的GROUPID属性更新(同一超过2)
  • 这只会在开始运行一次(填充组识别

我的理念的做法:

  • 使用AQL
  • 对于内部节点每个实体,查询出同类型的所有连接的节点= SAME
  • 生成一个groupId和更新所有的
  • 写一个查找对象的id
  • 对于下一个实体,执行查找,如果他们的id在那里,则跳过该实体。

我试过

FOR v,e,p 
In 1..10 
ANY v 
EntityRelationTest 
OPTIONS {uniqueVertices:"global",bfs:true} 
FILTER p.edges[*].relationType[0]== "EQUALS" 
UPDATE v WITH { typeName2:"test1"} IN EntityTest 
return NEW 

但我很新的arangodb AQL,是一样的东西可能上面?

回答

0

最后,我使用的是直接在Foxx内部运行的自定义遍历对象,以获得两全其美的效果:性能和正确性。我们似乎无法仅通过AQL