使用 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
首先,我是 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