简介

把所有的资料库信息当做数据库,使用数据库的语言去查询资料信息

Obsidian 查询依据包含:YAML 数据 、MetaInfo

每个 Obsidian 文件都有相对应的属性,类似于数据库表格的字段。

Obsidian 文件的 MetaInfo 属性如下:

  • file.name 文件标题
  • file.folder 文件所属的文件夹路径
  • file.path 文件路径
  • file.size 文件大小
  • file.ctime 文件的创建时间 (包含日期和时间)
  • file.mtime 文件的修改时间
  • file.cday 文件的创建日期
  • file.mday 文件的修改日期
  • file.tags 笔记中的所有标签数组
  • file.etags root 标签
  • file.inlinks 此文件的传入链接数组
  • file.outlinks 此文件的出站链接数组
  • file.aliases 文件别名数组
  • file.day 如果文件名中有日期,那么该字段会显示。

Obsidian 中支持的 YAML 格式:

系统自带的 YAML 字段

  • tags
  • publish
  • cssclass
  • aliases

自定义字段

  • category
  • date
  • time
  • title
  • rating

Dataview 中的查询语法

[ list | table | task ]
from [ #tag | 文件夹 | [入链接] | [出链接] ]
where fileld [ > | >= | < | <= | = | & | ' | ' ]
sort field

查询使用示例

查询指定文件夹下的文件

list 
from "代办事项"

查询文件中标签包含 Jenkins 的文件

list
from #Jenkins 

查询文件中 tags 包含 mavencategory学习笔记 的文件

list
from #Maven 
where category = "学习笔记"

标签包含 HashMap 文件中的所有标签

list file.tags
from #HashMap 

使用 table 表格的形式展示标签为 年终总结 的文件,展示 file.namefile.size

table file.name as 文件名,file.size as "文件大小", tags as 标签
from #Maven  

展示 待办事项 文件夹下的子文件 生活类博客 中的所有 task

task
from "代办事项/生活类博客"