Not all SQL databases have support for hierarchical queries. And when they do, the syntax is often different.
If you have a maximum number of links in the system, then you can do what you want with joins:
select r.RiverName, r1.RiverName, r2.RiverName, r3.RiverName, r4.RiverName, r5.RiverName
from rivers r left outer join
rivers r1
on r.RecipientId = r1.RiverId left outer join
rivers r2
on r1.RecipientId = r2.RiverId left outer join
rivers r3
on r2.RecipientId = r3.RiverId left outer join
rivers r4
on r3.RecipientId = r4.RiverId left outer join
rivers r5
on r4.RecipientId = r5.RiverId ;
This puts the names in five separate columns. You can concatenate them together to put them in a single column.