If I understand your intention, one way could be this advanced query:
#+BEGIN_QUERY
{
:query [
:find (pull ?b [*])
:where
[?b :block/refs ?ref1]
[?ref1 :block/name ?name1]
[(clojure.string/includes? ?name1 "book")]
[?b :block/refs ?ref2]
[?ref2 :block/name ?name2]
[(clojure.string/includes? ?name2 "python")]
]
}
#+END_QUERY