How Graph Search Works
Emil Eifrem, CEO of Neo Technology exposes how Graph Search works
Think of a person. Imagine what they are doing and what they look like right now. Who did you pick? Your spouse, your mother, your boss, your crush, your idol? Why out of everyone in your life, did you pick this person? How are you connected?
What you stand to learn from connected data is vastly superior, more interesting and more actionable than what you can learn from disconnected data. This is the key insight and difference between Search as we know it and Graph Search. A deeper treatment of this idea is explained by social researcher James Fowler (author of the book “Connected”).
Looking at a commercial example: What is the top rated restaurant of Chinese cuisine in the city? What is the top rated one amongst my friends (whose opinions I trust)? What is the top rated one according to my Chinese friends? You are connected to this restaurant, just not directly, but by your friends, or maybe friends of friends.
Facebook has built systems to apply this idea to the Social Graph. It won’t be long before we see similar search systems against the other consumer graphs (Intent, Consumption, Interest and Mobile) identified by Gartner.
How Does It Work?
Think about the last time you went to a foreign country and tried your best to ask for directions in a language you weren’t fluent in. “Excusez moi, ou se trouve le pyramide?” You asked how to get to the pyramid. The Parisian hearing you makes assumptions about what you are trying to do even if you have incorrect sentence structure, horrible pronunciation and make little sense. Being in Paris, you probably mean the glass pyramid in front of the Louvre Museum, not the pyramids in Egypt. “Take the Subway at the Opera towards Villejuif, get out at the Palais Royal, walk south for bit and you’ll get there.”
Graph Search makes this kind of interaction possible with a machine. A user types what they are looking for in their own words. Their words are parsed in context and compared against a grammar of relationships the system understands. Once the system understands the question, it finds the answers by combining relationships to find paths from the user to the subject in question. These paths are filtered by permission and ordered by probability. Finally the answers are displayed with some hint of how the system connected the paths.
Facebook built a massive graph traversal search engine called “Unicorn” which stores the relationships of the social graph. These are the “friend” relationships between users, “likes” relationships between users and any entity (people, pages, places, etc.), as well as “lives in”, ”tagged”, ”works at”, and many others. These relationships are combined to traverse the graph and find paths. There are 1 billion people on Facebook, 150 billion friend connections and 2.5 billion new “likes” relationships added every day. The data is so massive Facebook has to use tricks to limit the number of relationships traversed with each query, and still has not opened up Graph Search to all its users.
Can I Have My Own?
While navigating the social graph is interesting, of more interest may be navigating the richer data available within your own company. The task of building your own graph management system is very daunting. Luckily, commercial alternatives that handle this work are available under the category of “graph databases”.
Which existing customers are like a prospective customer? Customers which bought product x are likely to buy which other products? Which customers match fraudulent patterns? What is the best way to route a package to a customer? Who are the experts in a topic? What drugs bind to protein X and do not interact with drug Y? Whose network would be most valuable on my board of directors? These are the kind of questions business users are trying to figure out and graph databases can answer.
There is a game called “Six Degrees of Kevin Bacon” which is played by connecting random actors to Kevin Bacon by the co-stars and movies they appeared in over multiple hops. This game highlights the theory that every person is six or fewer steps away from any other person in the world. In the Facebook graph, the average number of hops was just 4.74 and dropping. McDonalds has 28 million likes on Facebook, Starbucks has 35 million, Coca Cola has 70 million. Marketers understand that the once hidden “word of mouth” network of customers and influencers is becoming visible and more importantly becoming accessible and easier to leverage. The next time you think of a product, remember that it has a network, you may be in it, and if not, someone, somewhere is trying to connect you.