Software reuse has been claimed to be one of the most promising approaches to enhance programmer productivity and software quality. One of the problems to be addressed to achieve high software reuse is organizing databases of software experience, in which information on software products and processes is stored and organized to enhance reuse. We present a system to define and construct such databases called the Reuse Description Formalism (RDF). The formalism is a generalization of the faceted index approach to classification in the sense that it provides facilities to define facets, terms, and object descriptions. Unlike the faceted approach, objects in RDF can be described in terms of different sets of faceted and in terms of other object descriptions. This allows a software library to contain different classes of objects, to represent various types of relations among these classes, and to refine classification schemes by adding more detail supporting a growing application domain and reducing the impact of initial domain analysis.