Repository navigation
Hold pathfinder's interior lookup to the hops it needs - #176
Merged
Merged
Conversation
The interior lookup pins every near node against every far node, so gandalf returned the edges between all of those combinations rather than the few thousand hops the paths take. It now sends the hops as parameters.pairs, which gandalf uses to return only those edges, and every lookup sends kg_only: the paths are built from the knowledge graph, and merging dropped the results anyway. A server that ignores either parameter returns a superset, which build_paths and the orphan filter already handle. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KYcFFcrh3FaNTinGUCCTY8
The endpoint lookups pinned each endpoint against anything, so a hub endpoint returned every edge of it and its subclass children, with an inferred edge and support graph for each child edge: one such response came back at 860MB. They now pin the endpoint against the nodes the paths take next to it, and subclass_qnodes keeps those nodes exact rather than expanding them too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KYcFFcrh3FaNTinGUCCTY8
Codecov Report✅ All modified and coverable lines are covered by tests.
... and 2 files with indirect coverage changes Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
uhbrar
approved these changes
Oct 20, 2026
uhbrar
left a comment
Collaborator
There was a problem hiding this comment.
I think this is good. I ran a few queries and was able to see a noticeable improvement in overall speed. Comment is a non-issue in my opinion.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KYcFFcrh3FaNTinGUCCTY8
maximusunc
pushed a commit
that referenced
this pull request
Oct 20, 2026
Brings in pathfinder's narrower edge lookups (subclass_qnodes, pairs, exclude_results) and the pathfinder mount paths, which are TRAPI-neutral. devel's "ARAX Pathfinder TRAPI 2.0 fixes" are ported to 1.x where they apply: only pinned qnodes give the pinned keys, a path constraint without intermediate_categories defaults to biolink:NamedThing, and PathFinder's hard-coded "p0" path bindings are rekeyed to the query's own path (rekey_path_bindings). Its 2.0-only result conversion is not taken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TtsBikU9y9AFQ5uu9tcioz
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.
The interior lookup pins every near node against every far node, so gandalf returned the edges between all of those combinations rather than the few thousand hops the paths take. It now sends the hops as parameters.pairs, which gandalf uses to return only those edges, and every lookup sends kg_only: the paths are built from the knowledge graph, and merging dropped the results anyway. A server that ignores either parameter returns a superset, which build_paths and the orphan filter already handle.
Claude-Session: https://claude.ai/code/session_01KYcFFcrh3FaNTinGUCCTY8