使用 Cypher 在具有集合 属性 的所有节点之间创建关系

Creating a relationship between all nodes with a set property with Cypher

首先,我是 neo4j 和 cypher 的新手,如果这是一个愚蠢的问题,我深表歉意。现在我没有创建任何实际的数据库,我只是在沙盒中练习我想出的愚蠢的假设数据库,然后尝试制定查询。 我的问题如下:假设我有一个包含许多动物的数据库,每个动物都有 属性 "class"

MERGE (a:Animal {name: 'cat'})
ON CREATE SET a.class = 'mammal'
MERGE (a:Animal {name: 'lizard'})
ON CREATE SET a.class = 'reptile'
MERGE (a:Animal {name: 'ant'})
ON CREATE SET a.class = 'insect'

现在假设我想根据 class 知道这些动物中哪一种有四肢。有没有办法告诉我要添加的图表 属性

a.limbs = 4

所有已经有 属性“哺乳动物”和“爬行动物”的动物(假设蛇不存在),而不是单个节点?如果我能做到这一点,那么可以解释为“向我展示每只有四肢的动物”的查询会是什么?

非常感谢

当然可以:

MATCH (a:Animal)
WHERE a.class IN ["mammal","reptile"]
SET a.limbs=4

查询所有有4条肢体的动物:

MATCH (a:Animal {limbs:4}) 
RETURN a