我正在编写一个使用 Dgraph 来持久化对象的 Golang 应用程序。从文档中,我可以推断出UID
每次我改变对象/运行代码时都会创建一个新节点,从而创建一个新节点。
有没有办法更新相同的节点数据而不是创建新节点?
我尝试将 更改UID
为"_:name"
用于该UID
字段,但即使这样每次运行应用程序时也会创建一个新节点。我希望能够更新现有节点,如果它已经存在于数据库中,而不是为它创建一个新节点。
不幸的是,这些文档还不是很适合初学者:/
要修改/改变现有数据,您必须运行一个set
操作并提供一个 rdf-triple,如<uid> <predicate> "value"
/ <objectYouWantToModify> <attributeYouWantToModify> "quotedStringValue"
。如果它不是属性而是边,则该值必须是 another <uid>
。
完整的突变将是例如
{
set {
<0x2> <name> "modified-name" .
}
}
Run Code Online (Sandbox Code Playgroud)
该.
终止序列和有你可以用它来还指定一个可选的第四个参数label
。
查看https://www.w3.org/TR/n-quads/了解更多详情。