Arangodb 更新属性取决于边缘类型
Arangodb update properties depend on edge type
我正在尝试使用 AQL 更新整个节点集合,命名为 Nodes,具体取决于它们具有的边的类型
.
要求:
- 基本上,如果 Nodes 中的 2 个实体具有关系类型= "Same",它们将使用唯一的 groupid 属性进行更新(2个以上相同)
- 一开始只会 运行 一次(填充 groupid)
我的概念方法:
- 使用 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 还很陌生,上面的内容可行吗?
最后,我使用的是直接在 Foxx 内部自定义的遍历对象 运行,以便兼顾性能和正确性。似乎我们不能仅使用 AQL
来完成上述操作
我正在尝试使用 AQL 更新整个节点集合,命名为 Nodes,具体取决于它们具有的边的类型 .
要求:
- 基本上,如果 Nodes 中的 2 个实体具有关系类型= "Same",它们将使用唯一的 groupid 属性进行更新(2个以上相同)
- 一开始只会 运行 一次(填充 groupid)
我的概念方法:
- 使用 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 还很陌生,上面的内容可行吗?
最后,我使用的是直接在 Foxx 内部自定义的遍历对象 运行,以便兼顾性能和正确性。似乎我们不能仅使用 AQL
来完成上述操作