Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does frontmatter tagging also work for Obsidian's properties? #140

Open
Cossackx opened this issue Jun 30, 2024 · 3 comments
Open

Does frontmatter tagging also work for Obsidian's properties? #140

Cossackx opened this issue Jun 30, 2024 · 3 comments

Comments

@Cossackx
Copy link

With the addition of Properties, I continue to wonder if that is the better way to go vs. Nested tag. Can FO2K add properties that I already have or is it just tags?

@benjaminshafii
Copy link
Member

@Cossackx not today. but we've been thinking on how to make this more extensible.

would you mind sharing a bit more of your use case ? (helps us develop things in the right direction)

@Cossackx
Copy link
Author

Cossackx commented Jul 5, 2024

Example List of Obsidian Properties

Types

  1. Project

    • projectName: The name of the project.
    • dueDate: The project's due date.
    • status: Current status of the project (e.g., active, completed).
  2. Task

    • taskName: The name of the task.
    • dueDate: The task's due date.
    • priority: Task priority level (e.g., high, medium, low).
    • status: Current status of the task (e.g., not started, in progress, completed).
  3. Idea

    • ideaTitle: Title of the idea.
    • description: Brief description of the idea.
    • category: Category of the idea (e.g., business, personal).
  4. Event

    • eventName: The name of the event.
    • eventDate: The date of the event.
    • location: The location where the event will take place.

Property Descriptions

  1. projectName

    • Description: The title or name assigned to a specific project.
    • Example: "Website Redesign"
  2. dueDate

    • Description: The deadline or due date for completing a task or project.
    • Example: "2024-12-31"
  3. status

    • Description: The current state or progress of a task or project.
    • Example: "active", "completed"
  4. priority

    • Description: The level of importance assigned to a task.
    • Example: "high", "medium", "low"

Relationships

  1. is_related_to

    • Description: Indicates a general relationship between two notes.
    • Example: "Note1 is_related_to Note2"
  2. depends_on

    • Description: Indicates that one note or project is dependent on another.
    • Example: "Task1 depends_on Task2"
  3. contributes_to

    • Description: Indicates that one note contributes to another.
    • Example: "ResearchNote contributes_to ProjectNote"
  4. is_part_of

    • Description: Indicates that one note is part of a larger project or collection.
    • Example: "Task1 is_part_of Project1"

Example Note with Properties and Relationships

Note Content:

---
type: project
projectName: "Develop New Feature"
dueDate: "2024-12-31"
status: "active"
---

# Project Plan

## Description
Details of the new project plan.

## Tasks
- Task1 _depends_on_ Task2
- ResearchNote _contributes_to_ ProjectPlan

## Diagram
![Project Diagram](../Attachments/Images/Diagrams/project-diagram.png)

By defining these properties and relationships, you can maintain a well-organized, flexible PKM system in Obsidian.

Using properties rather than nested tags in Obsidian can offer several advantages:

Advantages of Using Properties

  1. Structured Data: Properties allow for more structured and detailed metadata, making it easier to capture specific information about each note.
  2. Flexible Queries: Properties enable more powerful and flexible querying with tools like Dataview, allowing you to generate dynamic views based on multiple criteria.
  3. Consistency: Properties enforce a consistent schema across your notes, ensuring that specific attributes are always captured in the same way.
  4. Clarity: Properties can make the data more readable and self-explanatory compared to nested tags.

Example Comparison

Using Properties:

---
type: project
projectName: "Develop New Feature"
dueDate: "2024-12-31"
status: "active"
---

Using Nested Tags:

#project/develop_new_feature #due/2024-12-31 #status/active

Queries

Property-Based Query:

table projectName, dueDate, status
from "Notes"
where type = "project"

Tag-Based Query:

table file.name
from "Notes"
where contains(tags, "#project/develop_new_feature") and contains(tags, "#status/active")

Conclusion

While nested tags can also provide some level of organization, properties offer a more structured and powerful way to manage and query your notes, ensuring better consistency and clarity in your PKM system.

@Cossackx
Copy link
Author

Cossackx commented Jul 5, 2024

for example, I don't want FO2K to rigidly separate everything into folders. Instead, I would like it to adjust the front matter properties and keep everything in the least amount of folders as possible, as I determine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants