This suite translates a subset of the openCypher TCK into GFQL AST/wire protocol queries and validates results against the reference enumerator and pandas, with optional cuDF runs when enabled.
- openCypher TCK: https://github.com/opencypher/openCypher/tree/main/tck
- Local clone (gitignored):
plans/cypher-tck-conformance/tck
- Clone date: 2025-12-29
- Repo commit:
59edf2e1c17b845bf97c334ed06b2eb780950c13 - License: Apache License 2.0 (
plans/cypher-tck-conformance/tck/LICENSE)
- Translate supported Cypher scenarios into GFQL equivalents.
- Run each translated case on:
- Reference enumerator (oracle)
engine='pandas'engine='cudf'(only whenTEST_CUDF=1and cudf is available)
- Record unsupported scenarios with explicit xfail/skip reasons and capability tags.
- Preserve traceability to the original Cypher query and expected results.
- Capability tags include
target-table-ops,target-expr-dsl,defer-quantifier,defer-path-enum,defer-unwind,defer-union.
- Capability tags include
pytest tests/cypher_tck -xvs
TEST_CUDF=1 pytest tests/cypher_tck -xvs
PYGRAPHISTRY_PATH=/path/to/pygraphistry python -m tests.cypher_tck.reportPYGRAPHISTRY_PATH=/path/to/pygraphistry python -m tests.cypher_tck.porting_backlog
python -m tests.cypher_tck.porting_backlog
BACKLOG_LIMIT=20 python -m tests.cypher_tck.porting_backlog- The TCK repo is not vendored; use the local clone under
plans/. - Each translated scenario should include a reference back to the TCK path, the original Cypher, and the expected rows or aggregates.
- For xfail scenarios,
gfqlmay contain a non-executable plan built withtests.cypher_tck.gfql_planto document the intended translation. When a target-table-ops or target-expr-dsl scenario lacks a manual plan, a minimal clause-based plan is generated from the Cypher text at load time. - Track feature gaps and workarounds in
tests/cypher_tck/GAP_ANALYSIS.md. tests.cypher_tck.reportnow emits both conformance counts and a reusable lane-priority view for backlog planning, including tracker placeholders for the current top candidate workstreams.