What & why
GeaFlow ships 19 built-in graph algorithms (PageRank, SSSP, WCC, Louvain, LPA,
KCore, TriangleCount, JaccardSimilarity, …), but the geaflow-dsl-runtime
regression suite only covers some of them. Filling in end-to-end
CALL ... YIELD tests for the rest guards against future refactors quietly
breaking an algorithm. Great if you want to understand what graph algorithms
actually compute.
GeaFlow 有 19 个内置图算法,但回归测试只覆盖了一部分。给其余算法补端到端的
CALL ... YIELD 测试,能防止后续重构悄悄改坏算法。想真正搞懂"图算法到底算了什么"的同学,这题很合适。
The task
Pick a few algorithms that have no tests (or thin coverage) and add .sql
queries + .txt expected outputs.
挑几个尚无测试或覆盖薄弱的算法,补 .sql 查询 + .txt 期望输出。
Where to look
- Test graph definition:
geaflow-dsl-runtime/src/test/resources/modern_graph.sql.
- Query template: existing
query/gql_algorithm_001.sql
(CALL SSSP(1) YIELD (vid, distance) style); expected output at expect/gql_algorithm_001.txt.
- Test entry point:
geaflow-dsl-runtime/.../runtime/query/GQLAlgorithmTest.java.
Done when
What & why
GeaFlow ships 19 built-in graph algorithms (PageRank, SSSP, WCC, Louvain, LPA,
KCore, TriangleCount, JaccardSimilarity, …), but the
geaflow-dsl-runtimeregression suite only covers some of them. Filling in end-to-end
CALL ... YIELDtests for the rest guards against future refactors quietlybreaking an algorithm. Great if you want to understand what graph algorithms
actually compute.
GeaFlow 有 19 个内置图算法,但回归测试只覆盖了一部分。给其余算法补端到端的
CALL ... YIELD测试,能防止后续重构悄悄改坏算法。想真正搞懂"图算法到底算了什么"的同学,这题很合适。The task
Pick a few algorithms that have no tests (or thin coverage) and add
.sqlqueries +
.txtexpected outputs.挑几个尚无测试或覆盖薄弱的算法,补
.sql查询 +.txt期望输出。Where to look
geaflow-dsl-runtime/src/test/resources/modern_graph.sql.query/gql_algorithm_001.sql(
CALL SSSP(1) YIELD (vid, distance)style); expected output atexpect/gql_algorithm_001.txt.geaflow-dsl-runtime/.../runtime/query/GQLAlgorithmTest.java.Done when
.sql/.txtpair added per algorithm you claimmvn test -Dtest=GQLAlgorithmTestpasses