In recent years, the rapid growth of the semantic web has encouraged the use of knowledge graphs to store and exchange data among computers. The change in data storage and retrieval has imposed the need to integrate other techniques that interact with these data. Machine Learning (ML) is the most important fields of study that interacts with data, to extract the patterns and relations that can be used in future applications. However, these techniques are implemented to be used with structured data, where each data instance is characterized using a set of predefined features. Thus, to apply machine learning techniques to knowledge graphs, it is important to convert the formation of the information in these graphs. The knowledge graph represents a collection of interconnected descriptions of entities (objects, events, situations, or abstract concepts in the real world). This work reviews the knowledge graphs and how they are structured and stored. Then, the techniques being used to employ machine learning technique to improve the knowledge graphs are illustrated. Additionally, the integration of the information in the knowledge graphs, so that, they can be used in machine learning techniques are also reviewed. This review can provide a rigid overview for future researchers to provide more attention on the main drawbacks in the existing techniques. Moreover, the review shows that the existing integration approaches limit the performance of the machine learning techniques, as the knowledge extracted from the knowledge graph is trimmed to match the requirements of the ML technique. In conclusion, new machine learning techniques that can extract knowledge directly from the knowledge graph can provide significantly better performance.