I’ve been working on Graph Store-related technologies for 5-6years now. I got fascinated by the idea of representing the world’s information as an interconnected network (check out my semantics-related posts and some of my publications). Back when I was in Microsoft Research I built Zentity, a graph store + programming platform, with Lee Dirk’s and Alex Wade’s support. Suffice to say, I am still very much passionate about the use of graphs for knowledge representation & reasoning and I am very fortunate to still be active in this space as one of my day-to-day responsibilities at Microsoft.
In most likelihood you’ve heard about Facebook’s latest project: Search Graph. My friends over there asked were curious about my thoughts. Since I didn’t have access, they arranged it for me (thank you Iris :-) I played with it for a while and I am impressed, very impressed.
I can ask questions such as “Favorite bands of people under 25 years old” and “Favorite bands of people under 50 years old”. The results reflect the choices of the people in my social network. Given the results I got, I realized that they don’t represent aggregates over the body of knowledge that Facebook has. Somehow, I don’t think that people over 50y old around the world like the small tavern in my village in Greece, second only to Pink Flow, which somehow is categorized as “band” :-) I can ask the restaurants that are popular amongst my social network, the books they like, frequent places they visit, etc. Very cool.
I am extremely impressed with the execution. I know how difficult it is to perform structured queries over graph data at large scale. Making the transition from natural language understanding to queries against structured data adds to the complexity of the endeavor, even though Facebook seems to map input to pre-defined sentence structures. Still, the user experience with autosuggest is great.
What impresses me the most is Facebook’s ability to search over the graph while still preserving the users’ privacy policies. Very cool.
Of course, what Facebook doesn’t do is allow users to find answers. When I ask “who are the members of Coldplay?” (my usual first question when I play with a knowledge base), it changes my question to “people who are members of Coldplay” and gives me a list of profiles of people (even outside my social network) who, I guess, “like” the Coldplay page.
Facebook is doing the right thing for their users. They are adding a great feature. However, I believe their technology could expand to competing with Google’s Knowledge Graph in providing answers, rather than just blue links. But that requires the ability to reason over the Web, which Facebook can’t do (for now). The advantage that Facebook has, of course, is their ability to provide highly-personalized results. That’s the future of how we will be consuming information.
- “Facebook’s Bold, Compelling and Scary Engine of Discovery: The Inside Story of Graph Search” (Wired). Great read!
- “Facebook Introduces Graph Search With Limited Rollout” (PCMag).
- “Facebook’s Social Graph, Neo4j show rising use of graph databases” (ZDnet). An interesting discussion on graph databases with Neo4j and my pals over there being the main focus.
Overall, a job well done! Congrats to the Search Graph folks.
(image sources: my “Age of Semantics” post, Facebook, and Google)