gpt4 book ai didi

neo4j - 限制节点数

转载 作者:行者123 更新时间:2023-12-04 12:30:27 28 4
gpt4 key购买 nike

我正在查询一个存储建筑地板的 Neo4j 数据库。查询的一个例子是:

MATCH (s:STOREYVERTEX) <-- (room0: LIVING) 
MATCH (s) <-- (room1: DINING)
MATCH (s) <-- (room2: KITCHEN)
MATCH (room0) - [edge0: DOOR] -> (room2)
MATCH (room2) - [edge1: DOOR] -> (room1)
RETURN s

现在这将返回所有具有与约束对应的子图的图。我想以某种方式限制结果图具有的节点数,因此对于给定的示例,我只想获得恰好具有 3 个节点的图,所有节点都是 ROOM 类型。

有没有办法在 Cypher 中做到这一点?

编辑:
像这样的东西不起作用:
MATCH (s:STOREYVERTEX) <-- (rooms:ROOM) 
WITH s, count(distinct(rooms)) as numberOfRooms
WHERE numberOfRooms = 3
MATCH (s) <-- (room1: DINING)
MATCH (s) <-- (room2: KITCHEN)
MATCH (room0) - [edge0: DOOR] -> (room2)
MATCH (room2) - [edge1: DOOR] -> (room1)
RETURN s

最佳答案

是的,你可以这样做,就像这样:

MATCH (s:STOREYVERTEX) <-- (rooms:ROOM) 
WITH s, count(distinct(rooms)) as numberOfRooms
WHERE numberOfRooms = 3
RETURN s;

这只是检查连接到 STOREYVERTEX 的不同房间的数量。 ,并且只返回 s值为 3 的值。

您没有指定 DOOR内容与您的查询有关,但您应该能够从这里修改此查询以到达您想去的地方。

关于neo4j - 限制节点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31639245/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com