Putting data in context with knowledge graphs
Knowledge graphs aren’t new, but they’re the latest and greatest trend as people and companies realize just how versatile they are. Whether your e-commerce business needs to offer your customers better product recommendations and targeted coupons or your payment processor needs to provide fraud detection on a massive, real-time dataset, a knowledge graph can be fundamental to your success.
Learn more about how knowledge graphs are already shaping your life and how they can transform your business.
What Is a Knowledge Graph and How Is It Used?
A knowledge graph organizes data across entities and their relationships to each other. It is a machine-readable organization of data that allows us to capture its nature and intrinsic relationships. Once connected data is made available in a knowledge graph, it can be used by people, software, or artificial intelligence (AI).
When thinking about knowledge graphs, it’s important to understand that most of what we describe is easy for humans to recognize but harder for computers to understand. So, while the context of a question or phrase might be obvious for people, machines need a knowledge graph to grapple with the core meaning. Large sets of data that can be analyzed to infer relationships within the data are the best way to allow machines to distill that core meaning.
Google was one of the first big data companies to build a knowledge graph almost 10 years ago, aiming to improve the search experience. The team at Google had to teach the search algorithm which terms went together. For example, if I search for "Michael B Jordan movies," my search intent is most likely to find movies starring Michael B. Jordan and not movies with the word "Michael" in the title or "Michael Jordan" in the cast -- no "Space Jam" here!
Google’s knowledge graph was the foundation of its ability to provide those super helpful answer boxes you see anytime you search. If you’ve asked Siri or Alexa "what’s the weather today" or searched for the cast of a show while binging on Netflix, a knowledge graph is what made those search results possible.
It also helps to identify connections between aspects of data that might not be immediately apparent. For example, when Uber Eats started giving recommendations, it didn’t have a clear understanding of cuisines or intent. When I search for sushi, I might end up purchasing ramen. You could search for Thai food but wind up buying Korean BBQ.
By using a knowledge graph, the Uber Eats team could map customers’ tastes as well as generally related cuisine palates. This can help power better recommendations, leading to even more orders.
Do I Need a Knowledge Graph?
While some technologists would argue that every company needs a knowledge graph, this can be an overestimation. Not every business has data that would deeply benefit from the interconnected nature of a knowledge graph. If all you need are tables with people’s names, shipping addresses, and order numbers, then sticking with a more traditional approach like a relational database would likely suffice. But, if you want to use those details to provide improved product recommendations to customers based on order history, location, or even associated local weather conditions, you’ll need a knowledge graph in order to power those insights. A SQL database simply cannot support a knowledge graph due to the nature of how the data is organized and connected.
Essentially, data is increasingly connected, and people expect truly personalized experiences. Unifying data silos can yield a deeper understanding of how these relationships impact your business. An enterprise knowledge graph takes the data that your company is sitting on and uses it to find meaning and value.
You’ll know that you need a knowledge graph if:
- Your siloed data is inhibiting a holistic understanding of your business.
- You need faster or real-time access to your data and complex queries.
- A deeper understanding of your customers, processes, or connections is fundamental to your business.
What Should I Look for in a Knowledge Graph?
Knowledge graphs require a graph database, not just because they both have graph in the name but also because of the richly interconnected nature of the data. With a graph database, you can store not only the entity data about each piece of information but also the other entities it connects with as well as the nature of the relationship between them. Whether it’s reverse references, one-to-many, or many-to-many relationships, graph databases are integral to the success of a knowledge graph engine and infrastructure. Graph databases support extremely complex relationships in the most efficient way possible. It enables easy storage of the data and its relationships while allowing for rapid results being returned from queries on that data.
So, how do you find a graph database that can power your knowledge graph? I won’t go into all the details of what to keep in mind when looking for the best graph database for your knowledge graph, but some of the things that I’ve seen impact a company fall into the following categories:
- Easy to use. Complicated and clunky systems can take extra time (and money) to work with. Be sure to go with a graph database that is easy to use with a minimal learning curve.
- Speed. If you need real-time intelligence, you’ll need to make sure that your database is blazingly fast and not keeping you waiting all day or night for the insights you need right now.
- Performance. Your precious engineering resources shouldn’t be wasting time optimizing and fighting with your database instead of seeing to other key projects; tuning requirements are often overlooked but can have a substantial impact on implementation timelines and team performance.
The next time you get the perfect product recommendation on your favorite e-commerce site or Spotify plays the exact song you needed to hear, you’ll know it was a knowledge graph that made it possible. Isn’t that what all your customers deserve, too?
Matt Tanner is a community engineer at Dgraph passionate about modern development, emerging technology, and architecture. Matt has worked as a developer, tech lead, and architect for some of the largest financial institutions and insurers in Canada. He is always dabbling in the latest tech and applying this to his own ventures in technology. For more information on Dgraph, the #1 open source graph database, visit http://dgraph.io/ and follow Dgraph Labs on LinkedIn, Twitter, GitHub and YouTube.