Venus Williams is through to the semi-finals of the Brazil Tennis Cup after a convincing win over Magdalena Rybarikova.