No estoy seguro de entender exactamente la pregunta, pero ¿no funcionaría algo como esto?
SELECT s1.wordid, s1.synsetid, s1.sensekey, synsets.definition
, s2.wordid AS matchedWordID, w.* -- Additional info not from question's query
FROM senses AS s1
LEFT JOIN synsets ON s1.synsetid = synsets.synsetid
LEFT JOIN senses AS s2 ON s1.synsetid = s2.synsetid AND s1.wordid <> s2.wordid
LEFT JOIN words AS w ON s2.wordid = w.wordid
WHERE s1.wordid = 79459
;
Nota:...
es solo una forma abreviada de la lista de campos que realmente desea.
Nota n.º 2:por supuesto, puede UNIRSE a las muestras utilizando synsets
referencia, pero tenga en cuenta que los resultados se repetirán para cada par de palabras y muestra; y es posible que algunos pares de palabras se repitan si son sinónimos en múltiples significados.