Запросы к сохранённому веб-контенту с помощью Obsidian Dataview
Вы несколько недель сохраняете веб-контент в Obsidian. В хранилище 50, а то и 100 клипнутых статей. Но чтобы найти нужную, приходится прокручивать папки или полагаться на полнотекстовый поиск.
Dataview меняет это. Он обращается с файлами Markdown как со строками базы данных — делает запросы по метаданным, фильтрует по тегам, сортирует по дате и строит дашборды, которые обновляются автоматически.
Вот как настроить его для веб-клипов.
Что делает Dataview
Dataview — плагин Obsidian, позволяющий запрашивать заметки с помощью SQL-подобного синтаксиса. Каждый файл Markdown становится строкой. Каждое поле frontmatter — столбцом. Каждый запрос возвращает живую, автоматически обновляемую таблицу.
Основа: Frontmatter
Мощь Dataview зависит от последовательного frontmatter в клипнутых файлах. Когда вы сохраняете веб-контент с Save, добавляйте эти метаданные:
---
title: "React Server Components: Полное руководство"
source: "https://example.com/rsc-guide"
clipped: 2026-03-15
type: article
status: unread
tags: [react, server-components, performance]
rating:
---
Поля, делающие веб-клипы запрашиваемыми:
- clipped — когда сохранили
- type — article, tutorial, documentation, paper, thread
- status — unread, reading, read, processed
- rating — 1-5 после прочтения (изначально оставьте пустым)
- tags — охваченные темы
Основные запросы
Очередь чтения
Все непрочитанные клипы, новейшие первыми:
```dataview
TABLE title, type, clipped
FROM "clips"
WHERE status = "unread"
SORT clipped DESC
```
Недавно прочитанные
Обработанное за последние 30 дней:
```dataview
TABLE title, rating, tags
FROM "clips"
WHERE status = "read" AND clipped >= date(today) - dur(30 days)
SORT rating DESC
```
Лучший контент по теме
Наиболее высоко оцененные клипы по конкретной теме:
```dataview
TABLE title, rating, source
FROM "clips"
WHERE contains(tags, "react") AND rating >= 4
SORT rating DESC
```
Клипы, требующие обработки
Сохранённый контент, который вы ещё не просмотрели:
```dataview
TABLE title, type, clipped
FROM "clips"
WHERE !rating
SORT clipped ASC
LIMIT 10
```
Создание исследовательского дашборда
Создайте заметку Dashboard.md, агрегирующую все запросы:
# Исследовательский дашборд
## Очередь чтения ({{date}})
### Непрочитанные статьи
(запрос dataview здесь)
### В процессе
(запрос dataview здесь)
## Сохранённое на этой неделе
(запрос dataview здесь)
## Топ-контент
(запрос dataview здесь)
Этот дашборд обновляется автоматически каждый раз, когда вы его открываете.
Продвинутый уровень: встроенные запросы
Dataview поддерживает встроенные запросы внутри заметок:
В этом месяце я прочитал `= length(filter(pages("clips"), (p) => p.status = "read"))` статей
со средним рейтингом
`= round(average(filter(pages("clips"), (p) => p.rating).rating), 1)`.
DataviewJS для сложных запросов
```dataviewjs
// Клипы по неделям за последние 8 недель
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(
["Неделя", "Сохранено клипов"],
Object.entries(weeks).slice(0, 8).map(([week, count]) => [week, count])
);
```
Советы по чистоте данных
Используйте шаблон
Создайте шаблон клипа с предзаполненным frontmatter:
---
title: ""
source: ""
clipped: {{date}}
type: article
status: unread
tags: []
rating:
---
Нормализуйте теги
Выберите стандартный набор и придерживайтесь его. react, а не React или reactjs. Непоследовательные теги ломают запросы Dataview.
Обновляйте статус после прочтения
Потратьте 10 секунд, чтобы изменить status: unread на status: read и добавить рейтинг.
Сохраняйте URL источников
Поле source позволяет всегда вернуться к оригиналу.
Почему здесь важен чистый Markdown
Dataview запрашивает frontmatter, но вы также регулярно ищете по содержимому клипов. Именно здесь чистое извлечение Save окупается. Чистый Markdown означает чистые результаты поиска.
Начало работы
- Установите плагин Dataview в Obsidian (Сторонние плагины → Поиск «Dataview»)
- Установите Save для чистого веб-клиппинга
- Добавьте frontmatter к следующим 5 клипам, используя шаблон выше
- Создайте заметку-дашборд с запросом очереди чтения
- Наблюдайте, как хранилище превращается из кучи файлов в запрашиваемую базу знаний