← Kembali ke blog

Kueri Konten Web yang Tersimpan Dengan Obsidian Dataview

· Save Team
obsidiandataviewpluginsmarkdownpkmpower-user

Anda sudah menyimpan konten web ke Obsidian selama berminggu-minggu. Vault Anda memiliki 50, mungkin 100 artikel yang sudah diklip. Tapi menemukan yang tepat berarti harus scroll melalui folder atau mengandalkan pencarian teks lengkap.

Dataview mengubah ini. Plugin ini memperlakukan file Markdown Anda seperti database — kueri berdasarkan metadata, filter berdasarkan tag, urutkan berdasarkan tanggal, dan bangun dashboard yang diperbarui secara otomatis.

Berikut cara mengaturnya untuk klip web Anda.

Apa yang Dataview Lakukan

Dataview adalah plugin Obsidian yang memungkinkan Anda mengkueri catatan menggunakan sintaks mirip SQL. Setiap file Markdown menjadi sebuah baris. Setiap field frontmatter menjadi kolom. Setiap kueri mengembalikan tabel live yang diperbarui otomatis.

Fondasinya: Frontmatter

Kekuatan Dataview bergantung pada frontmatter yang konsisten di file klip Anda. Ketika Anda menyimpan konten web dengan Save, tambahkan metadata ini:

---
title: "React Server Components: Panduan Lengkap"
source: "https://example.com/rsc-guide"
clipped: 2026-03-15
type: article
status: unread
tags: [react, server-components, performance]
rating:
---

Field yang membuat klip web bisa dikueri:

  • clipped — kapan Anda menyimpannya
  • type — article, tutorial, documentation, paper, thread
  • status — unread, reading, read, processed
  • rating — 1-5 setelah Anda membacanya (biarkan kosong awalnya)
  • tags — topik yang dibahas

Kueri Esensial

Antrean Bacaan

Lihat semua klip yang belum dibaca, terbaru pertama:

```dataview
TABLE title, type, clipped
FROM "clips"
WHERE status = "unread"
SORT clipped DESC
```

Baru Saja Dibaca

Apa yang Anda proses dalam 30 hari terakhir:

```dataview
TABLE title, rating, tags
FROM "clips"
WHERE status = "read" AND clipped >= date(today) - dur(30 days)
SORT rating DESC
```

Konten Terbaik Berdasarkan Topik

Temukan klip dengan rating tertinggi tentang topik tertentu:

```dataview
TABLE title, rating, source
FROM "clips"
WHERE contains(tags, "react") AND rating >= 4
SORT rating DESC
```

Rincian Jenis Konten

Berapa banyak setiap jenis yang telah Anda simpan:

```dataview
TABLE length(rows) AS Jumlah
FROM "clips"
GROUP BY type
SORT length(rows) DESC
```

Klip yang Perlu Diproses

Temukan konten tersimpan yang belum Anda tinjau:

```dataview
TABLE title, type, clipped
FROM "clips"
WHERE !rating
SORT clipped ASC
LIMIT 10
```

Membangun Dashboard Riset

Buat catatan bernama Dashboard.md yang mengagregasi semua kueri Anda:

# Dashboard Riset

## Antrean Bacaan ({{date}})

### Artikel Belum Dibaca
(kueri dataview di sini)

### Sedang Dibaca
(kueri dataview di sini)

## Simpanan Minggu Ini
(kueri dataview di sini)

## Konten Rating Tertinggi
(kueri dataview di sini)

## Berdasarkan Topik
(kueri dataview di sini)

Dashboard ini diperbarui otomatis setiap kali Anda membukanya. Tidak perlu pemeliharaan manual.

Lanjutan: Inline Queries

Dataview juga mendukung inline queries di dalam catatan Anda. Referensikan jumlah klip atau metadata di mana saja:

Bulan ini saya telah menyimpan `= length(filter(pages("clips"), (p) => p.status = "read"))` artikel,
dengan rating rata-rata
`= round(average(filter(pages("clips"), (p) => p.rating).rating), 1)`.

Ini ditampilkan sebagai teks biasa: “Bulan ini saya telah menyimpan 23 artikel, dengan rating rata-rata 3.8.”

DataviewJS untuk Kueri Kompleks

Untuk analisis yang lebih kompleks, gunakan DataviewJS (JavaScript):

```dataviewjs
// Tampilkan klip per minggu selama 8 minggu terakhir
const clips = dv.pages('"clips"')
  .where(p => p.clipped)
  .sort(p => p.clipped, 'desc');

const weeks = {};
for (const clip of clips) {
  const week = clip.clipped.toFormat("yyyy-'W'WW");
  weeks[week] = (weeks[week] || 0) + 1;
}

dv.table(
  ["Minggu", "Klip Tersimpan"],
  Object.entries(weeks).slice(0, 8).map(([week, count]) => [week, count])
);
```

Tips untuk Data yang Bersih

Gunakan Template

Buat template klip dengan frontmatter yang sudah terisi sehingga setiap simpanan konsisten:

---
title: ""
source: ""
clipped: {{date}}
type: article
status: unread
tags: []
rating:
---

Normalkan Tag Anda

Pilih set standar dan konsistenlah. react bukan React atau reactjs. performance bukan perf atau web-performance. Tag yang tidak konsisten merusak kueri Dataview.

Perbarui Status Setelah Membaca

Field status hanya berfungsi jika Anda memperbaruinya. Ketika Anda selesai membaca klip, luangkan 10 detik untuk mengubah status: unread menjadi status: read dan tambahkan rating.

Simpan URL Sumber

Field source memungkinkan Anda selalu kembali ke halaman asli. Dataview dapat merender ini sebagai link yang bisa diklik:

```dataview
TABLE title, "[Link](" + source + ")" AS Sumber
FROM "clips"
WHERE status = "read"
SORT clipped DESC
LIMIT 20
```

Mengapa Markdown Bersih Penting Di Sini

Dataview mengkueri frontmatter Anda, tapi Anda juga secara rutin mencari konten klip. Di sinilah ekstraksi bersih Save memberikan manfaat.

Ketika Anda mencari di vault untuk “server components streaming,” Anda ingin menemukan paragraf yang relevan di klip Anda — bukan menu navigasi, cookie banner, atau widget sidebar. Markdown bersih berarti hasil pencarian yang bersih.

Memulai

  1. Instal plugin Dataview di Obsidian (Community Plugins → Cari “Dataview”)
  2. Instal Save untuk web clipping yang bersih
  3. Tambahkan frontmatter ke 5 klip berikutnya menggunakan template di atas
  4. Buat catatan Dashboard dengan kueri antrean bacaan
  5. Saksikan vault Anda berubah dari tumpukan file menjadi basis pengetahuan yang bisa dikueri