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 and the syntactic sugar needed to derive GraphAlg. Furthermore, we prove that any GraphAlg program can be simulated in an extension of for-MATLANG that supports simultaneous induction.
翻译:面向图算法的领域特定语言GraphAlg支持在图数据库中定义用户自定义算法。本文展示了GraphAlg如何建立在用于矩阵操作的形式化语言MATLANG之上。我们从MATLANG出发,描述了为推导GraphAlg所需的扩展与语法糖。此外,我们证明任何GraphAlg程序均可在支持同时归纳的for-MATLANG扩展中进行模拟。