Neo4j - Benzersiz Kısıtlama Oluştur

Neo4j veritabanında, CQL CREATE komutu her zaman yeni bir düğüm veya ilişki oluşturur, yani aynı değerleri kullansanız bile yeni bir satır ekler. Bazı düğümler veya ilişkiler için uygulama gereksinimlerimize göre, bu yinelemeden kaçınmalıyız. Bunun için, bir düğümün veya ilişkinin bir veya daha fazla özelliği üzerinde kural oluşturmak için bazı veritabanı kısıtlamaları kullanmalıyız.

SQL gibi, Neo4j veritabanı da düğüm veya ilişki özelliklerinde EŞSİZ kısıtlamayı destekler. UNIQUE kısıtlaması, yinelenen kayıtlardan kaçınmak ve veri bütünlüğü kuralını uygulamak için kullanılır.

BENZERSİZ Kısıtlama Oluşturun

Neo4j CQL, düğüm veya ilişki özelliklerinde benzersiz kısıtlamalar oluşturmak için "CREATE CONSTRAINT" komutu sağlar.

Sözdizimi

Aşağıda Neo4j'de bir EŞSİZ kısıtlama oluşturmak için sözdizimi verilmiştir.

MATCH (root {name: "Dhawan"}) 
CREATE UNIQUE (root)-[:LOVES]-(someone) 
RETURN someone

Misal

Örneğe geçmeden önce, aşağıda gösterildiği gibi 4 düğüm oluşturun.

CREATE(Dhawan:player{id:001, name: "shikar Dhawan", YOB: 1995, POB: "Delhi"}) 
CREATE(Jonathan:player {id:002, name: "Jonathan Trott", YOB: 1981, POB: "CapeTown"}) 
CREATE(Sangakkara:player {id:003, name: "Kumar Sangakkara", YOB: 1977, POB: "Matale"}) 
CREATE(Rohit:player {id:004, name: "Rohit Sharma", YOB: 1987, POB: "Nagpur"}) 
CREATE(Virat:player {id:005, name: "Virat Kohli", YOB: 1988, POB: "Delhi"})

Aşağıda, Neo4j kullanarak mülk kimliği üzerinde EŞSİZ bir kısıtlama oluşturmak için örnek bir Cypher Sorgusu verilmiştir.

CREATE CONSTRAINT ON (n:player) ASSERT n.id IS UNIQUE

Yukarıdaki sorguyu yürütmek için aşağıdaki adımları uygulayın -

Step 1- Neo4j masaüstü Uygulamasını açın ve Neo4j Sunucusunu başlatın. URL'yi kullanarak Neo4j'nin yerleşik tarayıcı uygulamasını açınhttp://localhost:7474/ aşağıdaki ekran görüntüsünde gösterildiği gibi.

Step 2 - Dolar istemine istenen sorguyu kopyalayıp yapıştırın ve aşağıdaki ekran görüntüsünde vurgulanan oynat düğmesine (sorguyu yürütmek için) basın.

Sonuç

Çalıştırma sırasında aşağıdaki sonucu alacaksınız.

Doğrulama

Şimdi, yedek kimlik değerine sahip başka bir düğüm eklemeyi deneyin. Burada id ile bir düğüm oluşturmaya çalışıyoruz002.

CREATE (Jadeja:player {id:002, name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})

Bu sorguyu yürütürseniz, aşağıdaki ekran görüntüsünde gösterildiği gibi bir hata mesajı alırsınız.