Genau wie beim Erstellen von Knoten in Neo4j können wir den CREATE
verwenden -Anweisung, um Beziehungen zwischen diesen Knoten zu erstellen.
Die Anweisung zum Erstellen einer Beziehung besteht aus CREATE
, gefolgt von den Details der Beziehung, die Sie erstellen.
Beispiel
Lassen Sie uns eine Beziehung zwischen einigen der Knoten erstellen, die wir zuvor erstellt haben. Lassen Sie uns zunächst eine Beziehung zwischen einem Künstler und einem Album herstellen.
Wir erstellen die folgende Beziehung:
Hier ist der Cypher CREATE
-Anweisung, um die obige Beziehung zu erstellen:
MATCH (a:Artist),(b:Album) WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing" CREATE (a)-[r:RELEASED]->(b) RETURN r
Erklärung des obigen Codes
Zuerst verwenden wir einen MATCH
-Anweisung, um die beiden Knoten zu finden, zwischen denen wir die Beziehung erstellen möchten.
Es könnte viele Knoten mit einem Künstler geben oder Album label, sodass wir es auf die Knoten eingrenzen, an denen wir interessiert sind. In diesem Fall verwenden wir einen Eigenschaftswert, um es nach unten zu filtern. Wir verwenden den Namen -Eigenschaft, die wir zuvor jedem Knoten zugewiesen hatten.
Dann gibt es das eigentliche CREATE
Erklärung. Das schafft die Beziehung. In diesem Fall referenziert es die beiden Knoten durch den Variablennamen (d. h. a
und b
), die wir ihnen in der ersten Zeile gegeben haben. Die Beziehung wird mithilfe eines ASCII-Code-Musters hergestellt, wobei ein Pfeil die Richtung der Beziehung anzeigt:(a)-[r:RELEASED]->(b)
.
Wir geben der Beziehung den Variablennamen r
und geben Sie der Beziehung den Typ RELEASED
(wie in "diese Band veröffentlicht dieses Album"). Der Beziehungstyp entspricht dem Label eines Knotens.
Weitere Beziehungen hinzufügen
Das obige Beispiel ist ein sehr einfaches Beispiel für eine Beziehung. Eines der Dinge, in denen Neo4j wirklich gut ist, ist der Umgang mit vielen miteinander verbundenen Beziehungen.
Lassen Sie uns auf der gerade hergestellten Beziehung aufbauen, damit wir sehen können, wie einfach es ist, weitere Knoten und Beziehungen zwischen ihnen zu erstellen. Also erstellen wir einen weiteren Knoten und fügen zwei weitere Beziehungen hinzu.
Am Ende erhalten wir das folgende Diagramm:
Diese Grafik zeigt, dass Devin Townsend in der Band spielt, auf dem von der Band veröffentlichten Album aufgetreten ist und das Album auch produziert hat.
Beginnen wir also damit, den Knoten für Devin Townsend zu erstellen:
CREATE (p:Person { Name: "Devin Townsend" })
Erstellen Sie nun die Beziehungen und geben Sie das Diagramm zurück:
MATCH (a:Artist),(b:Album),(p:Person) WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing" AND p.Name = "Devin Townsend" CREATE (p)-[pr:PRODUCED]->(b), (p)-[pf:PERFORMED_ON]->(b), (p)-[pl:PLAYS_IN]->(a) RETURN a,b,p
Sie sollten jetzt das Diagramm wie im vorherigen Screenshot sehen.