[Learn Log] Ramses' quest to grokking Logseq's data structure

Welcome to my learn log! In this post, I keep adding all notes that I take during July’s learning sprint. First I’ll document my learning project, then I’ll share my resources, and ultimately I’ll show what I’ve built (and how I’ve done it). Follow my example by starting your own learn log in #learning-sprints:queries!

Index

My goal : Learn everything there is about Logseq queries while building something useful.

As I work at Logseq and use the tool every day to think and collaborate, I want to know all the nitty-gritty details. So my first goal is to learn everything about Logseq’s database structure and how to work with it.

Besides understanding Logseq deeply, I also want to power more of my workflows using Logseq queries. I already have a few set up, but I still do a lot manually and would like to have better-filtered inboxes that feed into separate “downstream” workflows.

What I want to build with simple queries

  • Dynamic index of programming notes of different types that are processed in manual indexes for better memorization (starting with query notes)
  • Content curation pipeline for the newsletter that has multiple steps (so I don’t have to review and write blurbs all on the send day)
  • A task management system that fetches all todos per project.

What I want to build with advanced queries

  • A content pipeline with timeline visualization

My learning plan

I’ll fill in this plan during the live session 2022-07-13T14:00:00Z (link to register).

What is my target performance level?

What is good enough?

  • A content pipeline that reminds me throughout the week to review content that I’ve collected.
    • My end goal: have collections of thematically related resources so I can send themed Logseq newsletters.

What are the subskills of this skill?

What are the smaller skills I need to master first, and in what order?

What are critical tools?

What tools do I need every time I want to learn theory or practice applying it?

What are my learning resources?

What are my primary sources of information about this skill?

How will I create feedback loops for myself?

Here I’ll think of ways to practice so I’ll challenge myself.

  • Start by exactly following/copying examples for resources and check if I get the same result
  • #queries channel on Discord for when I’m stuck and need immediate help

What are my potential barriers to practice?

Think high pre-practice effort, distractions, emotional blockers.

  • Not planning ahead what I’m going to do each day
  • Not reserving time in my calendar

How long will my learning project take?

Until 2022-07-30T22:00:00Z.

How much time am I going to spend learning and practicing deliberately each week?

Every day I’m going spend 1 hour in total, split out by:

  • 30 minutes of watching/reading and taking notes.
  • 30 minutes applying what I learned by writing queries.

When am I going to study or practice each day?

Here I think about what are the best times for me in the day and week to learn and practice.

Have I reserved my learning sessions in my calendar?

Reflection template

These questions I’ll use to reflect on my progress.

  • Focus

    • When am I focused, and when am I multitasking and distracted?
    • When am I skipping learning sessions or procrastinating?
    • How long does it takes to get into a flow state during a learning session?
    • How long can I sustain focus before my mind starts to wander?
    • For the type of learning activity I just did, should I be more concentrated for intensity or more diffuse for creativity?
  • Drill

    • What are the weakest points of my performance I should spend time focusing on?
    • What’s the step in the skill that’s holding me back?
    • When I feel my progress is slowing down and I feel that I need to learn too much, what are the smaller parts I can split the skill into?
  • Retrieval

    • How much time do I spend reading and reviewing, and how much time solving problems and recalling things from memory?
    • How do I test my skill or understanding to avoid the illusion of competence?
    • How can I make sure I can explain what I learned in a day, a week, or year from now?
  • Feedback

    • How do I get feedback on my performance?
    • What did I learn well during this learning session?
    • What did I not learn well during this learning session?
    • What 20% of the feedback am I going to use to improve next?
  • Retention

    • How will I remember what I learn now for the long term?
    • How have I spaced out reviewing what I learned now in the future?
    • What factual knowledge have I learned and how will I apply it?
    • What foundational part(s) of the skill should I practice more, even if I’d overlearn it?
  • Intuition

    • What parts of the new knowledge do I have to memorize, and how can I understand it more deeply?
    • How would I explain what I just learned to someone else?
    • Why is what I just learned true?
    • How does this knowledge relate to what I already know?
  • Experimentation

    • Where am I getting stuck with my current resources and techniques?
    • Where would it be beneficial to branch out and try new approaches to reach my goal?
    • How can I go beyond the basics and try out stuff others haven’t explored before?

Notes from week 1

To show what (and how) I’m learning, I will share my notes and how I took them for every learning session.

2022-07-14T22:00:00Z: Learning from @Dario_DS on How to use queries and indentation in Logseq

Video

Notes

  • Overview
    • The need for indentation
    • The need for linking
    • How indentation and linking enable queries
    • Query syntax for AND, OR, NOT queries
    • Logseq properties
    • Queries for TODOs
    • Query examples
  • 00:23 The beauty of structure in Logseq
    • For Dario, the beauty of Logseq’s queries is that finding back information becomes very predictable.
      • This is because using a structure will enable you to use queries in Logseq
  • 01:55 What are parent blocks?
    • A parent block is a block underneath which you nest (indent) more information.
      • The nested information is called child blocks, and these blocks are connected to the parent block.
    • 02:13 Parent blocks can be child blocks of other parent blocks.
  • 02:53 The beauty of outlining
    • Because Logseq is an outliner, you can very easily structure information.
      • Structured information in Logseq can be easily hidden by collapsing branches.
  • 06:13 How blocks inherit links or tags
  • 08:05 Query logic and syntax for the AND filter
    • When using the AND filter in a query, only the blocks that have both values will appear in the query results.
  • 09:17 Query logic and syntax for the OR filter
    • When using the OR filter in a query, all the blocks that have either value (or both) will appear in the query results.
  • 10:30 Query logic and syntax for the NOT filter
    • When using the NOT filter in a query, you exclude all the blocks that contain the link you’ve entered in the filter.
      • The NOT filter is often used in combination with another filter (for example AND, to refine the query results).
  • 12:02 Why use queries over search
    • Queries allow you to search much more precisely.
    • Queries are like saved-search; when a block meets the query filters, it will appear in the results.
  • 13:01 Query syntax for properties
    • When you have defined properties on blocks (key-value pairs), you can use them as search terms in queries.

Recording of my learning session

2022-07-15T22:00:00Z: Processing my notes and turning them into flashcards

Today I processed the notes that I took yesterday and messed a bit around with simple queries. You watch over my shoulder and see my (messy) learning process here:

This is what yesterday’s notes now look like, nicely linked up for easy retrieval and review:

2022-07-16T22:00:00Z: Learning from Ryan Chadwick’s Boolean Algebra tutorial

After reading @thatgothlibrarian’s Boolean Logic 101 article, I was inspired to dig a bit deeper into the world of Boolean algebra. Lo and behold, one of my favorite tutorial writers Ryan Chadwick has created this tutorial on Boolean Algebra that includes some nice generators to create your own practice challenges.

Here’s the first half of my learning session where I skim the article (“How to Read a Book”-style) and get an idea of what’s discussed.

Here’s the second half of my learning session where I made sense of the basic elements of boolean algebra and the three basic operators (AND, OR, NOT):

4 Likes

:bell: UPDATE! Go here to see the notes and recording of my “theory session” today.

:bell: UPDATE! See how I process my notes and turn them into flashcards.

:bell: UPDATE! See how I start to make sense of the basics of Boolean Algebra.