19. A system for generating a query for querying an ontology, the system comprising: a memory configured to store the ontology; a processor coupled to the memory, wherein the processor is configured to: receive a first query in a first language, wherein the first language is a natural language; check the first query to determine if the first query complies with a predefined grammar and to determine if the first query comprises one or more terms from a vocabulary used in the ontology; in response to determining that at least one aspect of the first query does not comply with the predetermined grammar and does not comprise one or more terms from the vocabulary used in the ontology, provide guiding formulation of the first query by providing one or more constraints, wherein the one or more constraints are based upon the predefined grammar and the vocabulary comprising terms used in the ontology, and the predefined grammar is based upon a set of one or more rules; based on the one or more constraints, constrain the first query to comply with the predetermined grammar and the vocabulary used in the ontology; and generate, based upon the constrained first query, a second query in a second language, wherein the second query complies with the predetermined grammar and the vocabulary used in the ontology, and wherein the second language is different from the first language and the ontology is capable of being queried using the second query in the second language.
21. The system of claim 19 wherein the processor is configured to: parse the first query to identify a set of terms in the first query; associate a tag with each term in the set of terms; generate one or more representations based upon the set of terms and tags associated with the terms in the set of terms; and generate the one or more queries in the second language based upon the one or more representations.