This paper describes a programmatic framework for representing, manipulating and reasoning with geographic semantics. The framework enables automating tool selection for user defined geographic problem solving, and evaluating semantic change in knowledge discovery environments. Methods, data, and human experts (our resources) uses, inputs, outputs, and semantic changes are described using ontologies. These ontological descriptions are manipulated by an expert system to select resources to solve a user-defined problem. A semantic description of the problem is compared to the services that each entity can provide to construct a graph of potential solutions. An optimal (least cost) solution is extracted from these solutions, and displayed in real-time. The semantic change(s) resulting from the interaction of resources within the optimal solution are determined via expressions of transformation semantics represented within the Java Expert System Shell. This description represents the formation history of each new information product (e.g. a map or overlay) and can be stored, indexed and searched as required. Examples are presented to show (1) the construction and visualization of information products, (2) the reasoning capabilities of the system to find alternative ways to produce information products from a set of data methods and expertise, given certain constraints and (3) the representation of the ensuing semantic changes by which an information product is synthesized.