Luca Trevisan‘s course at Standford on Graph Partitioning.
I arrived at this course page after finding the blog for the class: Cs359g.
Graph partitioning is relevant to clustering on the basis of similarity, or as stated in the overview blog post:
Finding balanced separators and sparse cuts arises in clustering problems, in which the presence of an edge denotes a relation of similarity, and one wants to partition vertices into few clusters so that, for the most part, vertices in the same cluster are similar and vertices in different clusters are not. For example, sparse cut approximation algorithms are used for image segmentation, by reducing the image segmentation problem to a graph clustering problem in which the vertices are the pixels of the image and the (weights of the) edges represent similarities between nearby pixels.
Depending upon the properties you are using as the basis for similarity (identity?), graph partitioning is likely to be relevant to your topic map application.