  Research on graph representation learning has received a lot of attention in
recent years since many data in real-world applications come in form of graphs.
High-dimensional graph data are often in irregular form, which makes them more
difficult to analyze than image/video/audio data defined on regular lattices.
Various graph embedding techniques have been developed to convert the raw graph
data into a low-dimensional vector representation while preserving the
intrinsic graph properties. In this review, we first explain the graph
embedding task and its challenges. Next, we review a wide range of graph
embedding techniques with insights. Then, we evaluate several state-of-the-art
methods against small and large datasets and compare their performance.
Finally, potential applications and future directions are presented.
