How to use the Obsidian Dataview plugin
Based on Nicole van der Hoeven's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
Obsidian Dataview turns vault notes into a database so they can be searched and reshaped using live queries.
Briefing
Obsidian Dataview turns an entire Obsidian vault into a queryable database, letting notes behave less like a static archive and more like structured knowledge that can be searched, filtered, and reshaped on demand. The core promise is practical: instead of building a “second brain” that merely mirrors the first brain’s weaknesses at retrieval and storage, Dataview supports a bottom-up note-taking workflow where raw notes accumulate—then become usable through metadata and live queries.
Dataview is an Obsidian community plugin that converts notes into database records. It can feel daunting because metadata and queries add complexity, but the workflow can stay simple: annotate only what matters, then query only what you need. Installation is straightforward—open Obsidian Settings, disable safe mode if necessary, browse Community Plugins, install Dataview, and enable it.
Using Dataview has two distinct steps. First comes annotation: each note can be labeled with fields that Dataview will index. Those fields can be written directly in the note body using “double colons,” or hidden in YAML front matter using three dashes at the top and bottom. Either way, the parameters are treated the same; the YAML approach just keeps metadata out of the visible preview. In the example, a “person” note for Kieran includes fields like type, location, date_met, tags such as D&D, and a project assignment like Project X.
Second comes querying. Dataview queries live inside code blocks that begin and end with three backticks, and the block is tagged as either dataview (DQL) or dataview JS. Queries start by choosing a view type—lists, tables, tasks, or calendars—then selecting which annotated fields to display. Results can be limited by adding a FROM clause (such as a folder like “Meetings” or a tag filter like #meeting) and narrowed further with WHERE criteria based on the metadata fields. SORT can order results, commonly with file.name ASC for alphabetical ordering.
The transcript walks through how small metadata changes update multiple views automatically. A Project X page can generate a list or table of people assigned to that project using WHERE type is person AND project = "Project X". When a meeting note is created with fields like meeting, project, attendees, and summary, a Dataview table on the Project X page can pull meeting date and summary—either by filtering with type = meeting or by restricting the query to the Meetings folder. A glossary example shows how tags can drive retrieval: a performance testing glossary table lists terms and definitions only when tags include “glossary” and optionally when tags contain “performance.”
Other examples show Dataview’s breadth: a “books I read in 2022” page filters Readwise-imported notes by date (date >= 2022-01-01) and displays rating, title, and date; a tasks view pulls only incomplete tasks tied to Project X; and a calendar view uses file.mtime to show recently modified notes, again filtered by tags like #books. The takeaway is that Dataview helps prevent hoarding by turning scattered notes into a living database of what’s actually been learned—without requiring notes to be perfectly categorized at creation time.
Cornell Notes
Obsidian Dataview converts notes in an Obsidian vault into a database that can be queried. The workflow has two parts: annotate notes with metadata fields (either inline with double colons or in YAML front matter) and then write Dataview queries in code blocks to generate views. Queries can produce lists, tables, tasks, or calendars, and they can be narrowed using FROM filters and WHERE criteria based on the metadata. Because queries are dynamically generated, updating a note’s metadata automatically updates every Dataview view that depends on it. This matters for “bottom-up” note-taking: raw notes can accumulate, then become searchable and usable through metadata-driven retrieval rather than rigid upfront categorization.
Why does Dataview matter for a “second brain” approach, and what problem does it target?
What are the two steps required to use Dataview effectively?
How can a query be narrowed so it doesn’t return every note in the vault?
How does Dataview handle updates when metadata changes?
What’s the difference between filtering meeting results by type versus by folder?
How do tasks and calendars fit into Dataview’s query types?
Review Questions
- What metadata annotation method (inline double colons vs YAML front matter) would you choose if you want metadata hidden from the note preview, and why?
- Write a Dataview query conceptually (not necessarily exact syntax) to list all glossary terms whose tags include “performance.” What fields and filters would you need?
- How would you prevent a Project X “meetings” table from showing person notes that also have project = "Project X"? Name two filtering strategies mentioned in the transcript.
Key Points
- 1
Obsidian Dataview turns vault notes into a database so they can be searched and reshaped using live queries.
- 2
Use annotation to add metadata fields to notes, either inline with double colons or in YAML front matter to hide parameters from preview.
- 3
Dataview queries run inside triple-backtick code blocks labeled dataview (DQL) or dataview JS, and they generate lists, tables, tasks, or calendars.
- 4
Use WHERE to narrow results based on annotated fields, and use FROM to restrict by folder or tag to avoid overwhelming output.
- 5
Dataview views update automatically when note metadata changes, so you don’t need to rewrite queries after edits.
- 6
Folder structure and metadata both work as filters—for example, meeting tables can be limited by type = meeting or by FROM "Meetings".
- 7
Dataview can support learning workflows like glossaries, reading trackers (e.g., Readwise-imported notes), and task follow-ups without forcing perfect upfront categorization.