Aggregating personal details from meeting notes into Person pages

Topic

Summary
  • How to pull the ‘person note’ metadata into a ‘meeting note’ via Dataview DQL query?

Test

Summary
  • dataview: v0.5.55

Input

Summary

the current note

  • Location: “100_Project/02_dataview/Q23_meeting/Q23_test_data”

folder: Meeting

  • filename : 20221217_meeting
```md
## Coffee Meeting

### Date
- 2022-12-17T16:00

### Attendees
- [[John Smith]]
- [[Jane Doe]]

### Host
-  [[Tom Felton]]


### Q23_DQL10 (OR Q23_DQL20)



```

dictionary files

  • Location: “100_Project/02_dataview/Q23_meeting/Q23_test_data”

folder: Persons

  • filename : Jane Doe
```yaml
---
tags: [ person ]
children: [ "Nicholas" ]
---

hobbies:: swimming

```

  • filename : John Smith
```yaml
---
tags: [ person ]
children: [ "Emily" ]
---

hobbies:: walking

```

  • filename : Tom Felton
```yaml
---
tags: [ person ]
children: [ "Eliza" ]
---

hobbies:: cycling

```

DQL10_pull_person_note_metadata_into_meeting_note_by_using_file.outlinks

Summary

Main DQL

Code Name Data type Group By Purposes Remark
DQL10
_pull_person_note_metadata
_into_meeting_note
_by_using_file.outlinks
(Meeting notes)
this.file.outlinks:
a list of links

(Person notes)
tags:
a list of strings
no 1.To break up a list this.file.outlinks into each individual element P
1.1 this.file.outlinks: a list of links
1.2 P: a link

2.To filter by P.file.name
3.To filter by P.tags
4.To display the result as a table

Code DQL10_pull_person_note_metadata_into_meeting_note_by_using_file.outlinks

Summary_code
title: DQL10_pull_person_note_metadata_into_meeting_note_by_using_file.outlinks =>1.To break up a list `this.file.outlinks` into each individual element `P` 1.1 `this.file.outlinks`: a list of links 1.2 `P`: a link 2.To filter by `P.file.name` 3.To filter by `P.tags` 4.To display the result as a table
collapse: close
icon: 
color: 
```dataview
TABLE WITHOUT ID
      P AS "person",
      P.children AS "children",
      P.hobbies AS "hobbies"

FROM "100_Project/02_dataview/Q23_meeting/Q23_test_data/Meeting/20221217_meeting.md"

FLATTEN this.file.outlinks AS P

WHERE !contains(P.file.name, "Template")
WHERE contains(P.tags, "person")
```

Screenshots(DQL10): using file.outlinks


DQL20_pull_person_note_metadata_into_meeting_note_by_using_L.outlinks

Summary

Main DQL

Code Name Data type Group By Purposes Remark
DQL20
_pull_person_note_metadata
_into_meeting_note
_by_using_L.outlinks
(Meeting notes)
L.outlinks:
a list of links

(Person notes)
tags:
a list of strings
no 1.To break up a list this.file.lists into each individual element L
1.1 this.file.lists: a list of links
1.2 L: a link

2.To define a field variable F_subpath
3.To define a field variable F_type
4.To filter by F_type
5.To filter by F_subpath
6.To FLATTEN L.outlinks AS P
7.To filter by P.file.name
8.To filter by P.tags
9.To display the result as a table

Code DQL20_pull_person_note_metadata_into_meeting_note_by_using_L.outlinks

Summary_code
title: DQL20_pull_person_note_metadata_into_meeting_note_by_using_L.outlinks =>1.To break up a list `this.file.lists` into each individual element `L` 1.1 `this.file.lists`: a list of links 1.2 `L`: a link 2.To define a field variable `F_subpath` 3.To define a field variable `F_type` 4.To filter by `F_type` 5.To filter by `F_subpath` 6.To FLATTEN L.outlinks AS P 7.To filter by `P.file.name`  8.To filter by `P.tags` 9.To display the result as a table
collapse: close
icon: 
color: 
```dataview
TABLE WITHOUT ID
      P AS "person",
      P.children AS "children",
      P.hobbies AS "hobbies"

FROM "100_Project/02_dataview/Q23_meeting/Q23_test_data/Meeting/20221217_meeting.md"

FLATTEN this.file.lists AS L
FLATTEN meta(L.header).subpath AS F_subpath
FLATTEN meta(L.header).type AS F_type

WHERE F_type = "header" 
WHERE F_subpath = "Attendees" OR F_subpath = "Host"

FLATTEN L.outlinks AS P
WHERE !contains(P.file.name, "Template")
WHERE contains(P.tags, "person")
```

Screenshots(DQL20): using L.outlinks


2 Likes