我用的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'
我用的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的,您的报错是?
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
谢谢