Subsequent mutations, in ratel and with pydgraph

Blank_nodes are used only in the context of the transaction. Dgraph will create a new Node if you use the same Blank_node again. You should then use the UID instead of blank_node on the second mutation:

e.g:

{
  set
  {
    <0x13883> <to> <0x13882> (value="20") .
  }
}

As for the other examples, they are all wrong in the concept.

For example 'name': 0x22, is not actually assigning anything. You are modifying the predicate “name”. Correct is 'UID': 0x22. And if you do not use ‘’ 'UID': $someuid" you will actually create a new Node always. Check this section for more details. Get started with Dgraph

Cheers.