Support Optional `EdgeExpand` in GIE Runtime
- Dominant language
- C++
- Stars
- 3.6k
- Forks
- 468
- Avg merge
- 29m
- Merged PRs (30d)
- 1
Description
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
As titled. Support an optional edge expand, which is used to further support optional match in queries. Basically, given a vertex $v$, optional edge expand is to expand its neighbors if any, or represents the absence of neighbors with `None`, while preserving such $v$ in the results.
This includes:
- [x] Add a field of `is_optional` in `EdgeExpand` in proto to express optional edge expand
- [x] Support a basic implementation of `OptionalEdgeExpand`
- [ ] Support more complex situations like `OptionalEdgeExpand` in `ExpandIntersection` and `PathExpand`
Besides, this will introduce `Null` value, we need to process it appropriately in other operations. E.g., expanding from a `Null` value may also leads to a `Null` result.
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
Contributor guide
Assessment
This issue has not been assessed yet.