Skip to content

fix(cypher): admit free-form carried-property bridge refs (#1275)#1287

Merged
lmeyerov merged 1 commit intomasterfrom
issue-1275
May 4, 2026
Merged

fix(cypher): admit free-form carried-property bridge refs (#1275)#1287
lmeyerov merged 1 commit intomasterfrom
issue-1275

Conversation

@lmeyerov
Copy link
Copy Markdown
Contributor

@lmeyerov lmeyerov commented May 4, 2026

Summary

  • admit free-form bounded reentry shapes where trailing clauses reference carried alias properties (e.g. WHERE c.id = x.id, RETURN x.id)
  • wire multi_alias_carries into free-form lowering + ReentryPlan metadata and remove the prior carried-property failfast
  • fix reentry WHERE rewrite coverage for structured WhereClause paths (expr_tree=None) so bridge predicates are rewritten instead of leaking unresolved aliases
  • convert/add Cypher/GFQL: free-form trailing WHERE bridge refs across carried + fresh aliases #1275 execution tests (including cuDF parity guard)
  • add changelog entry

Closes #1275.

Validation

  • python -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "intermediate_reentry_match_with_carried_property_bridge_where"
  • python -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "intermediate_reentry_match_with_carried_property_bridge_where or simple_freeform_intermediate_reentry_match or freeform_intermediate_reentry_match_with_multi_carried_aliases or freeform_intermediate_reentry_match_with_empty_prefix or freeform_intermediate_reentry_match_on_multi_row_prefix or with_match_reentry_carried_scalar_where or with_match_reentry_where_or_on_carried_and_trailing_alias_props or with_match_reentry_where_xor_on_carried_and_trailing_alias_props or issue_1026_multi_alias_with_optional_match_carries_secondary_property or multi_alias_with_stage_scalar_projection_executes"
  • python -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "tck- or with-where3-3 or issue_1273 or 1275"
  • uv run ruff check graphistry/compute/gfql/cypher/lowering.py graphistry/tests/compute/gfql/cypher/test_lowering.py

GPU note

  • Local run had no cudf; paired cudf test is present/guarded.
  • dgx-spark command attempts are captured in plans/issue-1275/plan.md and hit remote environment/path provisioning issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cypher/GFQL: free-form trailing WHERE bridge refs across carried + fresh aliases

1 participant