Whenever you add two node data objects to a Model that have the same key value, the model will change the key to make them unique within the model.
If you had a link that referred to a node with the key of -3, which node/group should it refer to? It cannot refer to both at the same time (for the same end of the link). As a practical matter, in GoJS it would refer to the node/group that still had the key value remaining -3, and the other one (whose key value was changed to make it unique) would be not be referenced by that link.
Thanks for the response walter. I implemented an work around to bind a new variable called data to text instead of key and it works as i expected.
Sorry to bump this old thread up, but @nadeemparvez.ak can you explain your solution a bit more, or perhaps share a code snippet of what you did? I am in the same situation, whereby I will legitimately have several child entries in the tree with the same name (but different parents). Thanks, mate!