How exactly are you creating these nodes using the Go client. Using JSON or NQuads?
If they are part of the same mutation and you are using blank node identifiers, then it should be ok and only one node should be created for d. If they are part of different mutations in the same transaction, then two nodes would be created.