#Wolfram Language <s>64</s> 53 bytes


Finds all the input list's `Subset`s of length 2, `Select` those in which the nodes of one pair intersect with the nodes of another pair (indicating that the pairs share a node), and `StringJoin` the nodes for all selected pairs.

The code is especially difficult to read because it employs 4 nested pure (*aka* "anonymous") functions. 

The code uses braces, "{}", as list delimiters, as is customary in Wolfram Language.

1 byte saved thanks to Mr. Xcoder.