用Cypher创建具有set属性的所有节点之间的关系



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

现在假设我想知道这些动物中哪些是根据它们的类别有四肢的。有没有办法告诉图形我想添加属性

a.limbs = 4

所有已经具有"哺乳动物"属性的动物和";reptile"(让我们假设蛇不存在),而不是单个节点?如果我能做到这一点,那么这个可以解释为"给我看每一个有四肢的动物"的问题会是什么呢?是什么?

多谢

当然,你可以这样做:

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

查询所有四肢动物:

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

最新更新