Deep learning has revolutionized many machine learning tasks in recent years,ranging from image classification and video processing to speech recognitionand natural language understanding. The data in these tasks are typicallyrepresented in the Euclidean space. However, there is an increasing number ofapplications where data are generated from non-Euclidean domains and arerepresented as graphs with complex relationships and interdependency betweenobjects. The complexity of graph data has imposed significant challenges onexisting machine learning algorithms. Recently, many studies on extending deeplearning approaches for graph data have emerged. In this survey, we provide acomprehensive overview of graph neural networks (GNNs) in data mining andmachine learning fields. We propose a new taxonomy to divide thestate-of-the-art graph neural networks into different categories. With a focuson graph convolutional networks, we review alternative architectures that haverecently been developed; these learning paradigms include graph attentionnetworks, graph autoencoders, graph generative networks, and graphspatial-temporal networks. We further discuss the applications of graph neuralnetworks across various domains and summarize the open source codes andbenchmarks of the existing algorithms on different learning tasks. Finally, wepropose potential research directions in this fast-growing field.