미해결 링크는 Obsidian 노트에서 참조([[...]])하고 있지만, 실제로는 존재하지 않는 파일이나 문서를 말합니다. 이러한 링크는 파일의 외부 링크, 즉 file.outlinks로 표현됩니다. 이를 비어 있지 않은지 확인함으로써 판단할 수 있습니다.
Dataview Snippet
```dataview
TABLE WITHOUT ID
rows.file.link AS "파일",
key AS "미해결 링크"
FLATTEN file.outlinks as outlinks
WHERE !(outlinks.file) AND !(contains(meta(outlinks).path, "/"))
GROUP BY outlinks
```
이 Dataview Snippet의 문제점은 링크된 첨부파일도 미해결링크로 인식한다는 점입니다. dataview에서는 해결할 방법이 없으니 Dataviewjs를 이용해서 출력합니다.
DataviewJS Snippet
```dataviewjs
const unresolvedLinks = dv.app.metadataCache.unresolvedLinks;
let links = [];
for (let file in unresolvedLinks) {
for (let link in unresolvedLinks[file]) {
const fileName = file.split('/').pop().replace('.md', '');
const fileLink = `[[${file}|${fileName}]]`;
links.push([fileLink, link, unresolvedLinks[file][link]]);
}
}
dv.table(["파일", "미해결 링크", "언급 횟수"], links);
```