Arangodb更新属性取决于边缘类型

Lor*_*a L 6 database arangodb aql

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

需求:

  • 基本上,如果节点中的 2个实体具有关系类型="相同",则它们将使用唯一的groupid属性进行更新(对于2个以上相同)
  • 这只会在开始时运行一次(填充groupid)

我的概念方法:

  • 使用AQL
  • 对于Node内的每个实体,查询type = 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
Run Code Online (Sandbox Code Playgroud)

但我对arangodb AQL很新,有可能是上面的东西吗?

Lor*_*a L 0

最后,我使用的是直接在 Foxx 内部运行的自定义遍历对象,以获得两全其美:性能和正确性。看来光靠AQL是做不到上面的事的