A knowledge graph is composed of data from various sources that often have different structures. To organize this data, elements such as schemas, identities, and context are used to provide structure and meaning. The schemas create the structure for the graph, identities classify the nodes, and the context sets the stage for the knowledge. These elements enable products like Google's search engine algorithm to distinguish words with multiple meanings, such as "Orange" the brand, and "Orange" the fruit. Search engines like Google, Bing and Yahoo are using knowledge graph to provide more accurate search results by understanding the context and intent behind the query. Machine-learning-powered knowledge graphs use natural language processing (NLP) to build a comprehensive representation of nodes, edges and labels through a technique called semantic enrichment. Semantic enrichment is the process of adding a layer of topical metadata to content so that machines can make sense of it and build connections to it. This process allows machines such as search engines to understand and identify the meaning of objects and the connections between them. After a knowledge graph is built, it is compared and combined with other datasets that are related and similar in nature. Once completed, the graph enables question answering and search engines to quickly retrieve and reuse detailed responses to queries. These systems not only save time for consumers but can also be used in a business setting to automate data collection and integration, thereby supporting decision-making. Creating knowledge graphs can also support the discovery of new knowledge by connecting previously unconnected data points.