dataview查询YAML失效的问题(已解决)

用dataview查询yaml的时候,yaml用“::”(双冒号)就能正常查询到对应的值,但是用“: "(冒号+空格)的时候查询结果就是空的了。


第一条就是“: "(冒号+空格);所有的查询值都是空值,
第二条是“::”(双冒号),所有的查询值就是正常的了。
是dataview的语法有问题吗?

```dataview 
table 作者,中图分类号,标签,阅读状态 
from "300@学习"
where contains(书名,"")
还是yaml语法的问题?

dataview使用的yaml有两种声明方法:

  1. 在文档开头的块里(用两个“—”包裹起来),使用“:”语法定义
  2. 在文档任意位置,使用“::”语法定义

两者是等价的

找到问题所在了,:后面跟了个#就无法正确识别了,但是很奇怪的::后面跟#就能正确识别成标签,是什么原因呢?

正解,凑满8个子。

空格+#,就是标签

OB 只会把 YAML 里 Tags: 的值识别为标签,并且无需添加 # ,并且它们会出现在标签面板内。而其他属性的赋值不会当作标签处理(但是 Dataview 是可以检索的)。而在正文里面,除了 #标签 ,其他需要被检索的字段都需要用 :: 的形式。