Tôi đang truy vấn cơ sở dữ liệu Neo4j lưu trữ xây dựng floorpans. Ví dụ về truy vấn là:Giới hạn số lượng nút
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
Bây giờ, điều này trả về tất cả các đồ thị có biểu đồ con tương ứng với các ràng buộc. Tôi muốn bằng cách nào đó giới hạn số lượng các nút mà đồ thị kết quả có, vì vậy cho ví dụ nhất định tôi muốn chỉ nhận được các đồ thị có chính xác 3 nút, tất cả các loại ROOM.
Có cách nào để thực hiện điều này trong Cypher không?
Edit: Something như thế này không hoạt động:
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
hãy cố gắng sử dụng ngữ nghĩa có ý nghĩa mối quan hệ-loại trong truy vấn của bạn. –
Bây giờ có ổn không? – Banana