This book deals with network representation learning. It deals with embedding nodes, edges, subgraphs and graphs. There is a growing interest in understanding complex systems in different domains including health, education, agriculture and transportation. Such complex systems are analyzed by modeling, using networks that are aptly called complex networks. Networks are becoming ubiquitous as they can represent many real-world relational data, for instance, information networks, molecular structures, telecommunication networks and protein-protein interaction networks. Analysis of these networks provides advantages in many fields such as recommendation (recommending friends in a social network), biological field (deducing connections between proteins for treating new diseases) and community detection (grouping users of a social network according to their interests) by leveraging the latent information of networks. An active and important area of current interest is to come out with algorithms that learn features by embedding nodes or (sub)graphs into a vector space. These tasks come under the broad umbrella of representation learning. A representation learning model learns a mapping function that transforms the graphs' structure information to a low-/high-dimension vector space maintaining all the relevant properties.