Neo4j - Madde Nerede
SQL gibi Neo4j CQL, bir MATCH Sorgusunun sonuçlarını filtrelemek için CQL MATCH komutunda WHERE yan tümcesi sağlamıştır.
Sözdizimi
WHERE cümlesinin sözdizimi aşağıdadır.
MATCH (label)
WHERE label.country = "property"
RETURN label
Misal
Örneğe geçmeden önce, aşağıda gösterildiği gibi veritabanında beş düğüm oluşturun.
CREATE(Dhawan:player{name:"shikar Dhawan", YOB: 1985, runs:363, country: "India"}
CREATE(Jonathan:player{name:"Jonathan Trott", YOB:1981, runs:229, country:"South Africa"}
CREATE(Sangakkara:player{name:"Kumar Sangakkara", YOB:1977, runs:222,
country:"Srilanka"})
CREATE(Rohit:player{name:"Rohit Sharma", YOB: 1987, runs:177, country:"India"})
CREATE(Virat:player{name:"Virat Kohli", YOB: 1988, runs:176, country:"India"})
CREATE(Ind:Country {name: "India", result: "Winners"})
Aşağıda, WHERE cümlesini kullanarak Hindistan ülkesine ait tüm oyuncuları (düğümleri) döndüren örnek bir Cypher Sorgusu verilmiştir.
MATCH (player)
WHERE player.country = "India"
RETURN player
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.
Birden Çok Koşul İçeren NEREDE Maddesi
Birden çok koşulu doğrulamak için WHERE yan tümcesini de kullanabilirsiniz.
Sözdizimi
Aşağıda, Neo4j'de birden çok koşulla WHERE yan tümcesini kullanmak için sözdizimi verilmiştir.
MATCH (emp:Employee)
WHERE emp.name = 'Abc' AND emp.name = 'Xyz'
RETURN emp
Misal
Aşağıda, iki koşul kullanarak Neo4j veritabanındaki düğümleri filtreleyen örnek bir Cypher Sorgusu yer almaktadır.
MATCH (player)
WHERE player.country = "India" AND player.runs >=175
RETURN player
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.
Where Clause ile İlişkiyi Kullanma
İlişkileri kullanarak düğümleri filtrelemek için Where cümlesini de kullanabilirsiniz.
Misal
Veritabanında aşağıdaki grafiğin olduğunu varsayalım.
Aşağıda, aşağıda gösterildiği gibi WHERE cümlesini kullanarak Hindistan'ın en iyi skorunu almak için örnek bir Cypher Sorgusu yer almaktadır.
MATCH (n)
WHERE (n)-[: TOP_SCORER_OF]->( {name: "India", result: "Winners"})
RETURN n
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. Burada Neo4j'nin, TOP_SCORER_OF ilişkisine sahip olan düğümü Hindistan adındaki düğüme sahip ülkeyle döndürdüğünü görebilirsiniz.