This document discusses efficient translation of SPARQL queries to SQL queries to enable querying relational data stored in databases using SPARQL. It presents an evolution of virtual RDF endpoints that translate SPARQL to SQL, from early systems like D2R that issued multiple SQL queries for one SPARQL query, to more optimized systems like Ultrawrap and Ontop that leverage database optimizations to improve performance. Ontop directly translates SPARQL to a single optimized SQL query and performs optimizations like candidate selection, self-join elimination, and leveraging the database query engine. The document demonstrates this translation process on an example query and evaluates the performance of Ontop compared to other virtual endpoints.