Ontology, as a standard (World Wide Web Consortium recommendation) for representing knowledge in the Semantic Web, has become a fundamental and critical component for developing applications in different real-world scenarios. However, it is widely pointed out that classical ontology model is not sufficient to deal with imprecise and vague knowledge strongly characterizing some real-world applications. Thus, a requirement of extending ontologies naturally arises in many practical applications of knowledge-based systems, in particular the Semantic Web. In order to provide the necessary means to handle such vague and imprecise information there are today many proposals for fuzzy extensions to ontologies, and until now the literature on fuzzy ontologies has been flourishing. To investigate fuzzy ontologies and more importantly serve as helping readers grasp the main ideas and results of fuzzy ontologies, and to highlight an ongoing research on fuzzy approaches for knowledge semantic representation based on ontologies, as well as their applications on various domains, in this paper, we provide a comprehensive overview of fuzzy ontologies. In detail, we first introduce fuzzy ontologies from the most common aspects such as representation (including categories, formal definitions, representation languages, and tools of fuzzy ontologies), reasoning (including reasoning techniques and reasoners), and applications (the most relevant applications about fuzzy ontologies). Then, the other important issues on fuzzy ontologies, such as construction, mapping, integration, query, storage, evaluation, extension, and directions for future research, are also discussed in detail. Also, we make some comparisons and analyses in our whole review.