Ignore tags in parent context

Hello,
I’ve been using Logseq for some time now and I find it really suiting my workflow.
I just came to one issue that I’m not able to find a solution to.

I use tasks and I tag (reference) them by a person name if this task is delegated. I can then query the tasks that are delegated for specific person. Cool!

Now I also write meeting notes listing persons that participate in it in a property participants::.

The problem is that queries for a certain person tasks lists any TODOs that are within the meeting notes, where this user is a participant, although the task itself is not tagged with that person.

Is there a way to find tasks with person tags (references) that are only in the particaular block only, ignoring all references that are in any level above (parent context)?

Hopefully I explained it in a clear way. Any hints would be a great help.

The query I use to lisk delegated tasks is the following:

#+BEGIN_QUERY
{
:title [:h4 "All TODO tasks"]
:query [:find (pull ?b [*])
       :in $ ?current-page
       :where
          (and
             (task ?b #{"TODO" "Later"})   
             [?r :block/name ?current-page]    
           )
           [?b :block/path-refs ?r]       
  ]
 :group-by-page? false
 :breadcrumb-show? false
 :inputs [:current-page] }
#+END_QUERY

Any hints would be a great help. Thanks!

Are you aware of the difference between :block/path-refs and :block/refs ? For the available attributes, check the schema.

1 Like

Well, obviously I wasn’t aware of this difference, never really felt a need to, uhm, until now :slight_smile: :person_facepalming: So that much of a challenge :sweat_smile:

Thanks a lot for this!