查一张交易表不难,难的是继续追问:“这笔钱经过哪些账户,最后流向哪里?”这类沿关系逐步追踪的问题更适合图查询。实验性扩展 DuckGQL 正在把 GQL——作用类似 SQL、但用来描述“从哪些点沿哪些边找到什么”——接入 DuckDB,让既有关系数据不必先搬进独立图数据库,也能获得图的视角。
它把实体和关系存进带类型的 DuckDB 顶点表、边表,再把 GQL 查询转换到底层原生的扫描、连接、聚合和递归执行。更具体的一步是另建 CSR(用紧凑数组记录每个顶点的邻居),以额外构建结构为代价,为 BFS、PageRank、连通分量和三角形计数等图算法提供更顺畅的边遍历。
目前它只实现了 ISO/IEC 39075:2024 GQL 的一部分,仍在开发中,也尚未达到完整标准一致性;项目明确要求以一致性清单而非解析器能否识别语法来判断支持范围。扩展当前面向 DuckDB v1.5.4,且未进入 DuckDB 官方或社区扩展仓库,更适合把它看作一个可试玩的共存原型。