Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

AEM QueryBuilder API: Is it possible to query based on parent property?

Avatar

Level 5

 

I have a hierarchy of content fragment as follows:

 

article-name

-- jcr:content

---- data

------ master

------ variation-1

 

data has following properties:

 

`cq:model`:"/conf/settings/dam/cfm/models/articles"

`jcr:PrimaryType`:"nt:unstructured"

 

Now my question is if my master query looks like this:

 

```

type=nt:unstructured
path=/content/dam/articles
p.hits=selective
nodename=master
p.properties=author featuredImage

```

 

and I want to add one more filter with parent_node property value as:

 

```

type=nt:unstructured
path=/content/dam/articles
p.hits=selective
nodename=master
p.properties=author featuredImage

parent.property=cq:Model

parent.property.value=/conf/settings/dam/cfm/models/articles

```

 

what would be the syntax for that ?

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @spidey1405,

I think that the simplest option, will be to use relative path the parent node from which you would like to read property values. Assuming you wanted to use cq:model property value that is stored under data node, and get all master variation, you can try something like that.

type=nt:unstructured
path=/content/dam
property=../../../jcr:content/data/cq:model
property.value=/conf/we-retail/settings/dam/cfm/models/we-retail-experience
nodename=master

You can also implement custom predicate evaluator:

View solution in original post

1 Reply

Avatar

Correct answer by
Community Advisor

Hi @spidey1405,

I think that the simplest option, will be to use relative path the parent node from which you would like to read property values. Assuming you wanted to use cq:model property value that is stored under data node, and get all master variation, you can try something like that.

type=nt:unstructured
path=/content/dam
property=../../../jcr:content/data/cq:model
property.value=/conf/we-retail/settings/dam/cfm/models/we-retail-experience
nodename=master

You can also implement custom predicate evaluator: