A graph and its seven closures
J, 71 58 bytes
Takes in the adjacency matrix.
*/@~:@(,([+./@,#)&quot;#/~^:_&quot;2)@(,s@r,(s=:+.|:),:r=:[+.=@i.@#)

Try it online!
How it works
First the original, s, r and r-&gt;s variants are computed, then all their transitive closures. Albeit the operations are not commutative, I believe calculating the transitive closure last will work here (r-&gt;t is equal to r-&gt;t-&gt;r as r just adds the diagonal, which was already set. s-&gt;t is equal to s-&gt;t-&gt;s as every transition was already symmetric. s-&gt;r is equal to r-&gt;s as every reflexion is symmetric.) Though this might be wrong, and if it is, I'm happy to slap some ^:_ on there. :-)

r=:+.=@i.@#: original matrix OR the diagonal =@i.@#.
s=:+.|:: original matrix OR its transposition |:.
,s@r,s,:r: original matrix and all its variants in a list.
([+./@,#)&quot;#/~^:_&quot;2: until the result does not change ^:_:  for every node: take the neighboring rows #, append them to the current row [ , and OR them together +./.
*/@~:: ~: returns whether each element of the list is unique, then AND */ those booleans.