Knowledge graph technology is a critical part of artificial intelligence research. It establishes a knowledge base with the capacity of semantic processing and open interconnection in order to provide intelligent information service, such as search, question-answering, personalized recommendation, and so on. This article first presents a comprehensive study on definitions and architectures of knowledge graphs. Then we summarizes recent advances in knowledge graphs, including knowledge extraction, knowledge representation, knowledge fusion, and knowledge reasoning, with typical applications. Finally, this article concludes with future challenges of knowledge graphs.