2
Cypher newb在这里谁可能无法让我的脑袋出“思考SQL”:Cypher:标签语法 - 在使用标签约束节点时使用“OR”?
比方说,我有一个星球大战角色和他们的孩子(和他们的孩子,等等)图。
我在父母和孩子之间有一种关系。如果我想回到所有的天行者阿纳金的后代的节点(包括他,太),我可能做到这一点:
MATCH (x:Person {name:"Darth Vader"})-[:CHILD_OF*1..3]-(y)
RETURN x,y
如果我想比较两个字符的后代有关系吗?比方说,我想看看阿纳金和令人讨厌的罐子罐子的诞生。是否有任何方式来本质上或标签约束?
MATCH (x:Person {name:"Darth Vader | "Jar Jar"})-[:CHILD_OF*1..3]-(y)
RETURN x,y
号
MATCH (x:Person {name:("Darth Vader", "Jar Jar")})-[:CHILD_OF*1..3]-(y)
RETURN x,y
失败。
MATCH (x:Person {name:"Darth Vader"} OR {name: "Jar Jar"})-[:CHILD_OF*1..3]-(y)
RETURN x,y
悲伤。
还是必须使用WHERE子句(这将打破[:CHILD_OF * 1..3],对我会假设前WHERE得到应用[:CHILD_OF1..3]被评估)
非常感谢。
做你的意思是标签或属性?你的例子中的'name'是一个属性,':Person'是一个标签。 – jjaderberg
物业。感谢您指出这一点 - 仍然让我的头脑在词汇表上。 –