apache / apache/geaflow

feat: Add support for OPTIONAL MATCH keyword

Open
#694 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
808
Forks
188
Avg merge
3d 22h
Merged PRs (30d)
2

Description

**Is your feature request related to a problem? Please describe.**
No

**Describe the solution you'd like**
Add suport for OPTIONAL MATCH in GQL which is equivalent to an outer join in SQL

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered. Although I can't find the exact documentation in the ISO standard which states that OPTIONAL MATCH is part of it, the grammar provided in [this](https://github.com/TuGraph-family/gql-grammar?tab=readme-ov-file) link provided an OPTIONAl MATCH statement.

**Additional context**
Other popular database like Neo4j also supports this statement: https://neo4j.com/docs/cypher-manual/current/clauses/optional-match/

Contributor guide

Open the contributing guide

Research direction

Start by reading the linked TuGraph-family GQL grammar and Neo4j's OPTIONAL MATCH documentation to establish the intended syntax and semantics. Then locate GeaFlow's GQL parsing and query execution entry points; done means OPTIONAL MATCH is accepted and behaves like an outer join, with coverage for the supported cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.