Nikolay Yakovets

DB
3papers
2citations
Novelty28%
AI Score38

3 Papers

35.8DBJun 3
GraphAlg Playground: An Online Platform for Learning and Experimenting with the GraphAlg Language

Daan de Graaf, Robert Brijder, Soham Chakraborty et al.

The GraphAlg language for graph algorithms enables native support for user-defined graph analytics workloads in databases. In this demonstration, we present a web-based playground for writing and executing GraphAlg programs in the web browser, including an interactive tutorial explaining its key concepts. The playground runs inside the user's web browser without any installation, and is freely available under a permissive license as a reusable library. We present two demonstration scenarios of the publicly available playground website, showing how new users can learn to program in GraphAlg using the tutorial, while expert users can use the playground to prototype and validate their algorithms.

8.2DBMay 20
Optimizing Navigational Graph Queries

Thomas Mulder, George Fletcher, Nikolay Yakovets

We study the optimization of navigational graph queries, i.e., queries which combine recursive and pattern-matching fragments. Current approaches to their evaluation are not effective in practice. Towards addressing this, we present a number of novel powerful optimization techniques which aim to constrain the intermediate results during query evaluation. We show how these techniques can be planned effectively and executed efficiently towards the first practical evaluation solution for complex navigational queries on real-world workloads. Indeed, our experimental results show several orders of magnitude improvement in query evaluation performance over state-of-the-art techniques on a wide range of queries on diverse datasets.

24.5DBApr 13
Foundations of the GraphAlg Language

Daan de Graaf, Robert Brijder, Nikolay Yakovets

The GraphAlg domain-specific language for graph algorithms enables user-defined algorithms in graph databases. In this work we show how GraphAlg is built on top of the formal MATLANG language for matrix manipulation. Starting from MATLANG, we describe the extensions to MATLANG needed to derive GraphAlg Core, a simplified version of GraphAlg that is used as the internal representation in the GraphAlg compiler. Furthermore, we prove that any GraphAlg Core expression can be simulated in an extension of for-MATLANG that supports simultaneous induction.