Operasi relationship dengan Cypher

Artikel sebelumya telah membahas bagaimana CRUD dengan Cypher dilakukan. Namun demikian, graph database tidak cukup hanya membuat node, perlu dibuat relationship antar node karena ini adalah kelebihan dari graph database. Catatan selanjutnya adalah mengenai bagaimana membuat relationship atau hubungan antar node.

Anggaplah ada 2 node data ‘orang’ dengan nama Panji dan Arfan, yang dibuat dengan 2 cypher query berikut :

CREATE (orang:Orang{nama:"Panji"})
CREATE (orang:Orang{nama:"Arfan"})

Untuk membuat relationship, diperlukan ‘penemuan’ node terlebih dahulu, kemudian setelah ditemukan baru dibuat relationship yang diinginkan. Sebagai contoh, untuk kasus diatas, Arfan memiliki hubungan KENAL. Cypher query yang digunakan adalah berikut :

MATCH (orang1:Orang) WHERE orang1.nama="Arfan" 
MATCH (orang2:Orang) WHERE orang2.nama="Panji" 
CREATE (orang1)-[rel:KENAL]->(orang2) 
RETURN orang1,rel,orang2

Hasil dari query di atas adalah :

Seperti halnya node, relationship dapat memiliki atribut. Sebagai contoh, pada kasus di atas relationship “KENAL” memiliki atribut “hubungan” dalam hal ini hubungan antara Arfan dengan Panji adalah ayah. Maka relationship dapat diupdate dengan cypher query sebagai berikut :

MATCH (orang1)-[r:KENAL]->(orang2) 
SET r.hubungan="ayah"

Untuk menguji apakah query tersebut berhasil, lakukan query berikut :

MATCH (orang1:Orang)-[r:KENAL]->(orang2:Orang) 
WHERE orang1.nama="Arfan" AND  orang2.nama="Panji" 
RETURN r.hubungan

Atribut-atribut lain dapat ditambahkan pada relationship (maupun node) dengan cara yang sama.

Seperti halnya node, relationship dapat dihapus (DELETE) menggunakan query berikut :

MATCH (panji:Orang {nama:"Panji"}) 
OPTIONAL MATCH (panji)-[r]-() 
DELETE r

Query di atas digunakan untuk menghapus relationship dari node “Panji”, dengan terlebih dahulu menemukan node, dan relasinya menggunakan OPTIONAL MATCH. OPTIONAL MATCH menghasilkan null value jika tidak menemukan relationship. Jika ada relationship ‘r’, maka relationship tersebut dihapus.

Semoga bermanfaat.

 

 

Leave a Reply

Your email address will not be published.