A graphical query language supporting recursion
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
A bridging model for parallel computation
Communications of the ACM
The Stanford GraphBase: a platform for combinatorial computing
The Stanford GraphBase: a platform for combinatorial computing
GraphLog: a visual formalism for real life recursion
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
On power-law relationships of the Internet topology
Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
The boost graph library: user guide and reference manual
The boost graph library: user guide and reference manual
Storing and querying ordered XML using a relational database system
Proceedings of the 2002 ACM SIGMOD international conference on Management of data
WebOQL: Restructuring Documents, Databases, and Webs
ICDE '98 Proceedings of the Fourteenth International Conference on Data Engineering
GraphDB: Modeling and Querying Graphs in Databases
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Graph indexing: a frequent structure-based approach
SIGMOD '04 Proceedings of the 2004 ACM SIGMOD international conference on Management of data
On mining cross-graph quasi-cliques
Proceedings of the eleventh ACM SIGKDD international conference on Knowledge discovery in data mining
Discovering large dense subgraphs in massive graphs
VLDB '05 Proceedings of the 31st international conference on Very large data bases
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Graphs-at-a-time: query language and access methods for graph databases
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
An Efficient Algorithm for Answering Graph Reachability Queries
ICDE '08 Proceedings of the 2008 IEEE 24th International Conference on Data Engineering
Distance Oracles for Spatial Networks
ICDE '09 Proceedings of the 2009 IEEE International Conference on Data Engineering
GraphSig: A Scalable Approach to Mining Significant Subgraphs in Large Graph Databases
ICDE '09 Proceedings of the 2009 IEEE International Conference on Data Engineering
Graph Twiddling in a MapReduce World
Computing in Science and Engineering
The web as a graph: measurements, models, and methods
COCOON'99 Proceedings of the 5th annual international conference on Computing and combinatorics
Codebook: discovering and exploiting relationships in software repositories
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
TEDI: efficient shortest path query answering on graphs
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Computing label-constraint reachability in graph databases
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Pregel: a system for large-scale graph processing
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Large graph processing in the cloud
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Multilevel algorithms for partitioning power-law graphs
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
On graph query optimization in large networks
Proceedings of the VLDB Endowment
On dense pattern mining in graph streams
Proceedings of the VLDB Endowment
Incremental graph pattern matching
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
Adding regular expressions to graph reachability and pattern queries
ICDE '11 Proceedings of the 2011 IEEE 27th International Conference on Data Engineering
Selectivity estimation of twig queries on cyclic graphs
ICDE '11 Proceedings of the 2011 IEEE 27th International Conference on Data Engineering
Mining large graphs: Algorithms, inference, and discoveries
ICDE '11 Proceedings of the 2011 IEEE 27th International Conference on Data Engineering
GBASE: a scalable and general graph management system
Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining
gSketch: on query estimation in graph streams
Proceedings of the VLDB Endowment
Relational approach for shortest path discovery over large graphs
Proceedings of the VLDB Endowment
Mining attribute-structure correlated patterns in large attributed graphs
Proceedings of the VLDB Endowment
Horton: Online Query Execution Engine for Large Distributed Graphs
ICDE '12 Proceedings of the 2012 IEEE 28th International Conference on Data Engineering
Managing large graphs on multi-cores with graph awareness
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
PowerGraph: distributed graph-parallel computation on natural graphs
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
GraphChi: large-scale graph computation on just a PC
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
G-SPARQL: a hybrid engine for querying large attributed graphs
Proceedings of the 21st ACM international conference on Information and knowledge management
Trinity: a distributed graph engine on a memory cloud
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Hi-index | 0.00 |
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.