1. A computer-implemented method executed by at least one processor, the method comprising: receiving, by a computer system, a request to execute a shared query, wherein the shared query comprises one of a plurality of pre-defined shared queries, and the shared query comprises a pre-defined query specification associated with the shared query, the query specification comprising pre-defined connections to a first and a second data sources associated with the shared query, the query specification specifying the shared query on a semantic layer and including search terms, parameters, filters, and aspects of the shared query to be used at runtime upon execution of the shared query, where each pre-defined shared query of the plurality of pre-defined shared queries is associated with a corresponding set of access rights, and wherein the request to execute the shared query represents a specific request to execute a particular shared query from the plurality of pre-defined shared queries from a particular application or user; in response to receiving the request, determining whether the particular application or user is allowed to access the shared query based on the set of access rights associated with the shared query; allowing execution of the shared query upon a determination that the particular application or user is allowed to access the shared query, wherein allowing execution of the share query includes: identifying the pre-defined query specification associated with the shared query; in response to the identifying the pre-defined query specification, identifying the first data source and the second data source based on the identified query specification; generating a native query for each respective data source of the identified first and second data sources based on the identified query specification; executing the generated native queries at the respective data sources to collect a set of query results from the respective data sources; and formatting the set of query results from the respective data sources into a unified set of query results; and rejecting the execution request upon a determination that the particular application or user is not allowed to access the shared query.