dataview如何针对多个来源单独筛选

几小时后更新:

  • 可以使用以下命令,查找所有出入链或含当前文件名的笔记
    • 由于file.inlinks为list类型,因此并没有检测其中某项含有某字符串的功能,只能用[[]]来表示指向本笔记的链接,但块引用block link并不会被归类到这中筛选方法之内
Table
Where icontains(file.inlinks, [[]]) or icontains(file.outlinks, [[]]) or icontains(file.name, this.file.name)
  • 另外,有一个不严谨的方法
    • 将所有出入链笔记名和名称都连接成一个字符串,在其中查找本笔记的名称
    • 缺点在于,如果本笔记名是一个较短的常见词,出现在范围内笔记的出入链地址中,会将无关的笔记展示在table内
Table
Where icontains(file.name+file.aliases+file.inlinks+file.outlinks, this.file.name)
  • 暂时在上面两种方案中使用了,要使用块引用就选第二种,要避免无关笔记且不展示块引用就用第一种

以下是原文


预期效果

  • 筛选出所有反向链接+提到当前文件名的笔记条目

已做的尝试

  • 筛选反向链接:
  • 使用from指定来源
table
From [[]]
  • 筛选提到当前文件名的笔记条目:
  • 使用where筛选
table
where contains(file.name, this.file.name)
  • 同时使用上述两段会得到交集,是否有方法得到并集,将两个结果叠加到一个表格中?
    • 可能的方法1:对反向链接不筛选,对其余条目筛选
    • 可能的方法2:将两部分结果叠加

求大佬指点,不清楚DQL是否能做到,还是说建议用dataviewjs吗?

只是随便说一句
不是应该可以使用 andor来实现你两个条件的之间的交集和并集吗?

在where开头的行是可以的
但在where中并不能筛选反向链接,所以单靠DQL不能达到预期效果