The VRC System (View for Role-Category) is a personal knowledge management framework designed to help you organize and view notes dynamically. It focuses on structuring notes by ==Role== and ==Category==, allowing for flexibility, clarity, and efficient retrieval through ==Dataview== queries.
- Introduction
- Core Concepts
- Folder Structure
- How to Use
- Setting Up Views with Dataview
- Best Practices
The VRC System is structured around two primary levels:
- Role: Defines the context or identity in which a note is created (e.g., Developer, Gourmet).
- Category: Organizes notes within each role based on their source or nature (e.g., Books, Snippets, Series).
Each role includes a special Views
folder that leverages Obsidian’s Dataview plugin to dynamically query and display notes across categories. This enables users to retrieve notes on specific topics (e.g., C++) regardless of their assigned category.
- Roles represent the "persona" or context in which a note is created.
- Examples include:
- Self: Personal reflections, experiences, and interests.
- Developer: Notes related to software development and programming.
- Musician: Notes for music creation, practice, and performances.
- Hero: Notes for parenting, family activities, and child education.
- Void: Notes representing undefined, abstract, or contemplative states, often used for capturing unstructured ideas or inspirations.
- Categories represent the source or nature of notes within each role. Typical categories include:
- Books: Notes and insights from books.
- Series: Notes from structured series (e.g., tutorials).
- Snippets: General learning notes, thoughts, or ideas.
- Classes: Notes from courses or structured classes.
- Journal: Personal journal entries.
- Rehearsals: Notes on practice plans and progress.
- Contemplations: Reflections or meditative ideas.
- Clippings: Extracted information or web highlights.
- Inspirations: Early-stage ideas or creative sparks.
- Each category helps in organizing notes based on origin and usage within the broader context of each role.
- Views folders use Dataview queries to display notes dynamically based on specific topics or tags, allowing users to cross-reference notes across categories.
- Example: A
C++
view underDeveloper/Views
can gather notes tagged or titled with "C++" fromBooks
,Series
,Snippets
, etc.
The folder structure is as follows:
├── Self/
│ ├── Animation/
│ ├── Journal/
│ ├── Movies/
│ ├── Music/
│ └── Views/
├── Developer/
│ ├── Books/
│ ├── Classes/
│ ├── Competitive Programming/
│ ├── Series/
│ ├── Snippets/
│ └── Views/
├── Musician/
│ ├── Songwriting/
│ ├── Rehearsals/
│ ├── Guitar Licks/
│ ├── Performances/
│ └── Views/
├── Hero/
│ ├── Activities/
│ ├── Books/
│ ├── Parenting Tips/
│ └── Views/
├── Void/
│ ├── Contemplations/
│ ├── Clippings/
│ ├── Inspirations/
│ └── Views/
- Organize by Role: Assign notes to the corresponding
Role
folder. For example, programming notes go underDeveloper
, while journal entries go underSelf
. - Categorize by Source/Nature: Within each role, classify notes by category. A book note on programming would go under
Developer/Books
, while a course note goes underDeveloper/Classes
. - Create Tags or Metadata: Add relevant tags or metadata (e.g.,
tags: [C++]
) to each note for easier filtering and querying. - Access through Views: Use Dataview queries within the
Views
folders to aggregate notes on specific topics, regardless of their category.
The Views folder allows you to create dynamic views for each role using the Dataview plugin.
To display all notes tagged with C++
across Developer
categories:
table title as "Title", category as "Category", file.mtime as "Last Modified"
from "Developer"
where contains(tags, "C++")
sort file.mtime desc
This query gathers all notes tagged with C++
from Developer
categories, making it easy to review related content in one place.
- Consistent Tagging: Use consistent tagging (e.g.,
C++
,Python
) for accurate Dataview queries. - Standardized Metadata: Include standardized metadata fields (e.g.,
tags
,category
,role
) in notes for better organization and filtering. - Regularly Update Views: Periodically update and refine Views to reflect evolving interests and topics.
- Expand Roles and Categories: Add new roles or categories as your note-taking needs grow.
- Review and Reassign Notes:
- Use
Void
as a temporary space for initial ideas or undefined notes. - Regularly review
Void
notes and move mature content into specific roles and categories. For example:- A musical idea from
Void/Inspirations
can move toMusician/Songwriting
. - A technical snippet from
Void/Clippings
can move toDeveloper/Snippets
.
- A musical idea from
- Use