The current execute_simple method
- returns unqualified column names (e.g.
RETURN p.name -> name) for simple node queries and explicit AS queries
- but returns qualified column names (e.g.
RETURN p.name, c.name -> p__name, c__company_name) for relationship queries.
To make it aligned with DataFusion's practice, we should return consistent column names (e.g. p.name) for all scenarios.
For example,
MATCH (p:Person)-[:WORKS_FOR]->(c:Company) RETURN DISTINCT c.company_name should return column name c.company_name, instead of c__company_name or company_name.
A useful reference is the implementation in the DataFusion planner: https://github.com/lance-format/lance-graph/blob/main/rust/lance-graph/src/datafusion_planner/expression.rs#L217