Как обновить информацию в существующем узле вместо создания нового с помощью Dgraph?

Я пишу приложение Golang, используя Dgraph для сохранения объектов. Из документации могу сделать вывод, что новый UID и, следовательно, новый узел создается каждый раз, когда я изменяю объект / запускаю код.

Есть ли способ обновить данные одного и того же узла вместо создания нового узла?

Я пытался изменить UID использовать "_:name" для UID поле, но даже это создает новый узел при каждом запуске приложения. Я хотел бы иметь возможность обновить существующий узел, если он уже присутствует в БД, вместо создания нового узла для него.

1 ответ

К сожалению, документы пока не очень удобны для начинающих: /

Чтобы изменить / изменить существующие данные, вы должны запустить set эксплуатация и поставка rdf-тройки, как <uid> <predicate> "value" / <objectYouWantToModify> <attributeYouWantToModify> "quotedStringValue", Если это не атрибут, а ребро, значение должно быть другим <uid>,

Полная мутация будет, например,

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

. завершает последовательность, и существует необязательный четвертый параметр, который можно использовать для назначения label,

Проверьте https://www.w3.org/TR/n-quads/ для получения дополнительной информации.

Другие вопросы по тегам