Dataview的初次学习

一个很简单的例子

list from "" where contains(file.name,"教程")

详细介绍

目的不是花哨,而是精简的整合自己的笔记,方便查找和翻阅。

代码块开头都省略了dataview提示词

我参考的教程:

obsidian插件之dataview入门 - 经验分享 - Obsidian 中文论坛

效率办公-Obsidain插件之DataView-高效信息动态查询插件 - 哔哩哔哩 (bilibili.com)

Dataview 是一个覆盖OB知识库的实时索引和查询引擎。可以将数据(如标签、日期、代码段、数字等)与笔记相关联,然后查询(如筛选、排序、转换)数据。用一种数据库处理的形式,通过查找字段并筛选,进而使用列表、表格的形式展现出来,也支持JavaScript的高级查询形式。

在文中添加属性的方法

在属性后面加两个英文冒号+一个空格。如何隐藏前面的test属性?加上一对英文括号
test1:: 文中测试属性1
(test2:: 文中测试属性2)

两种代码格式

dataview
dataviewjs,支持JavaScript代码,但我不会写

四种视图:

list 列表,table 表格,task ,calendar 日历

使用语法

TABLE|LIST|TASK(展现形式)   <field> [AS "显示列名"],..., <field> (显示字段)FROM <source> (like #tag or "folder")  (查询地址) 可以根据标签筛选 或者是文件夹WHERE <expression> (like 'field = value')、contains(tags,"ob/ob插件")  (查询条件) 筛选条件SORT <expression> [ASC/DESC] (like 'field ASC')  (排序 asc升序,desc降序)...other data commands  (其他命令,如limit,group by等)
设置字段解释意义必要性
list创建列表,同table、task必要
from检索范围,从哪个文件夹(双引号后面),or标签(写在#后面)不必要
where聚合条件,contains(file.name,“文件名”)不必要
sort排序条件,根据什么排序 sort file.ctime不必要

以上解释希望你看懂了。举一个简单的例子:

dataview list from "" where contains(file.name,"习惯")

  • list:你创建了一个列表/清单。
  • from:留空就是不筛选文件夹和标签,从所有笔记文件去找。
  • where条件:匹配(contains)了文件名(file.name)中包含“习惯”两个字的笔记
    如果你需要排序,就写sort,不需要,留空就可以。

你应该发现了file.namefile.ctime的写法,没错,这是dataview内置的。下面是dataview官网中描述的支持的元数据,都可以供搜索和排序语法使用。在后面将要说到的创建table,还可以作为列显示。

Dataview自动为每个页面添加了大量的元数据:

  • file.name 文件标题(字符串)
  • file.folder 该文件所属文件夹的路径
  • file.path 完整的文件路径(字符串)
  • file.link 文件的链接(连接)
  • file.size 文件的大小,以字节为单位,是一个数字
  • file.ctime 文件创建的日期(日期+时间)
  • file.cday 文件创建的日期(只是一个日期)
  • file.mtime 文件上次修改的日期(日期+时间)
  • file.mday 文件上次修改的日期(只是一个日期)
  • file.tags 笔记中所有标签的数组,子标签按每个级别细分,因此,#Tag/1/A 将存储在数组中,作为[#Tag, #Tag/1, #Tag/1/A]
  • file.etags
  • file.inlinks 指向此文件的所有传入链接的数组
  • file.outlinks 此文件所有的出站链接的数组
  • file.aliases 注释的所有别名数组

场景:假设,你有几篇笔记,打了同一个标签,比如#时间管理。现在你想要把时间管理标签下的笔记形成一个目录。

还记得上面的4个关键设置字段吗?from是检索范围,既可以从文件夹,又可以从标签。
dataview list from #时间管理
不需要排序的话,代码就是这么简单。

List查询

代码块开头都省略了dataview提示词

list "笔记名" + file.name +file.size
from ""
where contains(tags,"学术概念")
sort file.name

table查询

注意: table 中的表头定义的字段结尾要写英文逗号

table(file.mtime + dur(1 day)) as "最后编辑时间",file.size as "文件大小",class as "分类",file.ctime as "创建时间",tags
from #学术概念 
sort file.size desc

task查询

task
from ""
where !completed
group by file.ctime

查询未完成的,按照最后编辑时间分组

calender查询

calendar file.ctime from ""

进阶关键查询命令

from

  • 标签 from #论文阅读
  • 文件夹 从文件夹(和子文件夹) from “floder”
  • 链接 要获取连接到note的所有页面,
from [[note]] 
  • 链接 获取连接FROM note的所有页面(即该文件中的所有链接
from outgoing([[note]])

也可以用一些 and 和 or 联合查询。
例如返回文件夹和标签中的所有页面#tag and "folder"
[[food]] or [[note]]将会给出任何链接到[[food]]or [[note]]的页面
也可以使用否定来获取与源不匹配的任何内容 -
-#tag
#tag and -"folder"仅包含tag标记的文件,并且这些文件不再"folder"中

where
筛选字段上的页面,只有句子计算结果为true的页面才会生成

sort
按照一个或者多个字段对所有结果进行排序
sort date [asc/desc]
还可以提供多个字段作为排序依据,即如果发生凭据就用第二个字段将并列字段进行排列,以此类推
sort field1 [ASC/DESC] , ... , fieldn [ASC/DESC]

GROUP BY
对字段上的所有结果进行分组,每个唯一字段值生成一行,该值具有两个属性:

  • 对应于要分组的字段
  • 数组字段包含所有匹配的页面
    这个语法还没用过,具体用法还要查一下别的资料

flatten
在每行中展平数组,在数组中的每个条目生成一个结果行。
flatten field flatten (computed_field) as name
举例:将每个文献注释中的字段合为每位作者authors一行
table authors from #literatureNote flatten authors

limit
将结果限制为最多N个值
举例:
limit 5 sort date asc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/50375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB教程 :MongoDB全文检索

MongoDB Full-Text Search Tutorial MongoDB provides a robust full-text search functionality that allows for efficient and powerful text searching capabilities. Here’s a comprehensive guide on how to utilize MongoDB’s full-text search. 1. Setting Up Mong…

【日常记录-JS】获取URL参数

Author&#xff1a;赵志乾 Date&#xff1a;2024-07-24 Declaration&#xff1a;All Right Reserved&#xff01;&#xff01;&#xff01; 1. 简介 实际项目中经常有些落地页会携带参数&#xff0c;并要求在发起请求时将携带的参数一并传递至后台服务。例如两个独立系统A和B&…

Linux系统上安装zookeeper

百度网盘 通过网盘分享的文件&#xff1a;zookeeper_linux 链接: https://pan.baidu.com/s/1_hybXZVwTRkotz0VbwbSMw?pwd8888 提取码: 8888 1.将压缩包拖进虚拟机 2.解压压缩包 cd /ruanjian/zookeeper/ tar -zxvf apache-ZooKeeper-3.7.2-bin.tar.gz3. 进入到conf目录 cd …

《python程序语言设计》第6章12题 显示字符,使用下面的函数头,编写一个打印字符的函数

def printChars(ch1, ch2, numberPerLine):a ord(ch1)b ord(ch2)count 0for i in range(a, b 1):count 1print(chr(i), end" ")if count % numberPerLine 0:print()printChars("1", "Z", 10)

以FastGPT为例提升Rag知识库应用中的检索召回命中率

提升Rag知识库应用中的检索召回命中率 在构建Rag&#xff08;Retrieval-Augmented Generation&#xff09;知识库应用时&#xff0c;检索召回知识片段的命中率是至关重要的。高效、准确的检索机制是确保AI系统能够精准响应用户查询的基础。当前&#xff0c;FastGPT主要采用三种…

使用python中的特殊字典——defaultdict

专栏总目录 一、defaultdict说明 在Python中是一个特殊类型的字典&#xff0c;它是collections模块中的一个类defaultdict的实例。这个字典与普通的字典dict不同之处在于&#xff0c;当你试图访问一个不存在的键时&#xff0c;defaultdict会自动创建一个新条目&#xff0c;其值…

使用SpringBoot集成Kafka实现用户数据变更后发送消息

概述 当使用Spring Boot集成Kafka实现用户数据变更后&#xff0c;向其他厂商发送消息&#xff0c;我们需要考虑以下步骤&#xff1a;配置Kafka连接、创建Kafka Producer发送消息、监听用户数据变更事件&#xff0c;并将事件转发到Kafka。 1. 环境准备 确保已经安装Java开发环…

【java基础】java中配置文件格式以及读取方式

在Java中&#xff0c;配置文件可以采用多种格式&#xff0c;每种格式都有其特定的使用场景和优势。以下是一些常见的配置文件格式以及如何在Java中读取它们的方法&#xff1a; 1. Properties 文件 (.properties) Properties 文件是一种常见的配置文件格式&#xff0c;它使用键…

C++沉思:预处理和编译

预处理和编译 条件编译源代码使用方式典型示例原理 使用static_assert执行编译时断言检查使用方式原理 在C中&#xff0c;编译是将源代码转换为机器代码并组织在目标文件中&#xff0c;然后将目标文件链接在一起生成可执行文件的过程。编译器实际上一次只处理一个文件&#xff…

Oracle核心进程详解并kill验证

Oracle核心进程详解并kill验证 文章目录 Oracle核心进程详解并kill验证一、说明二、核心进程详解2.1.PMON-进程监控进程2.2.SMON-系统监控进程2.3.DBWn-数据库块写入进程2.4. LGWR-日志写入器进程2.5. CKPT-检查点进程 三、Kill验证3.1.kill ckpt进程3.2.kill pmon进程3.3.kill…

智慧工地视频汇聚管理平台:打造现代化工程管理的全新视界

一、方案背景 科技高速发展的今天&#xff0c;工地施工已发生翻天覆地的变化&#xff0c;传统工地管理模式很容易造成工地管理混乱、安全事故、数据延迟等问题&#xff0c;人力资源的不足也进一步加剧了监管不到位的局面&#xff0c;严重影响了施工进度质量和安全。 视频监控…

中小企业数字化转型的关键五步,你了解吗?

在信息技术迅猛发展的当下&#xff0c;数字化转型已成为中小企业提升竞争力、实现可持续发展的关键策略。在数字化转型过程中&#xff0c;工业软件作为贯穿生产全流程的智能化引擎&#xff0c;其选择与应用显得尤为关键。那么&#xff0c;中小企业应如何科学合理的规划数字化转…

Vue前端页面嵌入mermaid图表--流程图

一、安装Mermaid 首先&#xff0c;你需要在你的项目中安装Mermaid。可以通过npm或yarn来安装&#xff1a; npm install mermaid --save # 或者 yarn add mermaid结果如图&#xff1a; 二、Vue 方法一&#xff1a;使用pre标签 使用ref属性可以帮助你在Vue组件中访问DOM元素 …

对于接口调用方式,可以使用两种不同的技术:Web Service 和 Dubbo。下面我将简要解释它们以及如何在 Maven 项目中集成它们。

对于接口调用方式&#xff0c;可以使用两种不同的技术&#xff1a;Web Service 和 Dubbo。下面我将简要解释它们以及如何在 Maven 项目中集成它们。 ### 1. Web Service&#xff08;WS&#xff09; Web Service 是一种基于标准化协议和格式进行通信的技术&#xff0c;允许不同…

数据结构 | LinkedList与链表

前言 ArrayList底层使用连续的空间,任意位置(尤其是0位置下标)插入或删除元素时,需要将该位置后序元素 整体 往前或往后搬移,故时间复杂度为O(N). 优点(给定一个下标,可以快速查找到对应的元素,时间复杂度为O(1))增容需要申请新空间,拷贝数据,释放旧空间,会有不小的消耗.增容一…

【权威发布】第二届雷达、信号与信息处理国际会议(RSIP 2024)

第二届雷达、信号与信息处理国际会议 2024 International Conference on Radar, Signal and Information Processing 【1】会议简介 第二届雷达、信号与信息处理国际会议是一次聚焦雷达技术、信号处理及信息处理领域最新研究成果和前沿趋势的盛会。会议旨在汇聚国内外雷达与信号…

【Django】anaconda环境变量配置及配置python虚拟环境

文章目录 配置环境变量配置python虚拟环境查看conda源并配置国内源在虚拟环境中安装django 配置环境变量 control sysdm.cpl,,3笔者anaconda安装目录为C:\ProgramData\anaconda3 那么需要加入path中的有如下三个 C:\ProgramData\anaconda3 C:\ProgramData\anaconda3\Scripts C:…

【C++】类和对象(三)完结篇

个人主页 创作不易&#xff0c;感谢大家的关注&#xff01; 文章目录 ⭐一、再探构造函数1.初始化列表 &#x1f389;二、类型转换&#x1f3e0;三、static成员&#x1f3dd;️四、友元⏱️五、内部类&#x1f388;六、匿名对象&#x1f3a1;七、在拷贝对象时的编译器优化 ⭐一…

火焰传感器 - 从零开始认识各种传感器【第十六期】

火焰传感器|从零开始认识各种传感器 1、什么是火焰传感器 火焰传感器是一种用于检测火焰或火光的传感器。它可以快速、准确地检测到周围环境中火源的存在&#xff0c;从而在火灾发生之初及时向消防人员或相关机构发送报警信息&#xff0c;以便及时采取措施进行火灾扑救。此外…

C# 贪吃蛇游戏

贪吃蛇游戏可分为手动玩法和自动玩法 冯腾飞/贪吃蛇