1

https://dgraph.io/tour/schema/8/

显示一些删除选项

  1. 删除单个三元组
  2. 删除给定边的所有三元组
  3. 删除给定节点的所有三元组

现在我想删除给定类型节点的所有三元组。我假设这是通过某种查询组合来完成的,该查询选择给定类型的节点,然后对每个节点进行突变。我在教程中找不到这个例子。

假设我想删除 Country 类型节点的所有三元组。

我知道如何为节点选择 uid:

    {  
      query(func: has(<dgraph.type>)) @filter(eq(<dgraph.type>, "Country")) {
        uid
      }
    }

但是我如何将它与突变结合起来呢?

https://discuss.dgraph.io/t/how-to-bulk-delete-nodes-or-cascade-delete-nodes/7308

似乎要求“更新”

如何删除具有给定类型的节点的所有三元组?

4

1 回答 1

3

以下upsert似乎有效:

upsert {  
  query {
    # get the uids of all Country nodes
     countries as var (func: has(<dgraph.type>)) @filter(eq(<dgraph.type>, "Country")) {
        uid
    }
  }
  mutation {
    delete {
      uid(countries) * * .
    }
  }
}
于 2020-08-11T13:07:42.740 回答