Input for "predicate" of type uid is scalar

Check out this part of the Mutations documentation: Get started with Dgraph

Note

A common mistake is to attempt to use {"uid":"0x123","link":"0x456"} . This will result in an error. Dgraph interprets this JSON object as setting the link predicate to the string "0x456" , which is usually not intended.

You’ll have to explicitly state the uid field for uses_tool.

Instead of this:

"use_tool": "_:tool1",

It should look something like this:

"use_tool": {
    "uid": "_:tool1"
},