feature(interactive): Unify the Conversion for where subquery
in both Gremlin and Cypher.
#3766
Labels
where subquery
in both Gremlin and Cypher.
#3766
There's currently an inconsistency in handling
where subquery
between the Cypher and Gremlin.Specifically, for the following Gremlin query:
This query is transformed into an
apply
operation in Gremlin.The equivalent Cypher query:
is transformed into a
semi-join
with twoMatch
,Match (a)-[]->()-[]-(b)
Semi-JoinMatch (b)-[]->(a)
, in Cypher.Solution
Provide a unified API through
GraphBuilder
to convert the following queries respectively into their corresponding Calcite-Based IR joins:where subquery
into a semi-join.where not subquery
into an anti-join.Apply unified optimizations at the Calcite-Based IR layer:
g.V().out().where(out()) -> g.V().out().as('a').out().select('a').dedup()
The text was updated successfully, but these errors were encountered: