Ich frage eine Neo4j-Datenbank ab, die Gebäude-Floorpans speichert. Ein Beispiel für eine Abfrage ist:Begrenzte Anzahl der Knoten
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
Nun ist diese alle Graphen zurückgibt, die einen Untergraphen entsprechend den Einschränkungen haben. Ich möchte irgendwie die Anzahl der Knoten begrenzen, die das Ergebnisdiagramm hat, also möchte ich für das gegebene Beispiel nur die Graphen erhalten, die genau 3 Knoten haben, alle vom Typ ROOM.
Gibt es eine Möglichkeit, dies in Cypher zu tun?
Edit: So etwas funktioniert nicht:
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
bitte semantisch sinnvolle Beziehung-Typen in Ihrer Abfrage zu verwenden versuchen. –
Ist es jetzt in Ordnung? – Banana