# Çizge Veritabanı

Adres: https://softwaredictionary.org/tr/terimler/graph-database
Kategori: Veritabanları
Son güncelleme: 2026-09-30
İngilizcesi: Graph Database
Türkçe karşılığı: graf veritabanı
Okunuşu: graf deytıbeys

Kısaca: Çizge veritabanı, veriyi ilişkilerle bağlı düğümler olarak saklar; arkadaşların arkadaşları ya da öğe bağımlılıkları gibi bağlantıları izlemeyi hızlandırır.

## Çizge veritabanı nedir?

Çizge veritabanı, veriyi bir çizge olarak saklar: düğümler kişiler, ürünler ya da sunucular gibi şeyleri, kenarlar ise aralarındaki takip eder, satın aldı ya da bağımlıdır gibi ilişkileri temsil eder. Hem düğümler hem ilişkiler özellik taşıyabilir; örneğin bir arkadaşlıkta `since` tarihi gibi. İlişkiler sorgu zamanında hesaplanmak yerine gerçek veri olarak saklanır.

Birçok çizge veritabanı, her düğümün komşularına doğrudan başvurular tuttuğu indekssiz bitişiklik (index-free adjacency) denen bir tasarım kullanır. Bir ilişkiyi izlemek o zaman bir indeks araması yerine hızlı bir sıçramadır; dolayısıyla bir sorgunun maliyeti veritabanının toplam boyutuna değil, çizgenin ne kadarına dokunduğuna bağlıdır. Neo4j gibi özellik çizgesi (property graph) veritabanları Cypher ya da 2024'te yayımlanan ISO standardı GQL gibi dillerle, bağlantılı veri için kullanılan RDF üçlü depoları ise SPARQL ile sorgulanır.

Çizge veritabanı bir metro haritası gibi çalışır: istasyonlar düğümler, hatlar ilişkilerdir ve bir rota bulmak, her istasyonu bir tabloda aramak yerine hatları istasyondan istasyona izlemek demektir. Bu onu sosyal ağlar, öneri motorları, kart ya da cihaz paylaşan hesap halkalarını arayan sahtekârlık tespiti, bilgi çizgeleri (knowledge graph) ve ağ veya servis bağımlılık haritaları için uygun kılar.

Çizge veritabanı çoğu zaman ilişkisel veritabanıyla karşılaştırılır. İlişkisel veritabanları ilişkileri yabancı anahtarlar ve birleştirme tablolarıyla modelleyebilir; ancak birçok sıçramayı izleyen bir sorgu, yavaşlayan ve yazması zor olan bir self join zinciri gerektirir; çizge veritabanı ise tam da bunun için yapılmıştır. Tüm tablolar üzerinde toplamlar ve raporlar için ilişkisel veritabanı genellikle daha iyi araçtır. Çizge veritabanı ayrıca bellek içi bir çizge veri yapısından da farklıdır ve bir API sorgu dili olan GraphQL ile hiçbir ilgisi yoktur.

## Önemli noktalar

- Veri, ikisi de özellik taşıyabilen düğümler ve ilişkiler olarak saklanır.
- Bir ilişkiyi izlemek doğrudan bir sıçramadır; bu yüzden derin gezinmeler hızlı kalır.
- Yaygın sorgu dilleri arasında Cypher, GQL ve SPARQL vardır.
- Tipik kullanımlar sosyal ağlar, öneriler, sahtekârlık tespiti ve bilgi çizgeleridir.
- Benzer adına rağmen çizge veritabanları GraphQL ile ilgisizdir.

## Örnek: Cypher ile arkadaşların arkadaşlarını bulmak

```cypher
// Create two people and a relationship between them
CREATE (:Person {name: "Ada"})-[:FOLLOWS]->(:Person {name: "Linus"});

// Suggest people that Ada's follows follow, but Ada doesn't yet
MATCH (me:Person {name: "Ada"})-[:FOLLOWS]->()-[:FOLLOWS]->(other:Person)
WHERE other <> me AND NOT (me)-[:FOLLOWS]->(other)
RETURN DISTINCT other.name;
```

## Sık sorulan sorular

**GraphQL bir çizge veritabanı mıdır?**

Hayır. GraphQL, istemcilerin hangi alanları alacaklarını seçmesine izin veren bir API sorgu dilidir ve her türlü veritabanının önünde durabilir. Çizge veritabanı ise düğümler ve ilişkiler etrafında kurulmuş bir depolama sistemidir.

**Çizge veritabanı ne zaman kullanılmalı?**

En önemli sorgularınız en kısa yollar, öneriler ya da bağlı grupları tespit etmek gibi birkaç seviye derindeki ilişkileri izliyorsa kullanın. Sorguların çoğu satırları filtreleyip topluyorsa ilişkisel veritabanı genellikle daha basittir.

**Çizge veritabanları hangi sorgu dilini kullanır?**

Özellik çizgesi veritabanları yaygın olarak Cypher ya da ISO standardı çizge sorgu dili GQL'i kullanır; bazıları Gremlin kullanır. RDF üçlü depoları SPARQL kullanır.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
