Get AI summaries of any video or article — Sign up free
The past and potential of Dataview with Michael Brener and Marcus Olsson thumbnail

The past and potential of Dataview with Michael Brener and Marcus Olsson

Obsidian·
5 min read

Based on Obsidian's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

Dataview adds metadata and a full query language to Obsidian vaults, enabling tables, lists, calendars, and custom views driven by note attributes.

Briefing

Dataview has become a metadata-and-query layer for Obsidian vaults, turning scattered Markdown notes into something closer to a searchable database—fast enough to render results in milliseconds. Michael Brenner, the plugin’s primary maintainer, frames Dataview as a “power user” step beyond links and tables: instead of forcing notes into pre-built structures, it lets users attach metadata (via YAML front matter or inline fields) and then generate lists, tables, calendars, and other custom views from arbitrary queries.

Brenner describes the core workflow as “defer the organization.” Users write notes with minimal overhead—often just a note plus tags and a few metadata fields—then later decide how to view and combine that information. Dataview effectively acts as a search engine or metadata engine across the entire vault, supporting a full query language that can filter and visualize notes by any attribute. Performance is a major selling point: query times are typically under 100 milliseconds on average, with render times often under 20 milliseconds, enabling near-instant feedback when exploring a vault.

Dataview’s influence extends beyond end users. Brenner says other plugin developers can call Dataview directly, running queries and receiving JavaScript or TypeScript results that plugins can render inside their own interfaces. He notes that multiple existing Obsidian plugins use Dataview’s API, including ones that integrate optionally and others that provide folder-based ways to use Dataview.

The plugin’s origins were modest. Dataview began as a roughly 50-line addition to Obsidian’s sample plugin—initially to list files matching a substring. Over time, the idea evolved into a small scripting language for listing notes by tag or folder, with the broader goal of letting people write notes first and query them later in any arrangement they want.

Brenner credits the Obsidian community for Dataview’s rapid growth. After he shared early screenshots in Discord in late February 2021, users and contributors expanded documentation, answered query questions, and helped refine how people learn the query language. He also emphasizes that Dataview is a long-term project he works on in cycles—periods of heavy development followed by pauses to ensure stability.

Looking ahead, Brenner highlights two major directions. First is data security and portability: because Dataview is a query layer rather than a primary storage format, he wants users to be able to export the generated tables and views as real Markdown, so the information remains accessible even if someone leaves Obsidian or stops using the plugin. Second is improving how users manage and discover large amounts of metadata—especially visualization, migrations, and editing workflows.

A recurring theme is lowering the barrier for non-programmers. Dataview queries are written in code blocks, and Brenner acknowledges that the query language has grown complex. He’s working on an alternative query syntax intended to support a bare-bones visual editor—potentially with a GUI that generates queries for common operations, while still allowing advanced users to switch to raw query mode. He also points to the value of examples and documentation, noting that learning Dataview often comes down to “programming by example.”

Cornell Notes

Dataview adds metadata and a query language to Obsidian vaults, letting users treat Markdown notes like a database. Instead of organizing notes upfront into fixed tables, users can write notes with tags and metadata, then generate lists, tables, calendars, and custom views later using arbitrary queries. Dataview is fast, with typical query times under 100 ms and render times under 20 ms. Plugin developers can also call Dataview’s API to run queries and use the results in their own plugins. Future priorities include portability/export of generated views to Markdown and making query building easier through a more GUI-friendly syntax and visual editor.

What makes Dataview more than “just search” inside Obsidian?

Dataview turns Markdown notes into queryable data by letting users attach metadata—either via YAML front matter or inline fields (key:: value syntax). Queries can then filter notes by any attribute and render results as tables, lists, calendars, and other custom views. That means the vault isn’t only searchable by text; it’s searchable and viewable by structured metadata.

How does Dataview support the “defer organization” workflow?

Users can write notes with minimal upfront structure: add a note plus tags and a few metadata fields, without deciding in advance how the information should be organized. Later, Dataview queries bring related notes together into a chosen view (for example, a table for books or a list grouped by a field). This reduces the overhead of maintaining fixed tables while capturing data.

Why does Dataview matter to plugin developers, not only end users?

Dataview exposes an API that other plugins can call. Developers can run Dataview queries and receive JavaScript or TypeScript results, then render them inside their own plugin UI. Brenner notes that multiple existing Obsidian plugins already use Dataview in this way, including folder-based approaches and optional integrations.

Where did Dataview come from, and how did it evolve?

It started as a small feature—about a 50-line addition to Obsidian’s sample plugin—to list files matching a substring. The concept expanded into a lightweight scripting/query approach for listing notes by tag or folder, with the broader goal of letting users write notes first and query them later in whatever format they want.

What are the two main roadmap directions Brenner highlights?

First is data security/backup and portability: exporting generated tables/views into true Markdown so users can keep the information even if they stop using Dataview or leave Obsidian. Second is improving handling of large metadata sets—especially visualization, migrations, and editing workflows—so users can discover what they have and transform it when needed.

How is Brenner trying to make Dataview easier for non-programmers?

Dataview currently relies on code blocks with a query language that can be hard to learn. Brenner is working on an alternative query syntax designed to enable a bare-bones visual editor. The likely model is a GUI that generates queries for common operations (grouping, filtering, flattening) while still allowing advanced users to edit raw queries in code mode.

Review Questions

  1. How do YAML front matter and inline fields differ as ways to store metadata for Dataview queries?
  2. Describe the “defer organization” workflow and explain how Dataview changes the cost of organizing notes.
  3. What portability/export goal would address the risk of relying on an ephemeral plugin-generated view?

Key Points

  1. 1

    Dataview adds metadata and a full query language to Obsidian vaults, enabling tables, lists, calendars, and custom views driven by note attributes.

  2. 2

    Users can attach metadata via YAML front matter or inline fields (key:: value), then generate views later instead of organizing upfront.

  3. 3

    Typical performance targets are under 100 ms for average query times and under 20 ms for average render times, supporting fast vault exploration.

  4. 4

    Dataview is usable by other plugins through an API that can run queries and return JavaScript/TypeScript results for custom rendering.

  5. 5

    Dataview’s origin was a small file-listing feature in the Obsidian sample plugin, later expanded into a queryable metadata system.

  6. 6

    Roadmap priorities include portability (exporting generated views to real Markdown) and better support for managing large metadata sets.

  7. 7

    A major usability goal is reducing the learning barrier by developing a GUI-friendly query syntax and a visual query builder for common operations.

Highlights

Dataview reframes Obsidian notes as queryable data: metadata plus arbitrary queries can instantly generate structured views across a vault.
The plugin’s “defer organization” approach aims to minimize upfront overhead—write notes with tags/fields now, decide on views later.
Brenner wants generated tables to be exportable as true Markdown so users aren’t locked into an ephemeral, plugin-dependent rendering layer.
Dataview’s API lets other Obsidian plugins run Dataview queries and consume results as JavaScript/TypeScript.
A planned visual editor would likely generate queries for common tasks while still letting power users switch to raw query code.

Topics

  • Dataview Overview
  • Metadata Fields
  • Query Language
  • Plugin API
  • Portability Roadmap

Mentioned