The problem of polysemy involves having terms, such as “truck”, that refer to multiple concepts in different contexts; and conversely, having the same concept referred to with different names in different contexts. Contexts may be defined along different dimensions, such as language (Italian, English, French, ...), domain (Philosophy, Computer Science, Physics, ...), time (Ancient Greece, 20th century, ...) etc. Given a conceptual model M (aka ontology), a context C and a query Q we motivate and propose algorithms for interpreting all the terms of the query with respect to M and C. We also define and solve the inverse problem: given a set of concepts S which are part of the answer to query Q and a context C, we propose algorithms for choosing terms for all the concepts in S. To illustrate the framework, we use a case study involving a history ontology whose elements are named differently depending on the time period and language of the query.