3

我正在编写一个使用 Dgraph 来持久化对象的 Golang 应用程序。从文档中,我可以推断UID每次我改变一个对象/运行代码时都会创建一个新节点,因此会创建一个新节点。

有没有办法更新相同的节点数据而不是创建新节点?

我尝试更改UID用于"_:name"UID字段的 ,但即使每次运行应用程序时都会创建一个新节点。如果数据库中已经存在现有节点,我希望能够更新现有节点,而不是为其创建新节点。

4

1 回答 1

6

不幸的是,这些文档对初学者还不是很友好:/

要修改/改变现有数据,您必须运行一个set操作并提供一个类似<uid> <predicate> "value"/的 rdf-triple <objectYouWantToModify> <attributeYouWantToModify> "quotedStringValue"。如果它不是属性而是边缘,则值必须是 another <uid>

例如,完整的突变是

{
  set {
    <0x2> <name> "modified-name" .
  }
}

终止序列,还有一个可选的.第四个参数可以用来分配一个label.

查看https://www.w3.org/TR/n-quads/了解更多详情。

于 2018-11-11T08:24:26.970 回答