简体   繁体   English

ArangoDB 图中集合的一致性是否有保证?

[英]Does the consistance of collections in a graph in ArangoDB guaranteed?

Let say I have a collection node N and a edges collection E. Together , I created a graph G from N and E. In the document, Arango guarantee the consistency of graph G such as no dangling edges when nodes are deleted, etc. Does this consistency hold in situations such as:假设我有一个集合节点 N 和一个边集合 E。一起,我从 N 和 E 创建了一个图 G。在文档中,Arango 保证图 G 的一致性,例如删除节点时没有悬边等。这种一致性适用于以下情况:

  1. Used Foxx, delete 1 node (Thus making edges have 1 null in the _from and _to)使用 Foxx,删除 1 个节点(从而使边在 _from 和 _to 中有 1 个空值)
  2. Used Foxx, delete nodes using collection API (not using AQL)使用 Foxx,使用集合 API删除节点(不使用 AQL)
  3. Used AQL, delete directly in nodes/edges collection without traversal使用AQL,直接在nodes/edges集合中删除,无需遍历

I asked this question due to the fact that my query does return some null value of nodes and I would like to understand more about this topic for inspection.我问这个问题是因为我的查询确实返回了一些节点的空值,我想了解更多关于这个主题的信息以进行检查。

Incoming and outgoing edges of a vertex are removed together with the vertex if you use the Graph API .如果您使用Graph API ,则顶点的传入和传出边将与顶点一起删除。 You can use the General Graph module in Foxx and arangosh.您可以在 Foxx 和 arangosh 中使用 General Graph 模块。 Some drivers provide wrappers for this Graph API.一些驱动程序为此图形 API 提供包装器。 The General Graph HTTP API is called Gharial .通用图形 HTTP API 称为Gharial

If you remove vertices by other means, like a db or collection object in Foxx or arangosh, through the Web UI, with AQL or via HTTP endpoints for like DELETE /_api/document/{document-handle} , then you need to delete connected edges yourself or accept dangling edges.如果您通过其他方式删除顶点,例如 Foxx 或 arangosh 中的db集合对象,通过 Web UI,使用 AQL 或通过 HTTP 端点,例如DELETE /_api/document/{document-handle} ,那么您需要 删除连接边缘自己或接受悬垂的边缘。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM