Building Modern, Analytics-Powered Products with Knowledge Graphs

Nov 11, 2019, 4 minute read
Stardog Newsletter

Get the latest in your inbox

Learn how tech leaders are using knowledge graphs to build human-centered products that users love and how to build a knowledge graph yourself.

Chances are, you’ve interacted with a knowledge graph today.

Have you searched on Google? Pinned something on Pinterest? Ordered food on Uber Eats? Searched for someone on LinkedIn or Facebook? Asked Alexa a question?

These products are all powered by a knowledge graph, a data tool that captures and organizes the relationships and associations between concepts, allowing you to build more human-centered products.

Reflect user intent with a knowledge graph

A knowledge graph turns your data into machine-understandable knowledge by representing the real-world context that is so often MIA. (Everyone has had a bad experience with Siri — sometimes, machines just don’t get it.)

Uber Eats was able to capture user intent by building a knowledge graph into their product. They saw a difference between search queries and orders, but recognized that these differences were often the result of the subtle nuances of how human brains connect concepts. For example, what happens when a hungry user searches for udon when dinnertime rolls around?

An eater might search for udon, but end up ordering soba. In this case, the eater may have been looking for something similar to udon, such as soba and ramen, instead of only being interested in udon. As humans, it might seem obvious; udon and soba are somewhat similar, Chinese and Japanese are both Asian cuisines. However, machines have a more difficult time understanding these similarities only based on the textual information. In fact, a lot of work goes into training them to make these types of intelligent decisions on the semantic level. (Via Uber’s excellent blog, “Food Discovery with Uber Eats: Building a Query Understanding Engine.”)

Ignoring this layered knowledge — Which dishes are Asian cuisine? Which dishes are made with noodles? — would lead to an unsatisfying user experience. Humans naturally create layers of associations between entities which leads to nuanced understanding of a concept. In order to make this real-world context machine-understandable, Uber built a food knowledge graph that showed the connections between restaurants, cuisines, and menu items. Storing the data as a graph instead of a table allows for more flexibility and expressivity of the intricate relationships between entities.

In addition to the ability to create machine-understandable knowledge, a knowledge graph’s data model offers significant operational benefit. The data model deduplicates data as its ingested, matching entities across data sets. A knowledge graph’s data model is also unique in its ability to reflect these layers of knowledge and infer connections between concepts at query-time. With a knowledge graph, when users search for udon, Uber “expand[s] the search to also include related terms such as ramen, soba, and Japanese ” automatically.

When you need a knowledge graph

A knowledge graph unifies data, creating a flexible data layer that adapts to changing requirements and changing realities. By easily accepting new data (without any changes to the schema), you can quickly adapt to changing user and market expectations.

If you’re evaluating technologies for a new product, consider leveraging a knowledge graph especially if you fit into one or more of these categories:

Combining internal and external data: Instead of mastering external data to match internal definitions, simply connect related terms using the knowledge graph’s flexible data model and power a real-time view of your data.

Complex logical conditions or recommendations: If you’re building a product with many conditional rules, a knowledge graph will allow you to easily encode and centrally store all business logic. Manage configurations, determine impact across interdependencies, or personalize recommendations based on the built-in AI’s interpretation of conditions in the data.

Fast release cycles with content updates: Inflexible infrastructure can hamper delivery of feature requests or recurring updates. If you’re building a product that will be affected by new facts, a knowledge graph offers the flexibility to constantly update your knowledge base without doing any rework. (See News Signals as a Service for a great example here.)

Secure collaboration with external partners: Many innovative solutions require the ability to both collaborate with external partners but allow shared data to remain secure with advanced cascading permissioning capability — a knowledge graph’s inherent interoperability is ideal for these secure collaborations.

Shared understanding of data across all devices: For IoT applications, a knowledge graph provides edge control and collaboration between proprietary systems and third-party systems and devices. The flexible data model offers quick connectivity of IoT devices for faster commissioning and changes.

Unifying many formats of data: A knowledge graph can unify SQL, NoSQL, and unstructured data so that you can truly capture real-world context from all relevant sources. Stardog’s NLP pipeline, BITES, extracts entities from unstructured data like full-text sources, and connects those entities and their relationships into the knowledge graph. Most commonly this is leveraged for semantic search applications that unify data from multiple sources.

Get started building your own knowledge graph

Interested in building your own knowledge graph? Learn more about using Stardog to modernize your analytics.

download our free e-guide

Knowledge Graphs 101

How to Overcome a Major Enterprise Liability and Unleash Massive Potential

Download for free