GraphScope
GraphScope copied to clipboard
[GIE/IR] Introduce a new strategy for pattern matching
Is your feature request related to a problem? Please describe.
Introduce a new ExtendStrategy to generate WCO plan based on ExtendIntersect for pattern matching, which is supposed to be more efficient than the NaiveStrategy currently.
However, there're some remaining issues TODO:
- [x] Assign valid alias for vertices to match, including: 1) user-given alias should be able to be referred after pattern match; 2) system-given alias should be identical and have no conflict to user-given alias.
- [x] Remove unnecessary system-given alias, after pattern matching. This could be done by project necessary columns (i.e., those with user-given alias) as a new record (via
Projectopr), or remove unnecessary columns (i.e., those with system-given alias) from current record (viaAuxiliaopr). - [x] Throw unsupported errors for fuzzy pattern, rather than output unexpected errors. Fuzzy pattern will be supported in the future.
- [ ] Support
PathExpandin pattern matching. - [ ] Test for correctness and performance.