Gespeicherte Webinhalte mit Obsidian Dataview abfragen
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
- Das Dataview-Plugin in Obsidian installieren (Community Plugins → “Dataview” suchen)
- Save fuer sauberes Web Clipping installieren
- Frontmatter zu Ihren naechsten 5 Clips mit der obigen Vorlage hinzufuegen
- Eine Dashboard-Notiz mit der Leselisten-Abfrage erstellen
- Zusehen, wie sich Ihr Vault von einem Haufen Dateien in eine abfragbare Wissensbasis verwandelt