  Knowledge graph reasoning is the fundamental component to support machine
learning applications such as information extraction, information retrieval,
and recommendation. Since knowledge graphs can be viewed as the discrete
symbolic representations of knowledge, reasoning on knowledge graphs can
naturally leverage the symbolic techniques. However, symbolic reasoning is
intolerant of the ambiguous and noisy data. On the contrary, the recent
advances of deep learning promote neural reasoning on knowledge graphs, which
is robust to the ambiguous and noisy data, but lacks interpretability compared
to symbolic reasoning. Considering the advantages and disadvantages of both
methodologies, recent efforts have been made on combining the two reasoning
methods. In this survey, we take a thorough look at the development of the
symbolic, neural and hybrid reasoning on knowledge graphs. We survey two
specific reasoning tasks, knowledge graph completion and question answering on
knowledge graphs, and explain them in a unified reasoning framework. We also
briefly discuss the future directions for knowledge graph reasoning.
