-
Notifications
You must be signed in to change notification settings - Fork 198
KShortest paths #3170
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KShortest paths #3170
Conversation
2f62522 to
26078a2
Compare
Exists early if hops limit reached Fix: hops counting (in summary) Early break if upport limit reached while expanding Fix: Returns empty set if vertices are null or same start and end
Josipmrden
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something seems off with the number of hops traversed (maybe it's exponential execution, at least at first glance). + it would be good to add the number of paths inside the relationship kshortest brackets, something like [ *kShortest 50]
2e48ea1 to
0f02fa8
Compare
6762c07 to
c678a96
Compare
|
Tracking
Standard development
CI Testing Labels
Documentation checklist
|
New type of variable expand (KShortest) `(n1)-[*KShortest]->(n2)` The current implementation supports only search between two predefined nodes (not really an expand operator). The user needs to capture these nodes via a WITH n1, n2 clause. The reason is that we first find the shortest path and then slowly expand the search to other shortest paths, returning the shortest paths first. Implementation supports path length filtering, but does not support user defined node/edge filtering. Transaction aborts, fine-grain access control and hops limit are also supported. Added feature: limit number of results via a variable inside the edge expression `-[*KShortest lb..ub | n]->`



New type of variable expand (KShortest)
(n1)-[*KShortest]->(n2)The current implementation supports only search between two predefined nodes (not really an expand operator).
The user needs to capture these nodes via a WITH n1, n2 clause.
The reason is that we first find the shortest path and then slowly expand the search to other shortest paths, returning the shortest paths first.
Implementation supports path length filtering, but does not support user defined node/edge filtering.
Transaction aborts, fine-grain access control and hops limit are also supported.
Added feature: limit number of results via a variable inside the edge expression
-[*KShortest lb..ub | n]->