Graph technology makes teams more productive.

Denise Gosnell, Ph.D.
4 min readSep 4, 2019

--

As a part of writing a book with Dr. Matthias Broecheler, I spent time talking to dozens of graph users from around the world. I have interviewed technologists in the industry with over 30 years of experience to new developers in their first year.

Across those conversations, there has been one common theme:

teams use graph technology because it makes them more productive.

Woah. “More productive” is not exactly the current state of opinion for working with graph technology.

Hear me out.

The teams and individuals who find that graph technologies make them more productive point to one of three things.

First, the developers point to easier code maintenance.

There were a few different ways that dev teams confirmed this point. However, there is one conversation I would like to quote here directly.

I spent time talking with one individual about his experience moving from HBase to evaluating a Gremlin backed database. He said:

“Our team translated 150 lines of a query on hbase to 20 lines in Gremlin. Why would I not choose Gremlin?”

Think about the effects of moving from maintaining a 150 line query to a 20 line query. Sure, there are language differences and new paradigms to learn.

However, the simplification to your code base for using a graph query language to query your data like a graph just makes sense.

This point was confirmed many times by the teams I talked to. The common use case across each of those teams: they were joining data across many tables to answer complex questions. Deep queries across almost a dozen, or more, tables was the specific design issue which made graph technology made more sense for them.

There was a second common theme: ease of human understanding.

Data scientists and architects frequently told me about how much easier it was to reason about their projects when they were using graph data.

Graph data is easy to draw. Graph data is easy to talk about. You can point to a picture when walking through edge cases about logic in your data. To really see this, take a look at the image below.

This image was created by Alec Macrae during our work together at PokitDok, now Change Healthcare. License information for the open sourced version of the image is here.

Would you rather try and understand data with images like above, or in a bar chart?

TL;DR: When using graph data, communicating about project implications just becomes easier.

A picture is worth 1,000 words. And, when you can talk about your data primarily in pictures, teams are telling me that you can just get more done.

The last common theme I heard about primarily came from the research communities. Researchers say graph data makes them more productive because

Graph data helps research teams come up with new features to include in predictive models.

At some point, a researcher isn’t going to be able to improve the accuracy level of their model any further. By augmenting their feature sets with graph features, like path distance, teams were able to unlock new gains in their model’s accuracy.

Machine learning teams model and extract graph features to enhance the accuracy of their predictive models.

Previously, we were able to see 6% to 8% improvement in model accuracy when using graph features for identity detection in social networks. Aside from identity detection in graphs, let’s talk about the most popular example.

Do you use Netflix?

If so, that is one of the most popular ways that a graph feature can be used to create a personalized, custom recommendation.

Think about how it could work behind the scenes: you can structure movie viewing patterns into a graph. From there, you follow the movies your friend’s have watched to recommend new shows for you.

Seeing how relationships can empower recommendation engines. You can read this graph from left to right. You watched three movies and those movies were watched by two of your friends. We can find two other movies to recommend to you from the list of content your friends have watched.

Drawing out the relationships between people and movies was one of the cornerstone techniques that early adopters created to augment a recommendation engine with graph features.

Talking with my community has invoked some of the most invigorating, helpful, and inspiring parts of the process. Thank you to those of you who have spent time talking with me so far. It has meant the world to me.

Want to join us?

One of the most impactful parts of our journey comes from talking with graph users around the world. To date, we have only scratched the surface of learning from you: the graph community.

So, I would like to end this post with an open invitation:

Would you be willing to chat with me for 15 or 20 minutes about your experience with graph technology?

Who knows, maybe our conversation makes it into our book or we come up with our next big project… for after the spring of 2020.

If you are up for it, I would love to hear from you, just drop me a note:
Twitter: @denisekgosnell
LinkedIn: @denisekgosnell

--

--