Ho visto altrove che è un bel progetto implementare collegamenti tra oggetti in un database come oggetto separato. Questo rende un modo pulito per avere più oggetti di una classe per essere collegati a un oggetto di un'altra classe, invece di aggiungere una proprietà "links" a un oggetto, che quindi viene popolata, ad esempio un elenco CSV di altri oggetti che sono collegato.
Ora voglio passare attraverso la mia raccolta musicale (MP3) e trovare versioni codificate in modo diverso della stessa registrazione (tramite fingerprinting audio - pensate alla stessa canzone squarciata due volte con un bit rate diverso, ad esempio). Ora non sono sicuro di come progettare gli oggetti di collegamento, poiché collegano oggetti della stessa classe. Potrei fare qualcosa come
id songA songB
ma poi se voglio cercare tutte le corrispondenze per una canzone particolare, dovrò passare attraverso sia la songA che la songB per trovare i possibili collegamenti. C'è un modo più intelligente per farlo?