1. A computer implemented method for efficiently planning and executing a SPARQL query, in any of the variants of the SPARQL query language, against a data source compliant with the Resource Description Framework (RDF) standard, the method comprising: receiving a SPARQL query; converting this SPARQL query to a semQA2 query and creating a semQA2 parse tree; performing filter pushdown on the semQA2 parse tree; determining an efficient query plan for execution of the semQA2 query; executing the query against a data source and retrieving results compliant with the SPARQL specification.