1. A computer system comprising: a plurality of computers linked by a network; a knowledge base stored in at least one of the computers in which representations of factual knowledge are characterized by named relationships between named objects; a knowledge inference module on at least one of the computers operable to infer new knowledge from the factual knowledge; a query answering module on at least one of the computers operable to receive a query in a pre-determined format and respond to the query using at least the representations of the factual knowledge; and a natural language translation module operable to translate a natural language question entered by a human operator into the predetermined format of the query by comparing the natural language question to pre-determined templates comprising sequences of known and unknown strings, the natural language translation module being further operable to use template queries to generate the query by substituting portions of the factual knowledge provided by the query answering module into at least one of the template queries, the natural language translation module being further operable to reject the query as invalid with reference to relationships between objects associated with the query where no classes of which the objects are members match any permitted classes associated with the relationships.