You can simply use PORT instead of ID , and then use the edge definition, as in your example.
<TD PORT="first" BGCOLOR="gray">first</TD>
ID The goal is to use in a downstream, so if you are not using SVG output and reusing the identifier elsewhere, they are probably not very useful.
As for the warnings, I am not getting them with graphviz 2.28. If you are using an earlier version of graphviz, I suggest updating.

source share