Pometry / Pometry/Raphtory

Filter-expression asymmetry: nodes[edge_expr] vs edges[node_expr]

Open
#2,728 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
642
Forks
70
Avg merge
2d 13h
Merged PRs (30d)
21

Description

edges[node_expr] is accepted (edges whose endpoints match a node predicate) but nodes[edge_expr] raises Exception("Node filter expected"): the same kind of cross-kind question, answered in one direction only. The remote matches local exactly here (same acceptance, same refusal), so this is a local-semantics decision, not a client fix.

Two symmetric options:

  • implement nodes[edge_expr] as "nodes with at least one matching edge" (the mirror of how edges[node_expr] treats endpoints), or
  • reject both directions.

Raised as a question in review on the parity suite PR (#2707): "shouldn't node and edge properties support the same filters?"

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the parity suite pull request (#2707) and inspect the existing coverage for edges[node_expr] and nodes[edge_expr]. Clarify the intended symmetric behavior, then update the relevant parity coverage so the chosen acceptance or refusal is explicit for both directions.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
database
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.