Get the blocks containing a property from the property of the query's grandparent

Although I have the following code, it only returns the blocks with the property “projects” that have no value assigned. I can’t seem to understand why this is happening. Could someone help with this issue please?

#+BEGIN_QUERY
{:title "Get blocks of query' grandparent's property"
:inputs [:current-block]
:query  [:find (pull ?b [*])
        :in $ ?current-block
        :where 

[?current-block :block/parent  ?e]

[?e :block/parent ?d]
[?d :block/properties-text-values ?prop1]
[(get ?prop1 :projects) ?proj1]

[?b :block/properties-text-values ?prop2]
[(get ?prop2 :projects) ?proj2]

[(contains? ?proj1 ?proj2)]

]
:breadcrumb-show? false
}
#+END_QUERY

Can you give some example data? This will help trying to understand what you want to do.