1. A computer-program product tangibly embodied in a computer-readable storage device, the computer-program product comprising instructions that when executed cause a processor to perform operations for providing a natural-language interface to a repository, the operations comprising: identifying at least one repository from which a new computer-readable ontology is to be created; retrieving information from the at least one repository, wherein the retrieved information includes at least a first value of a first attribute and at least a second value of a second attribute; determining a first data type of the first attribute based on the first value; determining a second data type of the second attribute based on the second value; generating the new computer-readable ontology using the retrieved information, the new computer-readable ontology indicating the first data type of the first attribute and the second data type of the second attribute; and interpreting a user-entered natural-language statement for accessing the at least one repository using the new computer-readable ontology, including: (a) identifying, in the first user-entered natural-language statement, a user-entered attribute name corresponding to the first attribute and the second attribute; (b) identifying, in the first user-entered natural-language statement, a user-entered value associated with the user-entered attribute name; (c) determining a data type of the user-entered value; (d) comparing the data type of the user-entered value to the first data type of the first attribute and the second data type of the second attribute; (e) selecting one of the first attribute and the second attribute based on the comparison; and (f) using the selected attribute and the user-entered value in a predefined operation for accessing the at least one repository.
1. A computer-program product tangibly embodied in a computer-readable storage device, the computer-program product comprising instructions that when executed cause a processor to perform operations for providing a natural-language interface to a repository, the operations comprising: identifying at least one repository from which a new computer-readable ontology is to be created; retrieving information from the at least one repository, wherein the retrieved information includes at least a first value of a first attribute and at least a second value of a second attribute; determining a first data type of the first attribute based on the first value; determining a second data type of the second attribute based on the second value; generating the new computer-readable ontology using the retrieved information, the new computer-readable ontology indicating the first data type of the first attribute and the second data type of the second attribute; and interpreting a user-entered natural-language statement for accessing the at least one repository using the new computer-readable ontology, including: (a) identifying, in the first user-entered natural-language statement, a user-entered attribute name corresponding to the first attribute and the second attribute; (b) identifying, in the first user-entered natural-language statement, a user-entered value associated with the user-entered attribute name; (c) determining a data type of the user-entered value; (d) comparing the data type of the user-entered value to the first data type of the first attribute and the second data type of the second attribute; (e) selecting one of the first attribute and the second attribute based on the comparison; and (f) using the selected attribute and the user-entered value in a predefined operation for accessing the at least one repository. 5. The computer-program product of claim 1 , wherein several values associated with the first attribute are retrieved and several values associated with the second attribute are retrieved, and wherein the computer-readable ontology upon being generated indicates a first range of the several values of the first attribute and a second range of the several values of the second attribute.