So that’s not how queries work actually.
As shown at the start of my post:
We don’t have access to properties defined in child blocks.
The query you posted would ask in plain English:
Give me the block that
has the property amendment-in with value Central Goods and Services Tax Act, 2017 (CGST Act)/SCHEDULE I
and has the property para with value 4
and has the property effective-period with value Jul 1st, 2017 to Jan 31st, 2019
There is no such block in your data and so your query returns nothing.
Your exact question can only be solved with advanced queries and would be something like this.
Give me the parent block that
has a child block with
the property amendment-in with value Central Goods and Services Tax Act, 2017 (CGST Act)/SCHEDULE I
and the property para with value 4
and a child block with
the property effective-period with value Jul 1st, 2017 to Jan 31st, 2019
But still unable to understand that when we are able to call a child with its properties then why can’t we use AND operator (in the query) to call 2 childs as a result and then the breadcrumbs will be that parent block.
My query is asking to give birth to a new child block by combining 2 child blocks and that’s not possible and I am assuing that breadcrumbs as that new child. That’s why you mentioned “There is no such block in your data and so your query returns nothing.”
So, technically logseq query understands everything as a block and didn’t differentiate between parent block and child block.
Also, to get multiple child blocks in result, we should use OR operator instead.