是否可以保证ArangoDB中图形中集合的一致性?

时间:2018-11-12 11:37:17

标签: arangodb aql foxx

假设我有一个集合节点N和一个边集合E。一起,我从N和E创建了一个图G。在文档中,Arango保证了图G的一致性,例如删除节点时没有悬空的边,等。这种一致性在以下情况下是否成立:

  1. 使用Foxx,删除1个节点(因此,使_from和_to的边具有1个null)
  2. 使用Foxx,使用collection API(不使用AQL)删除节点
  3. 使用AQL,无需遍历即可直接在节点/边集合中删除

我之所以问这个问题,是因为我的查询确实返回了节点的一些空值,并且我想了解更多有关该主题的信息。

1 个答案:

答案 0 :(得分:1)

如果使用Graph API,则顶点的传入和传出边缘将与顶点一起删除。您可以在Foxx和arangosh中使用“通用图”模块。一些驱动程序为此Graph API提供包装。通用图HTTP API称为Gharial

如果通过其他方式(例如Foxx或arangosh中的dbcollection对象)通过Web UI,使用AQL或通过HTTP端点(例如DELETE /_api/document/{document-handle})删除顶点,则您需要delete connected edges yourself或接受悬空的边缘。