Neo4j - Hızlı Kılavuz

Neo4j, Java teknolojisi kullanılarak geliştirilen dünyanın önde gelen açık kaynaklı Grafik Veritabanıdır. Oldukça ölçeklenebilir ve şema içermez (NoSQL).

Grafik Veritabanı nedir?

Grafik, bazı nesne çiftlerinin bağlantılarla birbirine bağlandığı bir dizi nesnenin resimli bir temsilidir. İki öğeden oluşur - düğümler (köşeler) ve ilişkiler (kenarlar).

Grafik veritabanı, verileri grafik biçiminde modellemek için kullanılan bir veritabanıdır. Burada, bir grafiğin düğümleri varlıkları gösterirken, ilişkiler bu düğümlerin ilişkisini gösterir.

Popüler Grafik Veritabanları

Neo4j, popüler bir Grafik Veritabanıdır. Diğer Grafik Veritabanları Oracle NoSQL Veritabanı, OrientDB, HypherGraphDB, GraphBase, InfiniteGraph ve AllegroGraph'tır.

Neden Grafik Veritabanları?

Günümüzde verilerin çoğu, farklı nesneler arasındaki ilişki biçiminde mevcuttur ve çoğu zaman veriler arasındaki ilişki, verilerin kendisinden daha değerlidir.

İlişkisel veritabanları, yapılandırılmış verileri depolamak için kullanılabilmeleri için aynı tür verileri depolayan çeşitli kayıtlara sahip yüksek düzeyde yapılandırılmış verileri depolar ve veriler arasındaki ilişkileri depolamazlar.

Diğer veritabanlarından farklı olarak, grafik veritabanları ilişkileri ve bağlantıları birinci sınıf varlıklar olarak depolar.

Grafik veritabanları için veri modeli, diğer veritabanlarına kıyasla daha basittir ve OLTP sistemleri ile kullanılabilirler. İşlem bütünlüğü ve operasyonel kullanılabilirlik gibi özellikler sağlarlar.

RDBMS Vs Grafik Veritabanı

İlişkisel veritabanları ile Grafik veritabanlarını karşılaştıran tablo aşağıdadır.

Sr.No RDBMS Grafik Veritabanı
1 Tablolar Grafikler
2 Satırlar Düğümler
3 Sütunlar ve Veriler Özellikleri ve değerleri
4 Kısıtlamalar İlişkiler
5 Katılır Geçiş

Neo4j'nin Avantajları

Aşağıda Neo4j'nin avantajları verilmiştir.

  • Flexible data model - Neo4j, uygulamalara ve endüstrilere göre kolayca değiştirilebilen esnek, basit ama güçlü bir veri modeli sağlar.

  • Real-time insights - Neo4j, gerçek zamanlı verilere dayalı sonuçlar sağlar.

  • High availability - Neo4j, işlem garantili büyük kurumsal gerçek zamanlı uygulamalar için yüksek oranda kullanılabilir.

  • Connected and semi structures data - Neo4j kullanarak, bağlı ve yarı yapılandırılmış verileri kolayca temsil edebilirsiniz.

  • Easy retrieval - Neo4j kullanarak, bağlı verileri diğer veritabanlarına kıyasla daha hızlı temsil etmekle kalmaz, aynı zamanda kolayca geri alabilirsiniz (çapraz / gezinme).

  • Cypher query language- Neo4j, ascii-art sözdizimi kullanarak grafiği görsel olarak temsil etmek için bildirim temelli bir sorgu dili sağlar. Bu dilin komutları okunabilir formattadır ve öğrenmesi çok kolaydır.

  • No joins - Neo4j kullanıldığında, bitişik düğüm veya ilişki ayrıntılarını birleştirmeler veya dizinler olmadan almak çok kolay olduğundan, bağlı / ilgili verileri almak için karmaşık birleştirmeler gerektirmez.

Neo4j'nin Özellikleri

Aşağıda Neo4j'nin dikkate değer özellikleri verilmiştir -

  • Data model (flexible schema)- Neo4j, yerel özellik grafik modeli adlı bir veri modelini takip eder. Burada grafik, düğümleri (varlıkları) içerir ve bu düğümler birbirine bağlıdır (ilişkilerle gösterilir). Düğümler ve ilişkiler, verileri özellikler olarak bilinen anahtar / değer çiftlerinde depolar.

    Neo4j'de sabit bir şemayı takip etmeye gerek yoktur. Gereksinime göre özellikler ekleyebilir veya kaldırabilirsiniz. Ayrıca şema kısıtlamaları da sağlar.

  • ACID properties - Neo4j, tam ACID (Atomiklik, Tutarlılık, İzolasyon ve Dayanıklılık) kurallarını destekler.

  • Scalability and reliability- Sorgu işleme hızını ve veri bütünlüğünü etkilemeden okuma / yazma sayısını ve hacmi artırarak veritabanını ölçeklendirebilirsiniz. Neo4j ayrıcareplication veri güvenliği ve güvenilirliği için.

  • Cypher Query Language- Neo4j, Cypher olarak bilinen güçlü bir bildirime dayalı sorgu dili sağlar. Grafikleri tasvir etmek için ASCII-art kullanır. Cypher'ın öğrenilmesi kolaydır ve Joins gibi karmaşık sorguları kullanmadan veriler arasında ilişkiler oluşturmak ve almak için kullanılabilir.

  • Built-in web application - Neo4j yerleşik bir Neo4j Browserweb uygulaması. Bunu kullanarak grafik verilerinizi oluşturabilir ve sorgulayabilirsiniz.

  • Drivers - Neo4j ile çalışabilir -

    • Java, Spring, Scala vb. Programlama dilleriyle çalışmak için REST API

    • Node JS gibi UI MVC çerçeveleriyle çalışmak için Java Script.

    • Java uygulamaları geliştirmek için iki tür Java API'yi destekler: Cypher API ve Native Java API. Bunlara ek olarak MongoDB, Cassandra vb. Diğer veri tabanlarıyla da çalışabilirsiniz.

  • Indexing - Neo4j, Apache Lucence kullanarak Dizinleri destekler.

Neo4j Özellik Grafiği Veri Modeli

Neo4j Grafik Veritabanı, verilerini depolamak ve yönetmek için Özellik Grafik Modelini takip eder.

Mülk Grafik Modelinin temel özellikleri aşağıdadır -

  • Model Düğümler, İlişkiler ve Özelliklerdeki verileri temsil eder

  • Özellikler, anahtar / değer çiftleridir

  • Düğümler daire kullanılarak temsil edilir ve İlişkiler ok tuşları kullanılarak gösterilir

  • İlişkilerin yönleri vardır: Tek Yönlü ve Çift Yönlü

  • Her İlişki "Başlangıç ​​Düğümü" veya "Düğümden" ve "Düğüme" veya "Bitiş Düğümü" içerir

  • Hem Düğümler hem de İlişkiler özellikler içerir

  • İlişkiler düğümleri birbirine bağlar

Özellik Grafiği Veri Modelinde ilişkiler yönlü olmalıdır. Yönsüz ilişkiler kurmaya çalışırsak, o zaman bir hata mesajı verir.

Neo4j'de de ilişkiler yönlü olmalıdır. Yönsüz ilişkiler kurmaya çalışırsak, Neo4j "İlişkiler yönlü olmalıdır" diyen bir hata mesajı atacaktır.

Neo4j Grafik Veritabanı, tüm verilerini Düğümler ve İlişkilerde depolar. Neo4j veritabanı verilerini depolamak için ek RRBMS Veritabanına veya herhangi bir SQL veritabanına ihtiyacımız yoktur. Verilerini Grafikler cinsinden kendi yerel formatında saklar.

Neo4j, Yerel grafik depolama formatıyla çalışmak için Yerel GPE'yi (Grafik İşleme Motoru) kullanır.

Graph DB Veri Modelinin ana yapı taşları şunlardır:

  • Nodes
  • Relationships
  • Properties

Aşağıda, Özellik Grafiğinin basit bir örneği verilmiştir.

Burada Düğümleri Çevreleri kullanarak temsil ettik. İlişkiler Oklar kullanılarak temsil edilir. İlişkiler yönlüdür. Düğümün verilerini Özellikler (anahtar-değer çiftleri) cinsinden temsil edebiliriz. Bu örnekte, Düğümün Çemberi içindeki her bir Düğümün Kimlik özelliğini temsil ettik.

Bu bölümde, Neo4j'yi exe dosyası kullanarak sisteminize nasıl kuracağınızı tartışacağız.

Windows exe Dosyası ile Neo4j Veritabanı Sunucusu Kurulumu

Neo4j'yi sisteminize indirmek için aşağıdaki adımları izleyin.

Step 1 - Neo4j resmi sitesini kullanarak https://neo4j.com/. Tıkladığınızda, bu bağlantı sizi neo4j web sitesinin ana sayfasına götürecektir.

Step 2- Yukarıdaki ekran görüntüsünde vurgulandığı gibi, bu sayfanın sağ üst tarafında bir İndir düğmesi vardır. Tıkla.

Step 3- Bu sizi, topluluk sürümünü ve Neo4j'nin kurumsal sürümünü indirebileceğiniz indirme sayfasına yönlendirecektir. İlgili düğmeye tıklayarak yazılımın topluluk sürümünü indirin.

Step 4- Bu sizi Neo4j yazılımının farklı işletim sistemleriyle uyumlu topluluk sürümünü indirebileceğiniz sayfaya götürecektir. İstenilen işletim sistemine ait dosyayı indirin.

Bu, adlı bir dosyayı indirecek neo4j-community_windows-x64_3_1_1.exe aşağıdaki ekran görüntüsünde gösterildiği gibi sisteminize.

Step 5 - Neo4j Sunucusunu kurmak için exe dosyasına çift tıklayın.

Step 6- Lisans sözleşmesini kabul edin ve kuruluma devam edin. İşlem tamamlandıktan sonra Neo4j'nin sisteminize kurulu olduğunu görebilirsiniz.

Sunucuyu Başlatma

Step 1 - Windows başlat menüsüne tıklayın ve Neo4j için başlat menüsü kısayoluna tıklayarak Neo4j sunucusunu başlatın.

Step 2- Kısayolu tıkladığınızda, Neo4j Community sürümü için bir pencere açılır. Varsayılan olarak c: \ Kullanıcılar \ [kullanıcı adı] \ Belgeler \ Neo4j \ default.graphdb'yi seçer. İsterseniz, yolunuzu farklı bir dizine değiştirebilirsiniz.

Step 3 - Neo4j sunucusunu başlatmak için "Başlat" düğmesine tıklayın.

Sunucu başladığında, veritabanı dizininin aşağıdaki ekran görüntüsünde gösterildiği gibi doldurulduğunu gözlemleyebilirsiniz.

Neo4j ile çalışmak

Önceki bölümlerde tartışıldığı gibi neo4j, Neo4j ile çalışmak için yerleşik bir gözatma uygulaması sağlar. Neo4j'ye URL'yi kullanarak erişebilirsinizhttp://localhost:7474/

Neo4j Grafik Veritabanı aşağıdaki yapı taşlarına sahiptir -

  • Nodes
  • Properties
  • Relationships
  • Labels
  • Veri Tarayıcı

Düğüm

Düğüm, bir Grafiğin temel bir birimidir. Aşağıdaki görüntüde gösterildiği gibi anahtar / değer çiftlerine sahip özellikler içerir.

Burada Düğüm Adı = "Çalışan" ve anahtar-değer çiftleri olarak bir dizi özellik içerir.

Özellikleri

Özellik, Grafik Düğümlerini ve İlişkileri açıklayan bir anahtar / değer çiftidir.

Key = Value

Anahtar bir Dizedir ve Değer, herhangi bir Neo4j Veri türü kullanılarak temsil edilebilir.

İlişkiler

İlişkiler, Grafik Veritabanının diğer bir önemli yapı taşıdır. Aşağıdaki şekilde gösterildiği gibi iki düğümü birbirine bağlar.

Burada Emp ve Dept iki farklı düğümdür. "WORKS_FOR", Emp ve Dept düğümleri arasındaki bir ilişkidir.

Emp'den Dept'e kadar olan ok işaretinden de anlaşılacağı gibi, bu ilişki -

Emp WORKS_FOR Dept

Her ilişki bir başlangıç ​​düğümü ve bir bitiş düğümü içerir.

Burada, "Emp" bir başlangıç ​​düğümü ve "Dept" bir bitiş düğümüdür.

Bu ilişki oku işareti "Emp" düğümünden "Dept" düğümüne bir ilişkiyi temsil ettiğinden, bu ilişki "Gelen İlişki" ile "Bölüm" Düğümü ve "Giden İlişki" ile "Emp" düğümüne bir ilişki olarak bilinir.

Düğümler gibi ilişkiler de anahtar-değer çiftleri olarak özellikler içerebilir.

Burada, "WORKS_FOR" ilişkisinin anahtar-değer çifti olarak bir özelliği vardır.

Id = 123

Bu ilişkinin bir kimliğini temsil eder.

Etiketler

Etiket, ortak bir adı bir dizi düğüm veya ilişkiyle ilişkilendirir. Bir düğüm veya ilişki bir veya daha fazla etiket içerebilir. Mevcut düğümler veya ilişkiler için yeni etiketler oluşturabiliriz. Mevcut etiketleri mevcut düğümlerden veya ilişkilerden kaldırabiliriz.

Önceki diyagramdan iki düğüm olduğunu görebiliriz.

Sol taraftaki düğümün Etiketi: "Emp" ve sağ taraftaki düğümün Etiketi: "Dept".

Bu iki düğüm arasındaki ilişkinin de bir Etiketi vardır: "WORKS_FOR".

Note - Neo4j, verileri Düğümlerin veya İlişkilerin Özellikleri'nde depolar.

Neo4j Veri Tarayıcısı

Neo4j'i kurduktan sonra, aşağıdaki URL'yi kullanarak Neo4j Veri Tarayıcısına erişebiliriz

http://localhost:7474/browser/

Neo4j Data Browser, CQL komutlarını yürütmek ve çıktıyı görüntülemek için kullanılır.

Burada, tüm CQL komutlarını dolar isteminde yürütmemiz gerekiyor: "$"

Dolar sembolünden sonra komutları yazın ve komutlarınızı çalıştırmak için "Yürüt" düğmesini tıklayın.

Neo4j Veritabanı Sunucusu ile etkileşime girer, sonuçları alır ve dolar isteminin hemen altında görüntüler.

Sonuçları diyagram formatında görüntülemek için "VI Görüntüle" düğmesini kullanın. Yukarıdaki diyagram, sonuçları "UI Görünümü" formatında gösterir.

Sonuçları Izgara Görünümünde görüntülemek için "Izgara Görünümü" düğmesini kullanın. Aşağıdaki diyagram, "Izgara Görünümü" formatında aynı sonuçları göstermektedir.

Sorgu sonuçlarımızı görüntülemek için "Izgara Görünümü" kullandığımızda, bunları iki farklı formatta bir dosyaya aktarabiliriz.

CSV

Sonuçları csv dosyası biçiminde dışa aktarmak için "CSV'yi Dışa Aktar" düğmesini tıklayın.

JSON

Sonuçları JSON dosya biçiminde dışa aktarmak için "JSON Dışa Aktar" düğmesini tıklayın.

Ancak, Sorgu sonuçlarımızı görmek için "UI Görünümü" kullanırsak, bunları yalnızca tek bir biçimde bir dosyaya aktarabiliriz: JSON

CQL, Cypher Query Language anlamına gelir. Oracle Database'in SQL sorgu dili gibi, Neo4j de sorgu dili olarak CQL'e sahiptir.

Neo4j CQL

  • Neo4j Grafik Veritabanı için bir sorgu dilidir.
  • Bildirim temelli bir kalıp eşleştirme dilidir.
  • SQL benzeri sözdizimini takip eder.
  • Sözdizimi çok basittir ve okunabilir biçimdedir.

Oracle SQL gibi

  • Neo4j CQL, Veritabanı işlemlerini gerçekleştirmek için komutlara sahiptir.

  • Neo4j CQL, çok karmaşık sorguları kolay bir şekilde yazmak için WHERE, ORDER BY, vb. Gibi birçok cümleyi destekler.

  • Neo4j CQL, String, Aggregation gibi bazı işlevleri destekler. Bunlara ek olarak, bazı İlişki İşlevlerini de destekler.

Neo4j CQL Maddeleri

Aşağıda Neo4j'nin okuma maddeleri verilmiştir Cypher Query Language -

Sr.No Maddeleri Okuyun Kullanım
1 EŞLEŞME Bu madde, verileri belirli bir modelle aramak için kullanılır.
2 İSTEĞE BAĞLI MAÇ Bu, eşleşmeyle aynıdır, tek fark, modelin eksik kısımları olması durumunda boş değerleri kullanabilmesidir.
3 NEREDE Bu madde kimliği, CQL sorgularına içerik eklemek için kullanılır.
4 BAŞLAT Bu madde, eski dizinler aracılığıyla başlangıç ​​noktalarını bulmak için kullanılır.
5 CSV YÜKLE Bu madde, CSV dosyalarından verileri içeri aktarmak için kullanılır.

Aşağıda Neo4j'nin yazma maddeleri verilmiştir Cypher Query Language -

Sr.No Fıkra Yaz Kullanım
1 OLUŞTURMAK Bu madde, düğümler, ilişkiler ve özellikler oluşturmak için kullanılır.
2 BİRLEŞTİRMEK Bu madde, belirtilen modelin grafikte mevcut olup olmadığını doğrular. Değilse, deseni yaratır.
3 AYARLAMAK Bu madde, düğümlerdeki etiketleri, düğümlerdeki özellikleri ve ilişkileri güncellemek için kullanılır.
4 SİL Bu madde, grafikten düğümleri ve ilişkileri veya yolları vb. Silmek için kullanılır.
5 KALDIRMAK Bu madde, özellikleri ve öğeleri düğümlerden ve ilişkilerden kaldırmak için kullanılır.
6 HER BİRİ İÇİN Bu sınıf, bir listedeki verileri güncellemek için kullanılır.
7 EŞSİZ OLUŞTUR CREATE ve MATCH maddelerini kullanarak, mevcut kalıbı eşleştirerek ve eksik olanı oluşturarak benzersiz bir model elde edebilirsiniz.
8 CSV dosyalarını Cypher ile içe aktarma CSV Yükle'yi kullanarak .csv dosyalarından verileri içe aktarabilirsiniz.

Neo4j'nin genel maddeleri aşağıdadır Cypher Query Language -

Sr.No Genel Hükümler Kullanım
1 DÖNÜŞ Bu madde, sorgu sonuç kümesine neyin dahil edileceğini tanımlamak için kullanılır.
2 TARAFINDAN SİPARİŞ Bu madde, bir sorgunun çıktısını sırayla düzenlemek için kullanılır. Cümlelerle birlikte kullanılırRETURN veya WITH.
3 SINIR Bu madde, sonuçtaki satırları belirli bir değerle sınırlamak için kullanılır.
4 ATLA Bu cümle, çıktıdaki satırları dahil ederek hangi satırdan başlayacağını tanımlamak için kullanılır.
5 İLE Bu madde, sorgu parçalarını birbirine zincirlemek için kullanılır.
6 RÜZGR Bu madde, bir listeyi bir dizi satıra genişletmek için kullanılır.
7 BİRLİK Bu madde, birden çok sorgunun sonucunu birleştirmek için kullanılır.
8 ARAMAK Bu madde, veritabanında konuşlandırılan bir yordamı çağırmak için kullanılır.

Neo4j CQL İşlevleri

Aşağıda sık kullanılan Neo4j CQL İşlevleri verilmiştir -

Sr.No CQL Fonksiyonları Kullanım
1 Dize String değişmezleriyle çalışmak için kullanılırlar.
2 Toplama CQL Sorgusu sonuçlarında bazı toplama işlemlerini gerçekleştirmek için kullanılırlar.
3 İlişki Başlangıç ​​düğümü, bitiş düğümü vb. İlişkilerin ayrıntılarını almak için kullanılırlar.

Tüm Neo4j CQL komutlarını, cümleciklerini ve fonksiyon sözdizimini, kullanımı ve örnekleri sonraki bölümlerde ayrıntılı olarak tartışacağız.

Neo4j CQL Veri Türleri

Bu veri türleri Java diline benzer. Bir düğümün veya bir ilişkinin özelliklerini tanımlamak için kullanılırlar.

Neo4j CQL aşağıdaki veri türlerini destekler -

Sr.No CQL Veri Türü Kullanım
1 Boole Boole değişmezlerini temsil etmek için kullanılır: true, false.
2 bayt 8 bitlik tam sayıları temsil etmek için kullanılır.
3 kısa 16 bitlik tam sayıları temsil etmek için kullanılır.
4 int 32 bitlik tam sayıları temsil etmek için kullanılır.
5 uzun 64 bitlik tam sayıları temsil etmek için kullanılır.
6 yüzen 32 bitlik kayan noktalı sayıları temsil etmek için kullanılır.
7 çift 64 bitlik kayan noktalı sayıları temsil etmek için kullanılır.
8 kömür 16 bitlik karakterleri temsil etmek için kullanılır.
9 Dize Dizeleri temsil etmek için kullanılır.

CQL Operatörleri

Aşağıda Neo4j Cypher Query dili tarafından desteklenen operatörlerin listesi bulunmaktadır.

Sr.No Tür Operatörler
1 Matematiksel +, -, *, /,%, ^
2 Karşılaştırma +, <>, <,>, <=,> =
3 Boole AND, OR, XOR, NOT
4 Dize +
5 Liste +, İÇİNDE, [X], [X… ..Y]
6 Düzenli ifade = -
7 Dize eşleme KISITLAMALARLA BAŞLAR, BİTİR

Neo4j CQL'de Boole Operatörleri

Neo4j, çoklu koşulları desteklemek için Neo4j CQL WHERE yan tümcesinde kullanılacak aşağıdaki Boole operatörlerini destekler.

Sr.No Boole Operatörleri Açıklama
1 VE AND işlemini desteklemek için bir Neo4j CQL anahtar kelimesidir. SQL AND operatörü gibidir.
2 VEYA OR işlemini desteklemek için bir Neo4j CQL anahtar kelimesidir. SQL AND operatörü gibidir.
3 DEĞİL NOT işlemini desteklemek için bir Neo4j CQL anahtar kelimesidir. SQL AND operatörü gibidir.
4 ÖZELVEYA XOR işlemini desteklemek için bir Neo4j CQL anahtar kelimesidir. SQL AND operatörü gibidir.

Neo4j CQL'de Karşılaştırma Operatörleri

Neo4j, koşulları desteklemek için Neo4j CQL WHERE yan tümcesinde kullanılmak üzere aşağıdaki Karşılaştırma operatörlerini destekler.

Sr.No Boole Operatörleri Açıklama
1 = Bir Neo4j CQL "Eşittir" operatörüdür.
2 <> Bu bir Neo4j CQL "Eşit Değildir" operatörüdür.
3 < Bu bir Neo4j CQL "Less Than" operatörüdür.
4 > Bu bir Neo4j CQL "Büyüktür" operatörüdür.
5 <= Bu bir Neo4j CQL "Küçük veya Eşittir" operatörüdür.
6 > = Bu bir Neo4j CQL "Büyük veya Eşittir" operatörüdür.

Tartışıldığı gibi, bir düğüm bir grafik veri tabanındaki bir veri / kayıttır. Neo4j'de bir düğüm oluşturabilirsiniz.CREATEfıkra. Bu bölüm size nasıl yapılacağını öğretir -

  • Tek bir düğüm oluşturun
  • Birden çok düğüm oluşturun
  • Etiketli bir düğüm oluşturun
  • Birden çok etikete sahip bir düğüm oluşturun
  • Özelliklere sahip bir düğüm oluşturun
  • Oluşturulan düğümü döndürmek

Tek bir düğüm oluşturma

Neo4j'de, CREATE yan tümcesi ile birlikte oluşturulacak düğümün adını belirterek bir düğüm oluşturabilirsiniz.

Sözdizimi

Aşağıda, Cypher Query Language kullanarak bir düğüm oluşturmak için sözdizimi verilmiştir.

CREATE (node_name);

Note - Noktalı virgül (;) isteğe bağlıdır.

Misal

Aşağıda, Neo4j'de bir düğüm oluşturan örnek bir Cypher Query verilmiştir.

CREATE (sample)

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 aşağıdaki ekran görüntüsünde gösterildiği gibi Neo4j Sunucusunu başlatın.

Step 2 - Tarayıcınızı açın, aşağıdaki URL'yi kopyalayıp adres çubuğunuza yapıştırın http://localhost:7474/. Bu size Neo4j'nin yerleşik tarayıcı uygulamasını aşağıdaki ekran görüntüsünde gösterildiği gibi bir dolar istemiyle verecektir.

Step 3 - İstediğiniz sorguyu dolar istemine 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

Düğüm türünün oluşturulmasını doğrulamak için, dolar isteminde aşağıdaki sorguyu yürütün.

MATCH (n) RETURN n

Bu sorgu, veritabanındaki tüm düğümleri döndürür (bu sorguyu ilerleyen bölümlerde ayrıntılı olarak tartışacağız).

Yürütüldüğünde, bu sorgu oluşturulan düğümü aşağıdaki ekran görüntüsünde gösterildiği gibi gösterir.

Birden Fazla Düğüm Oluşturma

Neo4j CQL'in create cümlesi aynı anda birden fazla düğüm oluşturmak için de kullanılır. Bunu yapmak için, oluşturulacak düğümlerin adlarını virgülle ayırarak iletmeniz gerekir.

Sözdizimi

Aşağıda, CREATE yan tümcesini kullanarak birden çok düğüm oluşturmak için sözdizimi verilmiştir.

CREATE (node1),(node2)

Misal

Aşağıda, Neo4j'de birden çok düğüm oluşturan örnek bir Cypher Sorgusu yer almaktadır.

CREATE (sample1),(sample2)

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 - İstediğiniz sorguyu dolar istemine 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

Düğümün oluşturulduğunu doğrulamak için, dolar komut istemine aşağıdaki sorguyu yazın ve yürütün.

MATCH (n) RETURN n

Bu sorgu, veritabanındaki tüm düğümleri döndürür (bu sorguyu ilerleyen bölümlerde ayrıntılı olarak tartışacağız).

Yürütüldüğünde, bu sorgu oluşturulan düğümü aşağıdaki ekran görüntüsünde gösterildiği gibi gösterir.

Etiketli Bir Düğüm Oluşturma

Neo4j'de bir etiket, düğümleri etiketler kullanarak gruplamak (sınıflandırmak) için kullanılır. Neo4j'de CREATE yan tümcesini kullanarak bir düğüm için bir etiket oluşturabilirsiniz.

Sözdizimi

Cypher Query Language kullanarak etiketli bir düğüm oluşturmak için sözdizimi aşağıdadır.

CREATE (node:label)

Misal

Aşağıda, etiketli bir düğüm oluşturan örnek bir Cypher Sorgusu yer almaktadır.

CREATE (Dhawan: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 - İstediğiniz sorguyu dolar istemine 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

Düğümün oluşturulduğunu doğrulamak için, dolar komut istemine aşağıdaki sorguyu yazın ve yürütün.

MATCH (n) RETURN n

Bu sorgu, veritabanındaki tüm düğümleri döndürür (bu sorguyu ilerleyen bölümlerde ayrıntılı olarak tartışacağız).

Yürütüldüğünde, bu sorgu oluşturulan düğümü aşağıdaki ekran görüntüsünde gösterildiği gibi gösterir.

Birden Çok Etiketli Düğüm Oluşturma

Ayrıca tek bir düğüm için birden çok etiket oluşturabilirsiniz. Düğüm için etiketleri iki nokta üst üste ":" ile ayırarak belirtmeniz gerekir.

Sözdizimi

Aşağıda, birden çok etikete sahip bir düğüm oluşturmak için sözdizimi verilmiştir.

CREATE (node:label1:label2:. . . . labeln)

Misal

Aşağıda, Neo4j'de birden çok etikete sahip bir düğüm oluşturan örnek bir Cypher Sorgusu yer almaktadır.

CREATE (Dhawan:person: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 - İstediğiniz sorguyu dolar istemine 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

Düğümün oluşturulduğunu doğrulamak için, dolar komut istemine aşağıdaki sorguyu yazın ve yürütün.

MATCH (n) RETURN n

Bu sorgu, veritabanındaki tüm düğümleri döndürür (bu sorguyu ilerleyen bölümlerde ayrıntılı olarak tartışacağız).

Yürütüldüğünde, bu sorgu oluşturulan düğümü aşağıdaki ekran görüntüsünde gösterildiği gibi gösterir.

Özelliklerle Düğüm Oluşturun

Özellikler, bir düğümün verileri depoladığı anahtar / değer çiftleridir. CREATE yan tümcesini kullanarak özelliklere sahip bir düğüm oluşturabilirsiniz. Bu özellikleri, çiçek ayraçları "{}" içinde virgülle ayırarak belirtmeniz gerekir.

Sözdizimi

Aşağıda, özelliklere sahip bir düğüm oluşturmak için sözdizimi verilmiştir.

CREATE (node:label { key1: value, key2: value, . . . . . . . . .  })

Misal

Aşağıda, özelliklere sahip bir düğüm oluşturan örnek bir Cypher Sorgusu yer almaktadır.

CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"})

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 - İstediğiniz sorguyu dolar istemine 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

Düğümün oluşturulduğunu doğrulamak için, dolar komut istemine aşağıdaki sorguyu yazın ve yürütün.

MATCH (n) RETURN n

Bu sorgu, veritabanındaki tüm düğümleri döndürür (bu sorguyu ilerleyen bölümlerde ayrıntılı olarak tartışacağız).

Yürütüldüğünde, bu sorgu oluşturulan düğümü aşağıdaki ekran görüntüsünde gösterildiği gibi gösterir.

Oluşturulan Düğümü Geri Verme

Bölüm boyunca, MATCH (n) RETURN noluşturulan düğümleri görüntülemek için sorgu. Bu sorgu, veritabanındaki tüm mevcut düğümleri döndürür.

Bunun yerine, yeni oluşturulan düğümü görüntülemek için CREATE ile RETURN cümlesini kullanabiliriz.

Sözdizimi

Aşağıda, Neo4j'de bir düğüm döndürmek için sözdizimi verilmiştir.

CREATE (Node:Label{properties. . . . }) RETURN Node

Misal

Aşağıda, özelliklere sahip bir düğüm oluşturan ve onu döndüren örnek bir Cypher Sorgusu yer almaktadır.

CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"}) RETURN Dhawan

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 - İstediğiniz sorguyu dolar istemine 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.

Noe4j'de ilişki, bir grafiğin iki düğümünü birbirine bağladığımız bir öğedir. Bu ilişkilerin yönü, türü ve verilerin biçim kalıpları vardır. Bu bölüm size nasıl yapılacağını öğretir -

  • İlişkiler oluşturun
  • Mevcut düğümler arasında bir ilişki oluşturun
  • Etiket ve özelliklerle bir ilişki oluşturun

İlişkiler Oluşturmak

CREATE cümlesini kullanarak bir ilişki oluşturabiliriz. Aşağıdaki sözdiziminde gösterildiği gibi kısa çizgi “-” ve ok “→” arasına yerleştirildiği ilişkinin yönüne bağlı olarak köşeli parantez “[]” içindeki ilişkiyi belirteceğiz.

Sözdizimi

Aşağıda, CREATE yan tümcesini kullanarak bir ilişki oluşturmak için sözdizimi verilmiştir.

CREATE (node1)-[:RelationshipType]->(node2)

Misal

Öncelikle, aşağıda gösterildiği gibi, veritabanında iki Ind ve Dhawan düğümü oluşturun.

CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"}) 
CREATE (Ind:Country {name: "India"})

Şimdi, adlı bir ilişki oluşturun BATSMAN_OF bu iki düğüm arasında -

CREATE (Dhawan)-[r:BATSMAN_OF]->(Ind)

Son olarak, oluşturulan ilişkiyi görmek için her iki düğümü de döndürün.

RETURN Dhawan, Ind

İstediğiniz sorguyu dolar istemine 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.

Mevcut Düğümler Arasında Bir İlişki Oluşturma

Ayrıca, mevcut düğümler arasında bir ilişki oluşturabilirsiniz. MATCH fıkra.

Sözdizimi

MATCH cümlesini kullanarak bir ilişki oluşturmak için sözdizimi aşağıdadır.

MATCH (a:LabeofNode1), (b:LabeofNode2) 
   WHERE a.name = "nameofnode1" AND b.name = " nameofnode2" 
CREATE (a)-[: Relation]->(b) 
RETURN a,b

Misal

Aşağıda, match cümlesini kullanarak bir ilişki oluşturan örnek bir Cypher Query verilmiştir.

MATCH (a:player), (b:Country) WHERE a.name = "Shikar Dhawan" AND b.name = "India" 
CREATE (a)-[r: BATSMAN_OF]->(b) 
RETURN a,b

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 - İstediğiniz sorguyu dolar istemine 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.

Etiket ve Özelliklerle İlişki Oluşturma

CREATE yan tümcesini kullanarak etiket ve özelliklerle bir ilişki oluşturabilirsiniz.

Sözdizimi

Aşağıda, CREATE yan tümcesini kullanarak etiket ve özelliklerle bir ilişki oluşturmak için sözdizimi verilmiştir.

CREATE (node1)-[label:Rel_Type {key1:value1, key2:value2, . . . n}]-> (node2)

Misal

Aşağıda, etiket ve özelliklerle bir ilişki oluşturan örnek bir Cypher Sorgusu yer almaktadır.

MATCH (a:player), (b:Country) WHERE a.name = "Shikar Dhawan" AND b.name = "India" 
CREATE (a)-[r:BATSMAN_OF {Matches:5, Avg:90.75}]->(b)  
RETURN a,b

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 - İstediğiniz sorguyu dolar istemine 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.

Tam Bir Yol Oluşturma

Neo4j'de, sürekli ilişkiler kullanılarak bir yol oluşturulur. Create cümlesi kullanılarak bir yol oluşturulabilir.

Sözdizimi

Aşağıda Neo4j'de CREATE deyimini kullanarak bir yol oluşturmak için sözdizimi verilmiştir.

CREATE p = (Node1 {properties})-[:Relationship_Type]->
   (Node2 {properties})[:Relationship_Type]->(Node3 {properties}) 
RETURN p

Misal

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 - İstediğiniz sorguyu dolar istemine 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.

MERGE komutu, CREATE komutu ve MATCH komutunun bir kombinasyonudur.

Neo4j CQL MERGE komutu grafikte belirli bir kalıbı arar. Varsa, sonuçları döndürür.

Grafikte YOKSA, yeni bir düğüm / ilişki oluşturur ve sonuçları döndürür.

Bu bölümde nasıl yapılacağını öğreneceksiniz -

  • Bir düğümü etiketle birleştir
  • Bir düğümü özelliklerle birleştirme
  • OnCreate ve OnMatch
  • Bir ilişkiyi birleştir

Sözdizimi

MERGE komutunun sözdizimi aşağıdadır.

MERGE (node: label {properties . . . . . . . })

Bu bölümdeki örneklere geçmeden önce, Dhawan ve Ind etiketleriyle veritabanında iki düğüm oluşturun. Aşağıda gösterildiği gibi Dhawan'dan Ind'e “BATSMAN_OF” tipi bir ilişki oluşturun.

CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"}) 
CREATE (Ind:Country {name: "India"}) 
CREATE (Dhawan)-[r:BATSMAN_OF]->(Ind)

Bir Düğümü Etiketle Birleştirme

MERGE yan tümcesini kullanarak, etikete göre veritabanındaki bir düğümü birleştirebilirsiniz. Etikete göre bir düğümü birleştirmeye çalışırsanız, Neo4j verilen etikete sahip herhangi bir düğüm olup olmadığını doğrular. Değilse, mevcut düğüm oluşturulacaktır.

Sözdizimi

Aşağıda bir düğümü bir etikete göre birleştirmek için sözdizimi verilmiştir.

MERGE (node:label) RETURN node

örnek 1

Aşağıda, bir düğümü Neo4j ile birleştiren (etikete göre) örnek bir Cypher Sorgusu bulunmaktadır. Bu sorguyu yürüttüğünüzde Neo4j, etikete sahip herhangi bir düğüm olup olmadığını doğrular.player. Değilse, "Jadeja" adlı bir düğüm oluşturur ve onu döndürür.

Verilen etikete sahip herhangi bir düğüm varsa, Neo4j hepsini döndürür.

MERGE (Jadeja:player) RETURN Jadeja

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 - İstediğiniz sorguyu dolar istemine 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. Veritabanında "oynatıcı" etiketli "Dhawan" adında bir düğüm oluşturduğunuz için, Neo4j onu aşağıdaki ekran görüntüsünde gösterildiği gibi döndürür.

Örnek 2

Şimdi, "CT2013" adlı bir düğümü Turnuva adlı bir etiketle birleştirmeyi deneyin. Bu etikete sahip düğüm olmadığından, Neo4j verilen isimde bir düğüm oluşturur ve onu döndürür.

MERGE (CT2013:Tournament{name: "ICC Champions Trophy 2013"}) 
RETURN CT2013, labels(CT2013)

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 - İstediğiniz sorguyu dolar istemine 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. Belirtildiği gibi, verilen etikete (Turnuva) sahip bir düğüm olmadığından. Neo4j, aşağıdaki ekran görüntüsünde gösterildiği gibi belirtilen düğümü oluşturur ve döndürür.

Bir Düğümü Özelliklerle Birleştirme

Ayrıca bir düğümü bir dizi özellik ile birleştirebilirsiniz. Bunu yaparsanız, Neo4j, özellikler de dahil olmak üzere belirtilen düğüm için eşit bir eşleşme arar. Bulamazsa, bir tane yaratır.

Sözdizimi

Bir düğümü özellikleri kullanarak birleştirmek için sözdizimi aşağıdadır.

MERGE (node:label {key1:value, key2:value, key3:value . . . . . . . . })

Misal

Aşağıda, özellikleri kullanarak bir düğümü birleştirmek için örnek bir Cypher Sorgusu verilmiştir. Bu sorgu, özellikleri ve etiketi kullanarak "jadeja" adlı düğümü birleştirmeye çalışır. Kesin etiket ve özelliklere sahip böyle bir düğüm olmadığından, Neo4j bir tane oluşturur.

MERGE (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"}) 
RETURN Jadeja

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 - İstediğiniz sorguyu dolar istemine 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. Tartışıldığı gibi, belirtilen etiket ve özelliklere sahip düğüm olmadığından, aşağıdaki ekran görüntüsünde gösterildiği gibi bir tane oluşturur.

OnCreate ve OnMatch

Ne zaman, bir birleştirme sorgusu yürütsek, bir düğüm eşleştirilir veya oluşturulur. Oluşturma ve eşleştirme sırasında kullanarak, düğümün oluşturulduğunu veya eşleştiğini belirtmek için özellikler ayarlayabilirsiniz.

Sözdizimi

Aşağıdaki sözdizimi OnCreate ve OnMatch maddeleri.

MERGE (node:label {properties . . . . . . . . . . .}) 
ON CREATE SET property.isCreated ="true" 
ON MATCH SET property.isFound ="true"

Misal

Aşağıda, Cypher Sorgusu'nun kullanımını gösteren örnek bir OnCreate ve OnMatchNeo4j'deki maddeler. Belirtilen düğüm veritabanında zaten mevcutsa, düğüm eşleştirilir ve düğümde anahtar / değer çifti isFound = "true" olan özellik oluşturulur.

Belirtilen düğüm veritabanında yoksa, düğüm oluşturulur ve içinde anahtar / değer çiftine sahip bir özellik isCreated = "true" oluşturulur.

MERGE (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"}) 
ON CREATE SET Jadeja.isCreated = "true" 
ON MATCH SET Jadeja.isFound = "true" 
RETURN Jadeja

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 - İstediğiniz sorguyu dolar istemine 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. Bahsedildiği gibi, belirtilen ayrıntılara sahip bir düğüm olmadığından, Neo4j onu özellik ile birlikte oluşturduisFound aşağıdaki ekran görüntüsünde gösterildiği gibi.

Bir İlişkiyi Birleştirme

Tıpkı düğümler gibi, MERGE yan tümcesini kullanarak ilişkileri de birleştirebilirsiniz.

Misal

Aşağıda, Neo4j'deki MATCH cümlesini kullanarak bir ilişkiyi birleştiren örnek bir Cypher Query yer almaktadır. Bu sorgu, adlı bir ilişkiyi birleştirmeye çalışırWINNERS_OF "ind" (etiket: Ülke ve isim: Hindistan) ve ICC13 (etiket: Turnuva ve isim: ICC Champions Trophy 2013) düğümleri arasında.

Böyle bir ilişki olmadığı için Neo4j bir tane yaratır.

MATCH (a:Country), (b:Tournament) 
   WHERE a.name = "India" AND b.name = "ICC Champions Trophy 2013" 
   MERGE (a)-[r:WINNERS_OF]->(b) 
RETURN a, b

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 - İstediğiniz sorguyu dolar istemine 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. Belirtilen ilişki veritabanında bulunmadığından, Neo4j aşağıdaki ekran görüntüsünde gösterildiği gibi bir ilişki oluşturur.

Aynı şekilde, birden çok ilişkiyi ve yönlendirilmemiş ilişkileri de birleştirebilirsiniz.

Set cümlesini kullanarak, mevcut bir Düğüme veya İlişkiye yeni özellikler ekleyebilir ve ayrıca mevcut Özellikler değerlerini ekleyebilir veya güncelleyebilirsiniz.

Bu bölümde, nasıl yapılacağını tartışacağız -

  • Bir mülk ayarla
  • Bir mülkü kaldır
  • Birden çok özelliği ayarlayın
  • Bir düğümde etiket belirleme
  • Bir düğümde birden çok etiket ayarlayın

Özellik Ayarlama

SET yan tümcesini kullanarak bir düğümde yeni bir özellik oluşturabilirsiniz.

Sözdizimi

Bir özelliği ayarlamak için sözdizimi aşağıda verilmiştir.

MATCH (node:label{properties . . . . . . . . . . . . . . }) 
SET node.property = value 
RETURN node

Misal

Örneğe geçmeden önce, ilk olarak aşağıda gösterildiği gibi Dhawan adında bir düğüm oluşturun.

CREATE (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"})

Aşağıda, "187" değerine sahip "en yüksek puan" adlı bir özellik oluşturmak için örnek bir Cypher Sorgusu verilmiştir .

MATCH (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"}) 
SET Dhawan.highestscore = 187 
RETURN Dhawan

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 - İstediğiniz sorguyu dolar istemine 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, "Dhawan" adlı düğümde anahtar / değer çifti en yüksek puanı / 187 olan bir özelliğin oluşturulduğunu gözlemleyebilirsiniz.

Bir Mülkü Kaldırma

Mevcut bir mülkü aktararak kaldırabilirsiniz. NULL değer olarak.

Sözdizimi

Aşağıda, SET yan tümcesi kullanılarak bir düğümden bir özelliği kaldırmanın sözdizimi yer almaktadır.

MATCH (node:label {properties}) 
SET node.property = NULL 
RETURN node

Misal

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

Create (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})

Aşağıda, aşağıda gösterildiği gibi SET yan tümcesini kullanarak POB adlı özelliği bu düğümden kaldıran örnek bir Cypher Sorgusu verilmiştir.

MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"}) 
SET Jadeja.POB = NULL 
RETURN Jadeja

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 - İstediğiniz sorguyu dolar istemine 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 değişkenin isimli olduğunu gözlemleyebilirsiniz.POB silindi.

Birden Çok Özellik Ayarlama

Aynı şekilde, Set yan tümcesini kullanarak bir düğümde birden çok özellik oluşturabilirsiniz. Bunu yapmak için, bu anahtar-değer çiftlerini virgülle belirtmeniz gerekir.

Sözdizimi

Aşağıda, SET yan tümcesini kullanarak bir düğümde birden çok özellik oluşturmak için sözdizimi verilmiştir.

MATCH (node:label {properties}) 
SET node.property1 = value, node.property2 = value 
RETURN node

Misal

Aşağıda, Neo4j'deki SET cümlesini kullanarak bir düğümde birden çok özellik oluşturan örnek bir Cypher Query verilmiştir.

MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988})  
SET Jadeja.POB: "NavagamGhed", Jadeja.HS = "90" 
RETURN Jadeja

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 - İstediğiniz sorguyu dolar istemine 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 POB ve HS adlı özelliklerin yaratıldığını görebilirsiniz.

Düğümde Etiket Ayarlama

SET yan tümcesini kullanarak mevcut bir düğüme bir etiket ayarlayabilirsiniz.

Sözdizimi

Mevcut bir düğüme bir etiket ayarlamak için sözdizimi aşağıdadır.

MATCH (n {properties . . . . . . . }) 
SET n :label 
RETURN n

Misal

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

CREATE (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"})

Aşağıda, SET yan tümcesini kullanarak bir düğümde bir etiket ayarlamak için örnek bir Cypher Sorgusu yer almaktadır. Bu sorgu, Anderson düğümüne "oynatıcı" etiketini ekler ve onu döndürür.

MATCH (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"}) 
SET Anderson: player 
RETURN Anderson

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 - İstediğiniz sorguyu dolar istemine 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 "player" adlı etiketin düğüme eklendiğini görebilirsiniz.

Bir Düğümde Birden Çok Etiket Ayarlama

SET yan tümcesini kullanarak var olan bir düğüme birden çok etiket ayarlayabilirsiniz. Burada iki nokta üst üste “:” ile ayırarak etiketleri belirlemeniz gerekir.

Sözdizimi

Aşağıda, SET yan tümcesini kullanarak birden çok etiketi mevcut bir düğüme ayarlamak için sözdizimi verilmiştir.

MATCH (n {properties . . . . . . . }) 
SET n :label1:label2 
RETURN n

Misal

Örneğe geçmeden önce, aşağıda gösterildiği gibi ilk olarak "Ishant" adında bir düğüm oluşturun.

CREATE (Ishant {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"})

Aşağıda, SET yan tümcesini kullanarak bir düğüm üzerinde birden çok etiket oluşturmak için kullanılan örnek bir Cypher Sorgusu verilmiştir.

MATCH (Ishant {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"}) 
SET Ishant: player:person 
RETURN Ishant

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 - İstediğiniz sorguyu dolar istemine 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, adlı düğüme iki etiketin (kişi ve oyuncu) eklendiğini görebilirsiniz.Ishant.

DELETE yan tümcesini kullanarak bir veritabanından düğümleri ve ilişkileri silebilirsiniz.

Tüm Düğümleri ve İlişkileri Silme

Aşağıda, DELETE yan tümcesini kullanarak veritabanındaki tüm düğümleri ve ilişkileri silme sorgusu yer almaktadır.

Sorgu

MATCH (n) DETACH DELETE 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 - İstediğiniz sorguyu dolar istemine 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.

Bu, tüm düğümleri ve ilişkileri neo4j veritabanınızdan silecek ve boş hale getirecektir.

Belirli Bir Düğümü Silme

Belirli bir düğümü silmek için, yukarıdaki sorguda "n" yerine düğümün ayrıntılarını belirtmeniz gerekir.

Sözdizimi

Aşağıda, DELETE yan tümcesini kullanarak belirli bir düğümü Neo4j'den silmek için sözdizimi verilmiştir.

MATCH (node:label {properties . . . . . . . . . .  }) 
DETACH DELETE node

Misal

Örneğe geçmeden önce, aşağıda gösterildiği gibi Neo4j veritabanında bir "Ishant" düğümü oluşturun.

CREATE (Ishant:player {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"})

Aşağıda, DELETE deyimini kullanarak yukarıda oluşturulan düğümü silen örnek bir Cypher Sorgusu yer almaktadır.

MATCH (Ishant:player {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"}) 
DETACH DELETE Ishant

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 - İstediğiniz sorguyu dolar istemine 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 belirtilen düğümün silindiğini gözlemleyebilirsiniz.

REMOVE yan tümcesi, özellikleri ve etiketleri grafik öğelerinden (Düğümler veya İlişkiler) kaldırmak için kullanılır.

Neo4j CQL DELETE ve REMOVE komutları arasındaki temel fark -

  • DELETE işlemi, düğümleri ve ilişkili ilişkileri silmek için kullanılır.
  • KALDIR işlemi, etiketleri ve özellikleri kaldırmak için kullanılır.

Bir Mülkü Kaldırma

REMOVE yan tümcesiyle birlikte MATCH kullanarak bir düğümün özelliğini kaldırabilirsiniz.

Sözdizimi

Aşağıda, REMOVE yan tümcesini kullanarak bir düğümün bir özelliğini kaldırmak için sözdizimi verilmiştir.

MATCH (node:label{properties . . . . . . . }) 
REMOVE node.property 
RETURN node

Misal

Örneğe geçmeden önce adında bir düğüm oluşturun Dhoni Aşağıda gösterildiği gibi.

CREATE (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"})

Aşağıda, REMOVE yan tümcesini kullanarak yukarıda oluşturulan düğümü kaldırmak için örnek bir Cypher Sorgusu yer almaktadır.

MATCH (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
REMOVE Dhoni.POB 
RETURN Dhoni

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 - İstediğiniz sorguyu dolar istemine 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 POB adlı düğümün silindiğini görebilirsiniz.

Düğümden Etiket Kaldırma

Özelliğe benzer şekilde, remove cümlesini kullanarak da mevcut bir düğümden bir etiketi kaldırabilirsiniz.

Sözdizimi

Bir etiketi düğümden kaldırmak için sözdizimi aşağıdadır.

MATCH (node:label {properties . . . . . . . . . . . }) 
REMOVE node:label 
RETURN node

Misal

Aşağıda, remove cümlesini kullanarak mevcut bir düğümden bir etiketi kaldırmak için örnek bir Cypher Sorgusu yer almaktadır.

MATCH (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
REMOVE Dhoni:player 
RETURN Dhoni

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 - İstediğiniz sorguyu dolar istemine 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, etiketin düğümden silindiğini görebilirsiniz.

Birden Fazla Etiketi Kaldırma

Ayrıca mevcut bir düğümden birden fazla etiketi kaldırabilirsiniz.

Sözdizimi

Aşağıda, bir düğümden birden çok etiketi kaldırmak için sözdizimi verilmiştir.

MATCH (node:label1:label2 {properties . . . . . . . . }) 
REMOVE node:label1:label2 
RETURN node

Misal

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

CREATE (Ishant:player:person {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"})

Aşağıda, bir düğümden birden çok etiketi kaldırmak için örnek bir Cypher Sorgusu verilmiştir.

MATCH (Ishant:player:person {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"}) 
REMOVE Ishant:player:person 
RETURN Ishant

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 - İstediğiniz sorguyu dolar istemine 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 belirtilen etiketlerin düğümden silindiğini görebilirsiniz.

FOREACH yan tümce, bir yolun bileşenleri veya bir toplama sonucu olsun, bir liste içindeki verileri güncellemek için kullanılır.

Sözdizimi

FOREACH cümlesinin sözdizimi aşağıdadır.

MATCH p = (start node)-[*]->(end node) 
WHERE start.node = "node_name" AND end.node = "node_name" 
FOREACH (n IN nodes(p)| SET n.marked = TRUE)

Misal

Örneğe geçmeden önce bir yol oluşturun p Neo4j veritabanında aşağıda gösterildiği gibi.

CREATE p = (Dhawan {name:"Shikar Dhawan"})-[:TOPSCORRER_OF]->(Ind{name: 
   "India"})-[:WINNER_OF]->(CT2013{name: "Champions Trophy 2013"}) 
RETURN p

Aşağıda, FOREACH cümlesini kullanarak yol boyunca tüm düğümlere bir özellik ekleyen örnek bir Cypher Sorgusu yer almaktadır.

MATCH p = (Dhawan)-[*]->(CT2013) 
   WHERE Dhawan.name = "Shikar Dhawan" AND CT2013.name = "Champions Trophy 2013" 
FOREACH (n IN nodes(p)| SET n.marked = TRUE)

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 - İstediğiniz sorguyu dolar istemine 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

Düğümün oluşturulduğunu doğrulamak için, dolar komut istemine aşağıdaki sorguyu yazın ve yürütün.

MATCH (n) RETURN n

Bu sorgu, veritabanındaki tüm düğümleri döndürür (bu sorguyu ilerleyen bölümlerde ayrıntılı olarak tartışacağız).

Yürütüldüğünde, bu sorgu oluşturulan düğümü aşağıdaki ekran görüntüsünde gösterildiği gibi gösterir.

Bu bölümde, Match Clause ve bu cümle kullanılarak gerçekleştirilebilecek tüm işlevler hakkında bilgi edineceğiz.

Eşleşmeyi Kullanan Tüm Düğümleri Alın

Neo4j'nin MATCH yan tümcesini kullanarak Neo4j veritabanındaki tüm düğümleri alabilirsiniz.

Misal

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

CREATE (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
CREATE (Ind:Country {name: "India", result: "Winners"}) 
CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) 
CREATE (Ind)-[r1:WINNERS_OF {NRR:0.938 ,pts:6}]->(CT2013) 

CREATE(Dhoni)-[r2:CAPTAIN_OF]->(Ind)  
CREATE (Dhawan:player{name: "shikar Dhawan", YOB: 1995, POB: "Delhi"}) 
CREATE (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})  

CREATE (Dhawan)-[:TOP_SCORER_OF {Runs:363}]->(Ind) 
CREATE (Jadeja)-[:HIGHEST_WICKET_TAKER_OF {Wickets:12}]->(Ind)

Aşağıda, Neo4j veritabanındaki tüm düğümleri döndüren sorgu verilmiştir.

MATCH (n) 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 - İstediğiniz sorguyu dolar istemine 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.

Tüm Düğümleri Belirli Bir Etiket Altında Alma

Match cümlesini kullanarak, tüm düğümleri belirli bir etiket altında alabilirsiniz.

Sözdizimi

Tüm düğümleri belirli bir etiket altında almak için sözdizimi aşağıdadır.

MATCH (node:label) 
RETURN node

Misal

Aşağıda, veritabanındaki tüm düğümleri etiketinin altında döndüren örnek bir Cypher Sorgusu yer almaktadır. player.

MATCH (n:player) 
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 - İstediğiniz sorguyu dolar istemine 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.

İlişkiye Göre Maç

MATCH yan tümcesini kullanarak ilişkiye dayalı olarak düğümleri alabilirsiniz.

Sözdizimi

Aşağıda, MATCH cümlesini kullanan ilişkiye dayalı olarak düğümlerin alınmasının sözdizimi verilmiştir.

MATCH (node:label)<-[: Relationship]-(n) 
RETURN n

Misal

Aşağıda, MATCH cümlesini kullanarak ilişkiye dayalı olarak düğümleri almak için örnek bir Cypher Sorgusu verilmiştir.

MATCH (Ind:Country {name: "India", result: "Winners"})<-[: TOP_SCORER_OF]-(n) 
RETURN n.name

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 - İstediğiniz sorguyu dolar istemine 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.

Tüm Düğümleri Sil

MATCH cümlesini kullanarak tüm düğümleri silebilirsiniz.

Sorgu

Aşağıda, Neo4j'deki tüm düğümleri silme sorgusu yer almaktadır.

MATCH (n) detach delete 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 - İstediğiniz sorguyu dolar istemine 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.

OPTIONAL MATCH cümleci tümce, desenin eksik kısımları için boş karakterleri kullanırken, içinde açıklanan deseni aramak için kullanılır.

İSTEĞE BAĞLI MATCH, eşleşme cümlesine benzer, tek fark, modelin eksik kısımlarının bir sonucu olarak boş döndürmesidir.

Sözdizimi

Aşağıda, İSTEĞE BAĞLI MAÇ ile ilişki sözdizimi verilmiştir.

MATCH (node:label {properties. . . . . . . . . . . . . .}) 
OPTIONAL MATCH (node)-->(x) 
RETURN x

Misal

Aşağıda ICCT2013 düğümünden ilişkileri almaya çalışan örnek bir Cypher Sorgusu yer almaktadır. Böyle bir düğüm olmadığından boş döndürür.

MATCH (a:Tornament {name: "ICC Champions Trophy 2013"}) 
OPTIONAL MATCH (a)-->(x) 
RETURN x

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 - İstediğiniz sorguyu dolar istemine 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, gerekli kalıp için eşleşme olmadığından Neo4j'in boş döndürdüğünü görebilirsiniz.

SQL gibi, Neo4j CQL bir MATCH Sorgusunun sonuçlarını filtrelemek için CQL MATCH komutunda WHERE cümlesi 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 yer almaktadır.

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 - İstediğiniz sorguyu dolar istemine 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 - İstediğiniz sorguyu dolar istemine 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 elde etmek için örnek bir Cypher Sorgusu verilmiştir.

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 - İstediğiniz sorguyu dolar istemine 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ında düğümün bulunduğu ülkeye döndürdüğünü görebilirsiniz.

Veritabanında aşağıdaki ayrıntılarla bir grafik oluşturduğumuzu varsayalım.

Miktar

count() işlevi satır sayısını saymak için kullanılır.

Sözdizimi

Aşağıda count işlevinin sözdizimi verilmiştir.

MATCH (n { name: 'A' })-->(x) 
RETURN n, count(*)

Misal

Aşağıda, Cypher Sorgusu'nun kullanımını gösteren örnek bir count() işlevi.

Match(n{name: "India", result: "Winners"})--(x)  
RETURN n, count(*)

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 - İstediğiniz sorguyu dolar istemine 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.

Grup Sayısı

COUNT yan tümce, ilişki türlerinin gruplarını saymak için de kullanılır.

Misal

Aşağıda, her ilişkiye katılan düğümlerin sayısını sayan ve döndüren örnek bir Cypher Sorgusu yer almaktadır.

Match(n{name: "India", result: "Winners"})-[r]-(x)  
RETURN type (r), count(*)

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 - İstediğiniz sorguyu dolar istemine 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.

RETURN yan tümcesi Neo4j'de dönüş düğümleri, ilişkiler ve özellikler kullanılır. Bu bölümde, nasıl yapılacağını öğreneceğiz -

  • Dönüş düğümleri
  • Birden çok düğüm döndür
  • Dönüş ilişkileri
  • Mülkleri döndür
  • Tüm öğeleri döndür
  • Sütun takma adıyla bir değişken döndür

Dönen Düğümler

RETURN yan tümcesini kullanarak bir düğümü döndürebilirsiniz.

Sözdizimi

Aşağıda, RETURN yan tümcesini kullanarak düğümleri döndürmek için bir sözdizimi verilmiştir.

Create (node:label {properties}) 
RETURN node

Misal

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

Create (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
CREATE (Ind:Country {name: "India", result: "Winners"}) 
CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) 
CREATE (Ind)-[r1:WINNERS_OF {NRR:0.938 ,pts:6}]->(CT2013) 
CREATE(Dhoni)-[r2:CAPTAIN_OF]->(Ind)

Aşağıda, Dhoni adında bir düğüm oluşturan ve onu döndüren örnek bir Cypher Sorgusu verilmiştir.

Create (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
RETURN Dhoni

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 - İstediğiniz sorguyu dolar istemine 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 Düğümü Geri Verme

Ayrıca return cümlesini kullanarak birden çok düğümü de döndürebilirsiniz.

Sözdizimi

Aşağıda, dönüş cümlesini kullanarak birden çok düğümü döndürmek için sözdizimi verilmiştir.

CREATE (Ind:Country {name: "India", result: "Winners"}) 
CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) 
RETURN Ind, CT2013

Misal

Aşağıda, dönüş cümlesini kullanarak birden çok düğümü döndürmek için örnek bir Cypher Sorgusu verilmiştir.

CREATE (Ind:Country {name: "India", result: "Winners"}) 
CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"}) 
RETURN Ind, CT2013

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 - İstediğiniz sorguyu dolar istemine 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 2 düğüm döndürdüğünü görebilirsiniz.

Dönen İlişkiler

Return yan tümcesini kullanarak ilişkileri de döndürebilirsiniz.

Sözdizimi

RETURN deyimini kullanarak ilişkileri döndürmek için sözdizimi aşağıdadır.

CREATE (node1)-[Relationship:Relationship_type]->(node2) 
RETURN Relationship

Misal

Aşağıda, iki ilişki oluşturan ve bunları döndüren örnek bir Cypher Sorgusu yer almaktadır.

CREATE (Ind)-[r1:WINNERS_OF {NRR:0.938 ,pts:6}]->(CT2013) 
CREATE(Dhoni)-[r2:CAPTAIN_OF]->(Ind) 
RETURN r1, r2

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 - İstediğiniz sorguyu dolar istemine 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.

Dönen Özellikler

RETURN yan tümcesini kullanarak da özellikleri döndürebilirsiniz.

Sözdizimi

Aşağıda, RETURN yan tümcesini kullanarak özellikleri döndürmek için bir sözdizimi verilmiştir.

Match (node:label {properties . . . . . . . . . . }) 
Return node.property

Misal

Aşağıda, bir düğümün özelliklerini döndürmek için örnek bir Cypher Sorgusu verilmiştir.

Match (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
Return Dhoni.name, Dhoni.POB

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 - İstediğiniz sorguyu dolar istemine 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.

Tüm Öğeleri Geri Verme

RETURN deyimini kullanarak Neo4j veritabanındaki tüm öğeleri döndürebilirsiniz.

Misal

Aşağıda, veritabanındaki tüm öğeleri döndürmek için örnek bir Cypher Query verilmiştir.

Match p = (n {name: "India", result: "Winners"})-[r]-(x)  
RETURN *

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 - İstediğiniz sorguyu dolar istemine 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.

Sütun Diğer Adıyla Bir Değişkeni Döndürme

Neo4j'de RETURN yan tümcesini kullanarak takma ada sahip belirli bir sütunu döndürebilirsiniz.

Misal

Aşağıda, POB sütununu Doğum Yeri olarak döndüren örnek bir Cypher Sorgusu yer almaktadır.

Match (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) 
Return Dhoni.POB as Place Of Birth

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 - İstediğiniz sorguyu dolar istemine 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.

ORDER BY yan tümcesini kullanarak sonuç verilerini sırayla düzenleyebilirsiniz.

Sözdizimi

ORDER BY yan tümcesinin sözdizimi aşağıdadır.

MATCH (n)  
RETURN n.property1, n.property2 . . . . . . . .  
ORDER BY n.property

Misal

Örneğe geçmeden önce, aşağıda gösterildiği gibi Neo4j veritabanında 5 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"})

Aşağıda, ORDERBY cümlesini kullanarak oyuncu tarafından puanlanan çalıştırmaların sırasına göre yukarıda oluşturulan düğümleri döndüren örnek bir Cypher Sorgusu yer almaktadır.

MATCH (n)  
RETURN n.name, n.runs 
ORDER BY n.runs

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 - İstediğiniz sorguyu dolar istemine 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.

Düğümleri Birden Çok Özelliğe Göre Sıralama

Düğümleri birden çok özelliğe göre düzenleyebilirsiniz. ORDEYBY fıkra.

Sözdizimi

Aşağıda, ORDERBY yan tümcesi kullanılarak düğümleri birden çok özelliğe göre düzenlemek için sözdizimi verilmiştir.

MATCH (n) 
RETURN n 
ORDER BY n.age, n.name

Misal

Aşağıda, bu bölümde daha önce oluşturulan düğümleri özelliklere (çalıştırmalara ve ülkeye) göre düzenleyen örnek bir Cypher Sorgusu yer almaktadır.

MATCH (n) 
RETURN n.name, n.runs, n.country 
ORDER BY n.runs, n.country

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 - İstediğiniz sorguyu dolar istemine 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.

Düğümleri Azalan Sıraya Göre Sıralama

Bir veritabanındaki düğümleri azalan sırayla düzenleyebilirsiniz. ORDERBY fıkra.

Sözdizimi

Aşağıda, bir veritabanındaki düğümleri düzenlemek için sözdizimi verilmiştir.

MATCH (n) 
RETURN n 
ORDER BY n.name DESC

Misal

Aşağıda, ORDERBY cümlesini kullanarak bir veritabanındaki düğümleri azalan sırada düzenleyen örnek bir Cypher Sorgusu yer almaktadır.

MATCH (n)  
RETURN n.name, n.runs 
ORDER BY n.runs DESC

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 - İstediğiniz sorguyu dolar istemine 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.

limit yan tümce, çıktıdaki satır sayısını sınırlamak için kullanılır.

Sözdizimi

LIMIT cümlesinin sözdizimi aşağıdadır.

MATCH (n) 
RETURN n 
ORDER BY n.name 
LIMIT 3

Misal

Örneğe geçmeden önce, aşağıda gösterildiği gibi Neo4j veritabanında 5 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"})

Aşağıda, yukarıda oluşturulan düğümleri azalan sırada döndüren ve sonuçtaki kayıtları 3 ile sınırlayan örnek bir Cypher Sorgusu yer almaktadır.

MATCH (n)  
RETURN n.name, n.runs 
ORDER BY n.runs DESC 
LIMIT 3

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 - İstediğiniz sorguyu dolar istemine 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.

İfade ile sınırla

LIMIT yan tümcesini ifade ile de kullanabilirsiniz.

Misal

Aşağıda, bir ifade kullanarak kayıtları sınırlandıran örnek bir Cypher Sorgusu verilmiştir.

MATCH (n) 
RETURN n.name, n.runs 
ORDER BY n.runs DESC 
LIMIT toInt(3 * rand())+ 1

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 - İstediğiniz sorguyu dolar istemine 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.

SKIP deyimi, çıktıdaki satırlar dahil olmak üzere hangi satırdan başlayacağını tanımlamak için kullanılır.

Misal

Örneğe geçmeden önce, aşağıda gösterildiği gibi 5 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"})

Aşağıda, ilk 3 düğümü atlayarak veritabanındaki tüm düğümleri döndüren örnek bir Cypher Sorgusu yer almaktadır.

MATCH (n)  
RETURN n.name, n.runs 
ORDER BY n.runs DESC 
SKIP 3

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 - İstediğiniz sorguyu dolar istemine 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.

İfade Kullanarak Atla

Bir ifade kullanarak bir sonucun kayıtlarını atlayabilirsiniz.

Misal

Aşağıda, bir ifade ile birlikte SKIP yan tümcesini kullanan örnek bir Cypher Sorgusu verilmiştir.

MATCH (n)  
RETURN n.name, n.runs 
ORDER BY n.runs DESC 
SKIP toInt (2*rand())+ 1

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 - İstediğiniz sorguyu dolar istemine 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.

WITH yan tümcesini kullanarak sorgu sanatlarını birbirine zincirleyebilirsiniz.

Sözdizimi

Aşağıdaki, WITH cümlesinin sözdizimidir.

MATCH (n) 
WITH n 
ORDER BY n.property 
RETURN collect(n.property)

Misal

Aşağıda, WITH cümlesinin kullanımını gösteren örnek bir Cypher Sorgusu yer almaktadır.

MATCH (n) 
WITH n 
ORDER BY n.name DESC LIMIT 3 
RETURN collect(n.name)

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 - İstediğiniz sorguyu dolar istemine 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.

Çözme yan tümcesi, bir listeyi bir dizi satıra ayırmak için kullanılır.

Misal

Aşağıda, bir listeyi açan örnek bir Cypher Query verilmiştir.

UNWIND [a, b, c, d] AS x 
RETURN x

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 - İstediğiniz sorguyu dolar istemine 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.

SQL gibi, Neo4J CQL de gerekli sonuçları elde etmek için CQL Sorgularında kullanmak üzere bir dizi String işlevi sağlamıştır.

Burada, bazı önemli ve sık kullanılan işlevleri tartışacağız.

Dize İşlevleri Listesi

Aşağıda Neo4j'de öne çıkan String işlevlerinin listesi yer almaktadır.

Sr.No İşlev ve Açıklama
1 ÜST

Tüm harfleri büyük harflere dönüştürmek için kullanılır.

2 DÜŞÜK

Tüm harfleri küçük harflere dönüştürmek için kullanılır.

3 ALT STRING

Belirli bir String'in alt dizesini elde etmek için kullanılır.

4 Replace

Bir alt dizeyi belirli bir Dize alt dizesiyle değiştirmek için kullanılır.

SQL gibi, Neo4j CQL de RETURN yan tümcesinde kullanılmak üzere bazı toplama işlevleri sağlamıştır. SQL'deki GROUP BY deyimine benzer.

Bu RETURN + Aggregation Functions in MATCH komutunu bir grup düğüm üzerinde çalışmak ve bazı toplanmış değerler döndürmek için kullanabiliriz.

TOPLAMA İşlevleri Listesi

Aşağıda Neo4j'deki toplama işlevlerinin listesi verilmiştir.

Sr.No İşlev ve Açıklama
1 MİKTAR

MATCH komutu tarafından döndürülen satır sayısını döndürür.

2 MAX

MATCH komutu tarafından döndürülen bir dizi satırdan maksimum değeri döndürür.

3 MIN

MATCH komutu tarafından döndürülen bir dizi satırdan minimum değeri döndürür.

4 SUM

MATCH komutu ile döndürülen tüm satırların toplam değerini döndürür.

5 AVG

MATCH komutu ile döndürülen tüm satırların ortalama değerini döndürür.

Gerçek zamanlı uygulamalarda, uygulama veritabanımızın yedeğini düzenli olarak almalıyız, böylece herhangi bir arıza noktasında bazı çalışma koşullarını geri yükleyebiliriz.

Bu kural hem RDBMS hem de NoSQL veritabanları için geçerlidir.

Bu bölümde, iki önemli DBA görevi hakkında tartışacağız.

  • Neo4j Veritabanı nasıl yedeklenir.
  • Neo4j Veritabanını belirli bir yedeğe geri yükleme.

Note- Bu adımlar yalnızca Windows İşletim Sistemi için geçerlidir. Diğer işletim sistemlerinde aynı adımları uygulamak için benzer türden komutlar kullanmalıyız.

Neo4j Veritabanı Yedeklemesi

Step 1 - Aşağıdaki yolu kullanarak "Neo4j Topluluğu" nu tıklayın -

Windows "Başlat" düğmesi → "Tüm Programlar" → "Neo4j Topluluğu" → "Neo4j Topluluğu"

Varsayılan olarak seçer c:\Users\[username]\Documents\Neo4j\default.graphdb. Ancak dilersek, yolu farklı bir dizine değiştirebiliriz.

Step 2 - Burada Neo4j Veritabanı klasörümüze geçtik.

C: \ Ne04j2.0db

Step 3 - "Başlat" düğmesini tıklayın.

Sunucu başladığında, Neo4j Veritabanı dosyalarımızın belirli bir dizinde oluşturulduğunu görebiliriz.

Bir veritabanı yedeklemesi almadan önce yapmamız gereken ilk ve en önemli şey Neo4j Veritabanı sunucusunu kapatmaktır.

Step 4 - Sunucuyu kapatmak için "Durdur" düğmesine tıklayın.

Neo4j Veritabanı dosyaları C: \ Ne04j2.0db adresinde mevcuttur

Step 5 - Komut istemini açın.

Step 6 - C: \ Neo4j'de "Neo4jDbBackup-01" klasörü oluşturun (Bu, dosya sisteminizdeki herhangi bir konum olabilir).

mkdir C:\Neo4j\Neo4jDbBackup-01

Belirtilen dosya sistemi konumunda "C: \ Neo4j \" yeni bir "Neo4jDbBackup-01" klasörü oluşturur.

Step 7 - Aşağıdaki komutu yazın ve Enter tuşuna basın.

copy C:\Ne04j2.0db C:\Neo4j\Neo4jDbBackup-01

Bu, dosyalarımızın gerekli hedef klasöre kopyalandığı anlamına gelir. Bu klasöre erişin ve klasörün veritabanı dosyalarımıza sahip olduğunu gözlemleyin.

Step 8 - Veritabanı klasörümüzü sıkıştırmak için WinZip, 7 Zip veya WinRAR gibi herhangi bir Windows sıkıştırma / açma aracını kullanın.

Step 9- Şimdi Neo4jDbBackup-01.zip dosyamız oluşturuldu. Dosya sisteminizde herhangi bir bellek kısıtlaması varsa, "C: \ Neo4j \" konumundaki "Neo4jDbBackup-01" klasörünü kaldırın.

Neo4j Veritabanı Geri Yükleme

Step 1- Veritabanı sunucusunu kapatın. Sunucuyu kapatmak için lütfen önceki adımlara bakın.

Step 2 - Mevcut veritabanı klasörünü boşaltın.

Step 3 - Yedek klasörümüzü açmak için WinZip, 7 Zip veya WinRar gibi herhangi bir Windows sıkıştırma / açma aracını kullanın.

Step 4 - Komut istemini açın ve aşağıdaki komutu yürütün.

Copy C:\Neo4j\Neo4jDbBackup-01 C:\Ne04j2.0db

Artık veritabanı klasörümüzün çalışan yedekleme dosyalarını içerdiğini gözlemleyebiliriz.

Step 5 - "Başlat" düğmesine tıklayarak sunucuyu başlatın.

Step 6 - Veritabanımızı düzgün şekilde geri yükleyip yüklemediğimizi doğrulamak için bazı MATCH + RETURN komutlarını yürütün.

Neo4j SQL, uygulamanın performansını artırmak için düğüm veya ilişki özelliklerinde Dizinleri destekler. Aynı etiket adına sahip tüm düğümler için özelliklerde indeksler oluşturabiliriz.

Bu indekslenmiş sütunları MATCH veya WHERE veya IN operatöründe CQL komutunun çalışmasını iyileştirmek için kullanabiliriz.

Bu bölümde, nasıl yapılacağını tartışacağız -

  • Bir Dizin Oluşturun
  • Bir Dizini Silme

Bir Dizin Oluşturma

Neo4j CQL, Düğüm veya İlişki özelliklerinde dizinler oluşturmak için "CREATE INDEX" komutu sağlar.

Sözdizimi

Aşağıda Neo4j'de bir dizin oluşturmak için sözdizimi verilmiştir.

CREATE INDEX ON:label (node)

Misal

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

CREATE (Dhawan:player{name: "shikar Dhawan", YOB: 1995, POB: "Delhi"})

Aşağıda, Neo4j'deki Dhawan düğümünde bir dizin oluşturmak için örnek bir Cypher Sorgusu yer almaktadır.

CREATE INDEX ON:player(Dhawan)

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ğıda gösterildiği gibi.

Step 2 - İstediğiniz sorguyu dolar istemine 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.

Bir Dizini Silme

Neo4j CQL, bir Node veya Relationshis özelliğinin mevcut bir dizinini bırakmak için bir "DROP INDEX" komutu sağlar.

Sözdizimi

Aşağıda Neo4j'de bir dizin oluşturmak için sözdizimi verilmiştir.

DROP INDEX ON:label(node)

Misal

Aşağıda, Neo4j'de "Dhawan" adlı düğümde bir dizin oluşturmak için örnek bir Cypher Sorgusu yer almaktadır.

DROP INDEX ON:player(Dhawan)

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 - İstediğiniz sorguyu dolar istemine 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.

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 - İstediğiniz sorguyu dolar istemine 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.

Önceki bölümde örneklerle UNIQUE kısıtlama işlemleri oluşturmayı zaten tartışmıştık. Bu bölümde, UNIQUE kısıtlama işleminin kaldırılmasını örneklerle tartışacağız.

Neo4j CQL, bir düğüm veya ilişki özelliğinden mevcut Benzersiz kısıtlamayı silmek için "DROP CONSTRAINT" komutu sağlar.

Sözdizimi

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

DROP CONSTRAINT ON (node:label) 
ASSERT node.id IS UNIQUE

Misal

Aşağıda, mülk üzerindeki UNIQUE kısıtlamasını kaldırmak için örnek bir Cypher Sorgusu verilmiştir. id.

DROP 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 - İstediğiniz sorguyu dolar istemine 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.