A social network is a collection of social entities and the relations among them. Collection and sharing of such network data for analysis raise significant privacy concerns for the involved individuals, especially when human users are involved. To address such privacy concerns, several techniques, such as k-anonymity based approaches, have been proposed in the literature. However, such approaches introduce a large amount of distortion to the original social network graphs, thus raising serious questions about their utility for useful social network analysis. Consequently, these techniques may never be applied in practice. In this paper, we emphasize the use of network structural semantics in the social network analysis theory to address this problem. We propose an approach for enhancing anonymization techniques that preserves the structural semantics of the original social network by using the notion of roles and positions. We present experimental results that demonstrate that our approach can significantly help in preserving graph and social network theoretic properties of the original social networks, and hence improve utility of the anonymized data.