Interesting question. I would say that there is little interchangeability between any two of those three words (even though a dictionary would probably tell you that they all mean "truth"). I am answering without using a dictionary.
From a native speaker's prospective, [真理]{しんり} is by far the "biggest" word of the three. It is mostly used in a religious or philosophical discussion to refer to the "ultimate" kind of Truth with an uppercase T. It is far from being an "everyday" kind of word for most people. (However, when 真理 is read まり, it suddenly becomes an everyday kind of a girl's name.)
[真実]{しんじつ} is the often-used word to refer to "truth" or "fact" for general purposes. It is in everyone's active vocabulary. Literally, anything that is true or is a fact can be called 真実. (I will not mention my ex-colleague [真実]{まみ}.)
[真相]{しんそう} refers to a collection of little [真実]{しんじつ}'s. It is the bigger (and deeper) picture of an incident which it takes time and effort to arrive at. It is the whole "story" rather than a piece of information that has been proved to be true.
So, to say "The truth is above all else.", the usual word choice would be 真実, but as I said above, one could use 真理 if it is said in the context of a highly religious or philosophical discussion. Using 真相 there is out of the question.