Knowledge graphs are large-scale semantic networks that considerably impact knowledge representation. Mining hidden knowledge from existing data, including triplet knowledge reasoning, is a primary objective of knowledge graphs. With the development of Neural Network (NN) and Deep Learning (DL), the interpretability of triplet knowledge reasoning gradually decreases; furthermore, what machines learn is not actual reasoning but digital reasoning shortcuts. To solve this problem, more background knowledge needs to be introduced into knowledge graphs: causal graphs can offer valuable causal logic knowledge for reasoning; temporal quadruples can provide essential temporal distribution details; and commonsense graphs can furnish pertinent commonsense understanding to support reasoning. In recent years, many scholars have incorporated additional background knowledge into knowledge graphs to construct more complex reasoning mechanisms. This paper reviews the basic concepts and definitions of knowledge reasoning and the reasoning methods used for knowledge graphs. Specifically, we dissect the reasoning methods into four categories: triplet reasoning, causal inference, temporal inference, and commonsense reasoning. Finally, we discuss the remaining challenges and research opportunities related to knowledge graph reasoning.