🤖 AI Summary
This work addresses the challenge of efficiently expressing complex graph algorithms such as PageRank in existing graph query languages, which struggle to balance expressiveness, performance, and usability. To bridge this gap, we propose GraphAlg, a linear algebra–based domain-specific language for graph algorithms that uniquely integrates intuitive matrix operations with relational algebra and compiles seamlessly into standard query processing pipelines. GraphAlg introduces aggressive optimizations—including sparsity-aware analysis, loop-invariant code motion, and in-place aggregation—implemented within the AvantGraph system. Experimental evaluation demonstrates that GraphAlg substantially reduces code complexity compared to SQL/Python and Pregel implementations while achieving superior performance on the LDBC Graphalytics benchmark suite.
📝 Abstract
Graph database query languages cannot express algorithms like PageRank, forcing costly data wrangling, while existing solutions such as algorithm libraries, vertex-centric APIs, and recursive CTEs lack the necessary combination of expressiveness, performance, and usability. We present GraphAlg: a domain-specific language for graph algorithms that compiles to relational algebra, enabling seamless integration with query processing pipelines. Built on linear algebra foundations, GraphAlg provides intuitive matrix operations that are amenable to aggressive optimization including sparsity analysis, loop-invariant code motion, and in-place aggregation. Our implementation in AvantGraph demonstrates significant code complexity reduction compared to SQL/Python and Pregel while achieving excellent performance on LDBC Graphalytics benchmarks. GraphAlg establishes that graph databases can serve as unified platforms for both queries and analytics.