Horton+: A distributed system for processing declarative reachability queries over partitioned graphs

Mohamed Sarwat, Sameh Elnikety, Yuxiong He, Mohamed F. Mokbel

Research output: Contribution to journalConference articlepeer-review

34 Scopus citations


Horton+ is a graph query processing system that executes declarative reachability queries on a partitioned attributed multi-graph. It employs a query language, query optimizer, and a distributed execution engine. The query language expresses declarative reachability queries, and supports closures and predicates on node and edge attributes to match graph paths. We introduce three algebraic operators, select, traverse, and join, and a query is compiled into an execution plan containing these operators. As reachability queries access the graph elements in a random access pattern, the graph is therefore maintained in the main memory of a cluster of servers to reduce query execution time. We develop a distributed execution engine that processes a query plan in parallel on the graph servers. Since the query language is declarative, we build a query optimizer that uses graph statistics to estimate predicate selectivity. We experimentally evaluate the system performance on a cluster of 16 graph servers using synthetic graphs as well as a real graph from an application that uses reachability queries. The evaluation shows (1) the efficiency of the optimizer in reducing query execution time, (2) system scalability with the size of the graph and with the number of servers, and (3) the convenience of using declarative queries.

Original languageEnglish (US)
Pages (from-to)1918-1929
Number of pages12
JournalProceedings of the VLDB Endowment
Issue number14
StatePublished - Sep 2013
Event39th International Conference on Very Large Data Bases, VLDB 2012 - Trento, Italy
Duration: Aug 26 2013Aug 30 2013


Dive into the research topics of 'Horton+: A distributed system for processing declarative reachability queries over partitioned graphs'. Together they form a unique fingerprint.

Cite this