1. A system for matching a first user with a second user within a network of users, comprising: a database having at least one ontology; said ontology comprising a plurality of concepts arranged within a hierarchical knowledge profile; wherein the knowledge profile comprises a first upper-level tier and a second lower-level tier; wherein a user's interest in a concept located within the second lower-level tier subsumes interest in a broader concept in the first upper-level tier; and an interface allowing the first and second user to select an interest in one or more concepts; a processor configured to match the first user and the second user as a function of their association with concepts within the knowledge profile; wherein the interface is configured to generate a first individual knowledge profile for the first user based on concepts associated with the first user and a second individual knowledge profile for the second user based on concepts associated with the second user; wherein the processor is configured to match the first user with the second user by calculating the distance between a selected concept located in both the first and second individual knowledge profiles; wherein the interface comprises a graphical user interface that allows the users to graphically view the hierarchical knowledge profile; and wherein the graphical user interface is configured such that the hierarchical knowledge profile can be viewed as: a collection of pathways, a set of sub-graphs, and a collection of key terms.