if mine q is working, no worries. But when expanding your structure with…
{
f(func: regexp(name, /^some_device.*$/)) @filter(uid_in(brand, 0x2739)) {
uid
name
brand {expand(_all_)}
sublevel #@filter(regexp(name, /^sublevel_1_2.*$/))
{
uid
name
title
sublevel #@filter(regexp(name, /^sublevel_1_2.*$/))
{
uid
name
title
sublevel #@filter(regexp(name, /^sublevel_1_2.*$/))
{
uid
expand(_all_)
}
}
}
}
}
We see a lot of levels to be filtered. So each level you have to add a predictable filter. Recurse can’t predict this for you.
Response
{
"data": {
"f": [
{
"uid": "0x2733",
"name": "some_device",
"brand": [
{
"name": "some_brand",
"uid": "0x2739"
}
],
"sublevel": [
{
"uid": "0x2734",
"name": "sublevel_1_1",
"title": "Sublevel Level 1.1",
"sublevel": [
{
"uid": "0x2732",
"name": "sublevel_2_4",
"title": "Sublevel Level 2.4"
},
{
"uid": "0x2735",
"name": "sublevel_2_3",
"title": "Sublevel Level 2.3"
},
{
"uid": "0x2736",
"name": "sublevel_2_2",
"title": "Sublevel Level 2.2"
},
{
"uid": "0x2737",
"name": "sublevel_2_5",
"title": "Sublevel Level 2.5"
},
{
"uid": "0x273b",
"name": "sublevel_2_1",
"title": "Sublevel Level 2.1",
"sublevel": [
{
"uid": "0x2738",
"name": "sublevel_3_1",
"content": "This is details about sublevel 3.1",
"image": "/path/to/image.png",
"title": "Sublevel Level 3.1"
}
]
}
]
},
{
"uid": "0x273a",
"name": "sublevel_1_2",
"title": "Sublevel Level 1.2"
}
]
}
]
}
BUT sublevel_2_1 is a level after the first sublevel so
Query without recurse
{
f(func: regexp(name, /^some_device.*$/)) @filter(uid_in(brand, 0x2739)) {
uid
name
brand {expand(_all_)}
sublevel @filter(regexp(name, /^sublevel_1_1.*$/))
{
uid
name
title
sublevel @filter(regexp(name, /^sublevel_2_1.*$/))
{
uid
name
title
sublevel #@filter(regexp(name, /^sublevel_1_2.*$/))
{
uid
expand(_all_)
}
}
}
}
}
Response
{
"data": {
"f": [
{
"uid": "0x2733",
"name": "some_device",
"brand": [
{
"name": "some_brand",
"uid": "0x2739"
}
],
"sublevel": [
{
"uid": "0x2734",
"name": "sublevel_1_1",
"title": "Sublevel Level 1.1",
"sublevel": [
{
"uid": "0x273b",
"name": "sublevel_2_1",
"title": "Sublevel Level 2.1",
"sublevel": [
{
"uid": "0x2738",
"name": "sublevel_3_1",
"content": "This is details about sublevel 3.1",
"image": "/path/to/image.png",
"title": "Sublevel Level 3.1"
}
]
}
]
}
]
}
]
}