This paper examines the principles underlying analogical similarity and describes three important limitations with traditional views. It describes contextual structure-mapping, a more knowledge intensive approach that addresses these limitations. The principle insight is that each element of an analogue description has an identifiable role, corresponding to the dependencies it satisfies or its relevant properties in the given context. Analyzing role information provides a powerful framework for characterizing analogical similarity, relaxing the one-to-one mapping restriction prevalent in computational treatments of analogy, and understanding how such similarities may be used to assist problem solving. Second, it provides a unifying view of some of the central intuitions behind a number of converging efforts in analogy research.