1. A computer implemented method to generate an answer to a request for information, the method comprising: receiving the request for information expressed in natural language; parsing the request; based on the parsed request, generating a graph representing syntactic structure of the received request for information; enriching the graph based on the parsed request for information with at least one semantic annotation of at least one business entity identified in the request for information, where the business entity is defined in a semantic layer of a plurality of data sources; matching the parsed request for information to a pattern from a plurality of patterns of features included in the request; processing by the computer a technical query associated with the pattern from the plurality of patterns to retrieve data relevant to the request for information from the plurality of data sources; and generating the answer to the request for information based on the retrieved data.