如何在现有节点中更新信息,而不是使用Dgraph创建新节点?

时间:2018-10-11 04:53:39

标签: dgraph dgraph-dgo

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

是否有一种方法可以更新相同的节点数据,而不是用于创建新节点?

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

1 个答案:

答案 0 :(得分:2)

不幸的是,文档还不太适合初学者使用:/

要修改/变异现有数据,您必须运行set操作并提供rdf三元组,例如<uid> <predicate> "value" / <objectYouWantToModify> <attributeYouWantToModify> "quotedStringValue"。如果它不是属性而是一条边,则该值必须为另一个<uid>

例如完整的突变

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

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

检查https://www.w3.org/TR/n-quads/以获得更多详细信息。