Obsidian Dataview: kopyalanabilir sorgularla uygulamalı rehber

Dataview, bir Obsidian vault'unu veritabanı gibi sorgulanabilir hâle getiren topluluk eklentisidir. Normal notlar yazmaya devam edersiniz, her notun başına birkaç özellik eklersiniz ve Dataview bunlardan sürekli güncel listeler ve tablolar kurar: bu ay teslim edilecek her proje, okumakta olduğunuz her kitap, iki aydır aramadığınız her müşteri. Hiçbir şey kopyalanmaz ya da dışa aktarılmaz, bu yüzden bir not değiştiği anda tablolar da değişir. Bu rehber gerçekten kullanacağınız sorguları, kendi vault'larımızdaki panolardan alınmış örneklerle anlatıyor.

Obsidian Dataview eklentisi ne yapar

Dataview notlarınızdan üç tür veri okur. Özellikler, notun başında üç tireden oluşan iki satır arasındaki YAML bloğudur. Satır içi alanlar metne anahtar:: değer şeklinde ya da bir görev satırında köşeli parantez içinde yazılır. Örtük alanlar Obsidian'ın zaten bildikleridir: file.name, file.ctime, file.tags ve file.link gibi. Sorgu, dili dataview olan bir kod bloğudur ve okuma görünümünde liste, tablo, görev listesi ya da takvim olarak görünür. Özellikli bir not şöyle görünür:

---
status: aktif
due: 2026-11-27
owner: Lina
---
# Web sitesi yenileme

Anahtarlar (status, due, owner) değerler Türkçe olsa bile İngilizce ve Türkçe karakter kullanmadan yazılır. Dataview Türkçe anahtarları da kabul eder, ama sorumlu_kişi gibi ı, ş, ğ içeren bir anahtarı her sorguda birebir aynı yazmanız gerekir. Başka kaynaklardan gelen şablonlar da neredeyse her zaman İngilizce anahtarlar kullanır. Tüm vault'larımız bu kurala uyar.

Dataview'i kurun ve ilk sorgunuzu yazın

Ayarlar'da Topluluk Eklentileri bölümünü açın, kısıtlı mod hâlâ açıksa kapatın, Göz at'ı seçin ve Dataview'i arayın. Kurun, etkinleştirin, hepsi bu: ilk sorgudan önce ayarlanacak bir şey yok. Bir not oluşturun, dili dataview olan bir kod bloğu ekleyin ve en basit sorguyla, bir klasördeki tüm notların listesiyle başlayın:

```dataview
LIST
FROM "Projeler"
```

Okuma görünümüne geçince blok bir bağlantı listesine dönüşür. LIST yerine TABLE yazıp sütun olarak istediğiniz özellikleri sıralarsanız bir proje takip tablonuz olur:

```dataview
TABLE status, due, owner
FROM "Projeler"
WHERE status = "aktif"
SORT due ASC
```

Dataview sorgu söz dizimi: FROM, WHERE, SORT ve GROUP BY

Her sorgu türüyle başlar, yani LIST, TABLE, TASK ya da CALENDAR, ardından sırayla çalışan isteğe bağlı komutlar gelir. FROM kaynağı seçer: tırnak içinde bir klasör, #kitap gibi bir etiket ya da geçerli nota bağlantı veren notlar için [[]]. Kaynaklar AND, OR ve dışarıda bırakmak için başa konan eksi işaretiyle birleştirilir. WHERE yalnızca koşula uyan satırları bırakır, örneğin WHERE status = "aktif" ya da WHERE due <= date(today). SORT bir ya da daha fazla alana göre artan veya azalan sıralar, LIMIT da satır sayısını sınırlar. Klasörler ve değerler Türkçe olsa da komutlar İngilizce kalır.

Tabloları gerçekten işe yarar kılan GROUP BY'dır. Aynı değeri paylaşan satırları grup başına tek satırda toplar ve özgün notlar rows adlı bir listeye geçer. Bu listeyi length(rows) ile sayar, sum(rows.value) ile toplarsınız. Grubun kendi değerinin adı key'dir. Bu sorgu projeleri duruma göre sayar:

```dataview
TABLE rows.file.link AS "Notes", length(rows) AS "Count"
FROM "Projeler"
GROUP BY status
```

Neredeyse herkesi takan iki ayrıntı var. Tire içeren bir özellik adı çıkarma işlemi gibi okunur, bu yüzden row["date-started"] şeklinde yazılmalıdır. Kitap notları vault'umuz okuma tarihlerini böyle okur. Ayrıca TABLE'dan sonra gelen WITHOUT ID, ilk sütunu kendiniz seçmek istediğinizde otomatik dosya adı sütununu gizler.

Obsidian'da Dataview ile görevler: tüm vault'taki onay kutularını sorgulamak

Bir TASK sorgusu notları değil onay kutularının kendisini döndürür ve bunları sonuçların içinde doğrudan işaretleyebilirsiniz. Dataview görev satırına satır içi alan olarak yazılan son tarihi okur, Tasks eklentisinin 📅 tarihini de anlar:

- [ ] Revize teklifi gönder [due:: 2026-10-28]
```dataview
TASK
FROM "Projeler"
WHERE !completed AND due AND due <= date(today)
GROUP BY file.link
```

Görevler sisteminizin merkezindeyse Tasks eklentisinin söz dizimi ve tekrar özellikleri daha zengindir. Obsidian'da görevler rehberimiz ikisini karşılaştırıyor. Görevler, notları ve özellikleri de gösteren bir panonun yalnızca bir parçasıysa Dataview daha iyi bir seçimdir.

Vault'larımızdan Dataview tablo örnekleri

Bu bölümdeki her sorgu indirebileceğiniz bir vault'ta çalışıyor, yani açıp sonucu gerçek verilerle görebilirsiniz. Proje yönetimi vault'u aktif projeleri teslim tarihine göre listeler. D&D kampanya vault'u, DM ekranında her NPC'yi GROUP BY location ile konuma göre gruplar. Kitap notları vault'u okumakta olduklarınızı ve bitirdiklerinizi puanlarıyla gösterir. Öğrenci vault'u, WHERE due AND due >= date(today) ile bugünden sonraki ödevleri listeler. En ileri gideni Obsidian CRM şablonumuz: bu haftanın takipleri, aşamaya göre fırsat tutarı ve 60 gündür konuşmadığınız kişiler, date(today) - last_contact > dur(60 days) ile.

Obsidian Dataview mı, Bases mi

Bases, 2025'te Obsidian'a eklenen bir çekirdek eklentidir. O da özellikleri tabloya çevirir, ama görünümü sorgu yazmak yerine tıklayarak kurarsınız ve değerleri doğrudan tabloda düzenleyebilirsiniz. Bir base, tanımı okunabilir YAML olan bir .base dosyası olarak kaydedilir:

filters:
  and:
    - file.inFolder("Projeler")
views:
  - type: table
    name: All
    groupBy:
      property: status
      direction: ASC

Hiçbir şey kurmadan, notları ve özelliklerini elektronik tablo gibi düzenlemek istediğinizde Bases'i kullanın. Bases'in yapamadıkları için Dataview'de kalın: notun ortasına gömülen sorgular, görev sorguları, kaynak olarak notlar arası bağlantılar, "60 gündür dokunulmadı" gibi tarih hesapları ve DataviewJS ile JavaScript sorguları. Birçok vault ikisini birlikte kullanır. CRM vault'u da aynı veriler üzerinde karşılaştırabilmeniz için Dataview panosunun yanında Bases ile bir satış hattı sunar.

Bir Dataview sorgusu neden sonuç göstermez

Boş tabloların çoğunun dört nedeninden biri vardır ve bunlardan ikisi tam da Türkiye'ye özgüdür. Birincisi tarih. due: 28.10.2026 yazarsanız Dataview bunu metin olarak saklar ve date(today) ile karşılaştırma hiçbir zaman tutmaz: tarihleri her zaman YYYY-AA-GG biçiminde yazın. İkincisi ondalıklar. Binlik noktası ve virgüllü tutar: 1.500,50 de Dataview için metindir ve sum() onu atlar. Tutarları 1500.50 şeklinde ya da kuruşsuz yazın. Diğer ikisi her yerde geçerlidir: FROM'daki klasör gerçek yolla eşleşmiyordur (büyük-küçük harfe duyarlıdır ve alt klasörlerde tam yol gerekir) ya da hâlâ düzenleme görünümündesinizdir ve sorgu kod olarak görünüyordur. Tablolardaki tarihlerin 28.10.2026 şeklinde görünmesini istiyorsanız Dataview ayarlarındaki tarih biçimine dd.MM.yyyy yazın. Bu alan Obsidian şablonlarının değil Luxon'un kodlarını kullanır, bu yüzden yyyy küçük harfle yazılır.