{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,21]],"date-time":"2026-04-21T17:38:58Z","timestamp":1776793138503,"version":"3.51.2"},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"11","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2013,8,27]]},"abstract":"<jats:p>Unicorn is an online, in-memory social graph-aware indexing system designed to search trillions of edges between tens of billions of users and entities on thousands of commodity servers. Unicorn is based on standard concepts in information retrieval, but it includes features to promote results with good social proximity. It also supports queries that require multiple round-trips to leaves in order to retrieve objects that are more than one edge away from source nodes. Unicorn is designed to answer billions of queries per day at latencies in the hundreds of milliseconds, and it serves as an infrastructural building block for Facebook's Graph Search product. In this paper, we describe the data model and query language supported by Unicorn. We also describe its evolution as it became the primary backend for Facebook's search offerings.<\/jats:p>","DOI":"10.14778\/2536222.2536239","type":"journal-article","created":{"date-parts":[[2014,6,24]],"date-time":"2014-06-24T12:17:57Z","timestamp":1403612277000},"page":"1150-1161","source":"Crossref","is-referenced-by-count":69,"title":["Unicorn"],"prefix":"10.14778","volume":"6","author":[{"given":"Michael","family":"Curtiss","sequence":"first","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Iain","family":"Becker","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tudor","family":"Bosman","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sergey","family":"Doroshenko","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lucian","family":"Grijincu","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tom","family":"Jackson","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sandhya","family":"Kunnatur","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Soren","family":"Lassen","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Philip","family":"Pronin","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sriram","family":"Sankar","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Guanghao","family":"Shen","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gintaras","family":"Woss","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chao","family":"Yang","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ning","family":"Zhang","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2013,8]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"APACHE HADOOP. http:\/\/hadoop.apache.org\/."},{"key":"e_1_2_1_2_1","unstructured":"APACHE THRIFT. http:\/\/thrift.apache.org\/."},{"key":"e_1_2_1_3_1","unstructured":"DESCRIPTION OF HHVM (PHP VIRTUAL MACHINE). https:\/\/www.facebook.com\/note.php?note_id= 10150415177928920."},{"key":"e_1_2_1_4_1","unstructured":"FACEBOOK GRAPH SEARCH. https:\/\/www.facebook.com\/about\/graphsearch."},{"key":"e_1_2_1_5_1","unstructured":"FOLLY GITHub REPOSITORY. http:\/\/github.com\/facebook\/folly."},{"key":"e_1_2_1_6_1","unstructured":"HPHP FOR PHP GITHUB REPOSITORY. http:\/\/github.com\/facebook\/hiphop-php."},{"key":"e_1_2_1_7_1","unstructured":"OPEN COMPUTE PROJECT. http:\/\/www.opencompute.org\/."},{"key":"e_1_2_1_8_1","unstructured":"SCRIBE FACEBOOK BLOG POST. http:\/\/www. facebook.com\/note.php?note_id=32008268919."},{"key":"e_1_2_1_9_1","unstructured":"SCRIBE GITHUB REPOSITORY. http:\/\/www.github.com\/facebook\/scribe."},{"key":"e_1_2_1_10_1","unstructured":"THE LIFE OF A TYPEAHEAD QUERY. http:\/\/www.facebook.com\/notes\/facebook-engineering\/the-life-of-a-typeahead-query\/389105248919."},{"key":"e_1_2_1_11_1","unstructured":"UNDER THE HOOD: INDEXING AND RANKING IN GRAPH SEARCH. http:\/\/www.facebook.com\/notes\/facebook-engineering\/indexing-and-ranking-in-graph-search\/10151361720763920."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/1325851.1325900"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1367497.1367587"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2003.1196112"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063576.2063615"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/872757.872762"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1772690.1772735"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/320326"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/1083592.1083652"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.5555\/2019378"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/1394399"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1559845.1559911"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-009-0165-y"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.5555\/560733"},{"key":"e_1_2_1_26_1","volume-title":"Thrift: scalable cross-language services implementation","author":"Slee M.","year":"2007","unstructured":"M. Slee, A. Agarwal, and M. Kwiatkowski. Thrift: scalable cross-language services implementation, 2007. http:\/\/thrift.apache.org\/static\/files\/thrift-20070401.pdf."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.14778\/1687553.1687609"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2348283.2348304"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2433396.2433461"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213957"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2433396.2433409"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/2536222.2536239","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,10,23]],"date-time":"2024-10-23T22:35:55Z","timestamp":1729722955000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/2536222.2536239"}},"subtitle":["a system for searching the social graph"],"short-title":[],"issued":{"date-parts":[[2013,8]]},"references-count":30,"journal-issue":{"issue":"11","published-print":{"date-parts":[[2013,8,27]]}},"alternative-id":["10.14778\/2536222.2536239"],"URL":"https:\/\/doi.org\/10.14778\/2536222.2536239","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2013,8]]}}}