← Zurück zum Blog

Gespeicherte Webinhalte mit Obsidian Dataview abfragen

· Save Team
obsidiandataviewpluginsmarkdownpkmpower-user

Sie speichern seit Wochen Webinhalte in Obsidian. Ihr Vault hat 50, vielleicht 100 geclippte Artikel. Aber den richtigen zu finden bedeutet, durch Ordner zu scrollen oder sich auf die Volltextsuche zu verlassen.

Dataview aendert das. Es behandelt Ihre Markdown-Dateien wie eine Datenbank --- fragen Sie sie nach Metadaten ab, filtern Sie nach Tags, sortieren Sie nach Datum und bauen Sie Dashboards, die sich automatisch aktualisieren.

So richten Sie es fuer Ihre Web-Clips ein.

Was Dataview macht

Dataview ist ein Obsidian-Plugin, mit dem Sie Ihre Notizen in einer SQL-aehnlichen Syntax abfragen koennen. Jede Markdown-Datei wird zu einer Zeile. Jedes Frontmatter-Feld wird zu einer Spalte. Jede Abfrage liefert eine lebendige, sich automatisch aktualisierende Tabelle.

Die Grundlage: Frontmatter

Dataviews Staerke haengt von konsistentem Frontmatter in Ihren geclippten Dateien ab. Wenn Sie Webinhalte mit Save speichern, fuegen Sie diese Metadaten hinzu:

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

Felder, die Web-Clips abfragbar machen:

  • clipped --- wann Sie es gespeichert haben
  • type --- article, tutorial, documentation, paper, thread
  • status --- unread, reading, read, processed
  • rating --- 1-5 nachdem Sie es gelesen haben (anfangs leer lassen)
  • tags --- behandelte Themen

Wichtige Abfragen

Leseliste

Alle ungelesenen Clips anzeigen, neueste zuerst:

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

Kuerzlich gelesen

Was Sie in den letzten 30 Tagen verarbeitet haben:

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

Beste Inhalte nach Thema

Ihre am hoechsten bewerteten Clips zu einem bestimmten Thema finden:

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

Aufschluesselung nach Inhaltstyp

Wie viele von jedem Typ Sie gespeichert haben:

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

Clips, die verarbeitet werden muessen

Gespeicherte Inhalte finden, die Sie noch nicht durchgesehen haben:

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

Ein Recherche-Dashboard aufbauen

Erstellen Sie eine Notiz namens Dashboard.md, die alle Ihre Abfragen zusammenfasst:

# Recherche-Dashboard

## Leseliste ({{date}})

### Ungelesene Artikel
(Dataview-Abfrage hier)

### In Bearbeitung
(Dataview-Abfrage hier)

## Diese Woche gespeichert
(Dataview-Abfrage hier)

## Am besten bewertet
(Dataview-Abfrage hier)

## Nach Thema
(Dataview-Abfrage hier)

Dieses Dashboard aktualisiert sich automatisch jedes Mal, wenn Sie es oeffnen. Keine manuelle Pflege erforderlich.

Fortgeschritten: Inline-Abfragen

Dataview unterstuetzt auch Inline-Abfragen innerhalb Ihrer Notizen. Referenzieren Sie Clip-Zaehler oder Metadaten ueberall:

Ich habe `= length(filter(pages("clips"), (p) => p.status = "read"))` Artikel
diesen Monat gespeichert, mit einer Durchschnittsbewertung von
`= round(average(filter(pages("clips"), (p) => p.rating).rating), 1)`.

Das wird als Fliesstext dargestellt: “Ich habe 23 Artikel diesen Monat gespeichert, mit einer Durchschnittsbewertung von 3,8.”

DataviewJS fuer komplexe Abfragen

Fuer komplexere Analysen nutzen Sie DataviewJS (JavaScript):

```dataviewjs
// Clips pro Woche der letzten 8 Wochen anzeigen
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(
  ["Woche", "Gespeicherte Clips"],
  Object.entries(weeks).slice(0, 8).map(([week, count]) => [week, count])
);
```

Tipps fuer saubere Daten

Verwenden Sie eine Vorlage

Erstellen Sie eine Clip-Vorlage mit vorbefuelltem Frontmatter, damit jede Speicherung konsistent ist:

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

Normalisieren Sie Ihre Tags

Legen Sie einen Standard fest und halten Sie sich daran. react statt React oder reactjs. performance statt perf oder web-performance. Inkonsistente Tags machen Dataview-Abfragen kaputt.

Status nach dem Lesen aktualisieren

Das Status-Feld funktioniert nur, wenn Sie es aktualisieren. Wenn Sie einen Clip fertig gelesen haben, nehmen Sie sich 10 Sekunden, um status: unread in status: read zu aendern und eine Bewertung hinzuzufuegen.

Quell-URLs beibehalten

Das source-Feld ermoeglicht es Ihnen, jederzeit zum Original zurueckzukehren. Dataview kann diese als klickbare Links darstellen:

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

Warum sauberes Markdown hier wichtig ist

Dataview fragt Ihr Frontmatter ab, aber Sie durchsuchen auch regelmaessig den Inhalt Ihrer Clips. Hier zahlt sich Saves saubere Extraktion aus.

Wenn Sie Ihren Vault nach “server components streaming” durchsuchen, wollen Sie relevante Absaetze in Ihren Clips finden --- keine Navigationsmenues, Cookie-Banner oder Seitenleisten-Widgets. Sauberes Markdown bedeutet saubere Suchergebnisse.

Erste Schritte

  1. Das Dataview-Plugin in Obsidian installieren (Community Plugins → “Dataview” suchen)
  2. Save fuer sauberes Web Clipping installieren
  3. Frontmatter zu Ihren naechsten 5 Clips mit der obigen Vorlage hinzufuegen
  4. Eine Dashboard-Notiz mit der Leselisten-Abfrage erstellen
  5. Zusehen, wie sich Ihr Vault von einem Haufen Dateien in eine abfragbare Wissensbasis verwandelt