Pytam o bazę danych Neo4j, która przechowuje drabinki podłogowe. Przykładem zapytania jest:Ograniczająca liczba węzłów
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
Teraz to zwraca wszystkie wykresy, które mają subgraph odpowiadający ograniczeniom. Chciałbym w jakiś sposób ograniczyć liczbę węzłów, które ma wykres wyników, więc dla danego przykładu chciałbym uzyskać tylko wykresy, które mają dokładnie 3 węzły, wszystkie typu ROOM.
Czy istnieje sposób, aby to zrobić w Cypher?
Edit: Coś jak to nie działa:
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
spróbuj użyć semantycznie sensowne typy relacji w zapytaniu. –
Czy teraz jest w porządku? – Banana