Repository navigation
fix(lance_csr): build the graph config with node_table and rel_table - #33
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The upcoming lance-csr 0.5.0 removes the deprecated
with_node_labelandwith_relationshipbuilder methods (hyperdimensionalcomputingai/lance-csr#88). The lance-csr runner reuses the shared lance-graph module'sbuild_config(), which calls both, so on 0.5.0 every run would fail withAttributeErrorbefore a single query. This keeps the runner working on 0.5.0, and on the pinned 0.3.1.What changed
node_tableandrel_table, in place of the sharedbuild_config(). The node labels, relationship types and key columns are the same as before.rel_tablealso names the node tables at each end of a relationship. The runner reads them from the dataset names, soperson_likes_postgoes fromPersontoPost. All 23 relationship datasets map onto the eight node labels.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
memoryandlazymode, withDeprecationWarningraised as an error.main(1dc63aa) and of the branch that removes the methods (eb43f52), loaded withuv run --withas part of that PR's benchmark comparison. Its results are in the lance-csr PR.results/were not rerun; they still reflect the previous config.🤖 Generated with Claude Code