Sama seperti membuat node di Neo4j, kita dapat menggunakan CREATE
pernyataan untuk membuat hubungan antara node tersebut.
Pernyataan untuk membuat hubungan terdiri dari CREATE
, diikuti dengan detail hubungan yang Anda buat.
Contoh
Mari kita buat hubungan antara beberapa node yang telah kita buat sebelumnya. Pertama, mari kita ciptakan hubungan antara artis dan album.
Kami akan membuat hubungan berikut:
Berikut Cypher CREATE
pernyataan untuk membuat hubungan di atas:
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
Penjelasan Kode Di Atas
Pertama, kami menggunakan MATCH
pernyataan untuk menemukan dua simpul yang ingin kita buat hubungannya.
Mungkin ada banyak node dengan Artis atau Album label jadi kami mempersempitnya menjadi hanya simpul yang kami minati. Dalam hal ini, kami menggunakan nilai properti untuk memfilternya. Kami menggunakan Nama properti yang sebelumnya telah kita tetapkan ke setiap node.
Lalu ada CREATE
actual yang sebenarnya penyataan. Inilah yang menciptakan hubungan. Dalam hal ini, ia mereferensikan dua node dengan nama variabel (yaitu a
dan b
) yang kami berikan kepada mereka di baris pertama. Hubungan dibuat dengan menggunakan pola kode ASCII, dengan panah yang menunjukkan arah hubungan:(a)-[r:RELEASED]->(b)
.
Kami memberikan hubungan nama variabel r
dan berikan hubungan jenis RELEASED
(seperti dalam "band ini dirilis album ini"). Jenis hubungan dianalogikan dengan label simpul.
Menambahkan Lebih Banyak Hubungan
Contoh di atas adalah contoh hubungan yang sangat sederhana. Salah satu keunggulan Neo4j adalah menangani banyak hubungan yang saling berhubungan.
Mari kita membangun hubungan yang baru saja kita bangun, sehingga kita dapat melihat betapa mudahnya untuk terus membuat lebih banyak simpul dan hubungan di antara mereka. Jadi kita akan membuat satu simpul lagi dan menambahkan dua hubungan lagi.
Kita akan berakhir dengan grafik berikut:
Grafik ini menunjukkan bahwa Devin Townsend bermain di band, tampil di album yang dirilis band, dan dia juga yang memproduseri album tersebut.
Jadi mari kita mulai dengan membuat simpul untuk Devin Townsend:
CREATE (p:Person { Name: "Devin Townsend" })
Sekarang buat hubungan dan kembalikan grafiknya:
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
Anda sekarang akan melihat grafik seperti pada tangkapan layar sebelumnya.