LOOKUP WHERE的或运算是否有什么替代方案

我用的nebula graph 1.2.0,我看似乎是暂时不支持lookup on where的或运算的,那是否有什么方式能一次完成如下查询:
找到SkillName为"JAVA"、“C#”、"Python"的节点?

大致逻辑如下,但是代码跑不通:

LOOKUP ON
  Skill 
WHERE  `Skill`.SkillName == 'JAVA'
OR `Skill`.SkillName == 'C#'
OR `Skill`.SkillName == 'Python'

从 1.2.0 的文档看起来,似乎LOOKUP ON WHERE 后边是可以 OR的,您的报错是?

https://docs.nebula-graph.com.cn/1.2.0/manual-CN/2.query-language/4.statement-syntax/2.data-query-and-manipulation-statements/lookup-syntax/

LOOKUP ON {<vertex_tag> | <edge_type>} WHERE <expression> [ AND | OR expression ...]) ] [YIELD <return_list>]

<return_list>
    <col_name> [AS <col_alias>] [, <col_name> [AS <col_alias>] ...]

我的报错信息如下:

SyntaxError: OR and XOR are not supported in lookup where clause :
((Skill.SkillName==JAVA)||(Skill.SkillName==C#)||(Skill.SkillName==Python))

1.2.0 不支持OR, 可以使用union

1 个赞

谢谢