在 Gremlin 中,使用 coalesce()
和 project()
可以实现左连接等价的操作。
例如,假设有 person
和 city
两个类型的顶点,person
顶点有 name
和 city_id
两个属性,city
顶点有 id
和 name
两个属性。使用以下 Gremlin 代码可以将 person
和 city
表通过 city_id
属性连接起来,从而实现左连接等价的操作:
g.V().hasLabel('person').as('p').
project('name', 'city').
by('name').
by(coalesce(out('lives_in').values('name'), constant('N/A'))).
select('p')
其中,coalesce()
函数用于处理当 person
顶点没有与之匹配的 city
顶点时的情况,即 city
顶点的名称显示为 “N/A”。
参考文献:TinkerPop3文档:左连接等价