assuming a network has been split - perhaps geographically or by network layer - and there are shared nodes at border-crossings or junctions
join the node and edge lists
identify shared nodes (by unique ID? by shared location? also by "border" flag?) and ensure they are not duplicated in the result
identify network component labels if present in the parts, and update component labelling. This needs a little care in implementation - joining parts may join multiple components.
Function to join networks at shared nodes