  In this paper, we use a partition of the links of a network in order to
uncover its community structure. This approach allows for communities to
overlap at nodes, so that nodes may be in more than one community. We do this
by making a node partition of the line graph of the original network. In this
way we show that any algorithm which produces a partition of nodes can be used
to produce a partition of links. We discuss the role of the degree
heterogeneity and propose a weighted version of the line graph in order to
account for this.
