Skip to content

fix(lance_csr): build the graph config with node_table and rel_table - #33

Merged
prrao87 merged 1 commit into
mainfrom
fix/lance-csr-rel-tables
Oct 31, 2026
Merged

prrao87 merged 1 commit into
mainfrom
fix/lance-csr-rel-tables

Conversation

@prrao87

@prrao87 prrao87 commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

Why

The upcoming lance-csr 0.5.0 removes the deprecated with_node_label and with_relationship builder methods (hyperdimensionalcomputingai/lance-csr#88). The lance-csr runner reuses the shared lance-graph module's build_config(), which calls both, so on 0.5.0 every run would fail with AttributeError before a single query. This keeps the runner working on 0.5.0, and on the pinned 0.3.1.

What changed

  • The lance-csr runner now builds its own graph config with lance-csr's node_table and rel_table, in place of the shared build_config(). The node labels, relationship types and key columns are the same as before.
  • rel_table also names the node tables at each end of a relationship. The runner reads them from the dataset names, so person_likes_post goes from Person to Post. All 23 relationship datasets map onto the eight node labels.
  • The shared lance-graph module, the 30 queries, the expected answers and the runner settings are unchanged. lance-graph's own runs still use its builder methods.
  • The runner README now describes the replacement in place of the note about deprecation warnings.

Adding endpoint labels can only change an answer where the engine has to infer a node's label. None of the 30 queries need that: every node is labelled where its variable first appears, and none use variable-length paths or relationship-type alternation.

Validation

  • All 30 tests pass on the pinned lance-csr 0.3.1, in memory and lazy mode, with DeprecationWarning raised as an error.
  • All 30 pass in both modes on release builds of lance-csr main (1dc63aa) and of the branch that removes the methods (eb43f52), loaded with uv run --with as part of that PR's benchmark comparison. Its results are in the lance-csr PR.
  • The published results in results/ were not rerun; they still reflect the previous config.

🤖 Generated with Claude Code

lance-csr 0.5.0 removes with_node_label and with_relationship, which the
shared lance-graph query module calls, so the lance-csr runner would
fail before running a query. Build the same mapping with lance-csr's
node_table and rel_table instead, reading each relationship's endpoint
node tables from its dataset name. The shared module, queries and
expected answers are unchanged, and the change works on 0.3.1 as well.
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.

1 participant