Expressive power and deductive power are two critical characteristics of knowledge representation languages. They capture respectively, what information can be explicitly stated, and what information can be deduced. Object (class) based representations have gained almost universal acceptance because of their ability to capture inter-class associations and their implied ability to reason about these associations. While this is true for taxonomical relations (generalizations, specializations), this is far from being true for structural associations relating a whole to its parts. Most graphical and formal languages provide constructs for stating part-whole associations, but most languages have limited or no support for making inferences from them. One of the difficulties is capturing part-whole associations stems from its paradoxical nature. While there is an intuitive universal understanding of what the association means, the specific properties that one needs to reason about vary from one domain to the next, and from one application to the next. In this paper, we take an approach to defining part-whole associations that account both for the universality and the variability. We account for the universality by defining all part-whole associations in terms of a common set of primitive associations. We account for the variability by the fact that each part-whole association may be a different combination of primitive associations. We define an algebra of associations that serves as a basis for the deductive power of languages capturing the part-whole association.