1. A method of accessing data stored on one or more computers, the data on each computer having a data storage schema, the method comprising: (a) generating a program to access the data using terms and constructs of a semantic programming interface, the semantic programming interface providing an abstract, object-oriented representation of the data that is independent of the data storage schemas of the data; (b) creating mappings of the representation of the data in the semantic programming interface to each of the data storage schemas of the data stored on the one or more computers; (c) translating the interface-based program into one or more executable programs using the data mappings; and (d) running the executable programs to access the data stored on the one or more computers.