we don’t want to check whether it has scheduled ?d, we want to check that it doesn’t have a value at all. So (not [?b :block/scheduled])
we need an or-join here instead of an or. We are looking for a logical or as it’s called. We only need the variable ?d within our or statement. We don’t want to bind it with the rest of our query.
Otherwise you basically had it here’s the complete query.
I came here just to thank you for your helpful explanations and example queries that work. I am new to Logseq coming from Obsidian and your queries have been lifesavers. Not only that but your explanations have led me to write my own function queries. Thanks again!