Those are Node names. You should be able to retrieve the Nodes with get_node (or get_node_or_null or get_node_and_resource), just like any other Node.
Godot will not allow two Nodes with the same NodePath. So, when you add a Node with the same name as a sibling Node, Godot will generate a new name for it. This is NOT particular of GraphEdit or GraphNode. Godot will check for collisions and generate names for any kind of Node.
In this case, you seem to have been adding Nodes with the name set to "TransformNode". The first one you added has no problem, since the name was not used before by any sibling Node. However, when adding the second sibling Node with the name set to "TransformNode" it conflicts with the one you already added. So Godot generates a new name of the format @name@number (for example "@TransformNode@119"). And it continues doing that for any other sibling Node with the same name added.
I should also mention that Godot does the same thing if you add anonymous Nodes. I mean Nodes with empty string for name. So you get nodes with names like "@@20" (notice this follows the same rule as above, the name part just happens to be an empty string). Adding anonymous Nodes also avoids checking for name collision. Which can be a performance improvement if you are adding a lot of Nodes in a short period of time (there are other better optimizations for bullet hell games, by the way, but that is a different topic).
The numbers are just counting up, among name collisions and anonymous Nodes. However, a GraphEdit creates a lot of anonymous Controls for its visual representation, which make the count go up relatively fast. As a result the numbers can be hard to predict, but should be consistent.