У меня есть график, который имеет категории и подкатегории и под-подразделы до неопределенного уровня. Как я могу получить все эти иерархические данные в одном шифрованном запросе?Рекурсивный запрос neo4j
я в настоящее время этот вопрос:
START category=node:categoryNameIndex(categoryName = "category")
MATCH path = category <- [rel:parentCategory] - subcategory
RETURN category, collect(subcategory);
Который дает мне следующий результат:
| category | collect(subcategory) |
==> +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
==> | Node[26]{categoryName:"Test2",categoryDescription:"testDesc",imageUrl:"testUrl",imageName:"imageName"} | [Node[25]{categoryName:"Test1",categoryDescription:"testDesc",imageUrl:"testUrl",imageName:"imageName"}] |
==> | Node[1]{categoryName:"Test1",categoryDescription:"testDesc",imageUrl:"testUrl",imageName:"imageName"} | [Node[26]{categoryName:"Test2",categoryDescription:"testDesc",imageUrl:"testUrl",imageName:"imageName"},Node[2]{categoryName:"Test2",categoryDescription:"testDesc",imageUrl:"testUrl",imageName:"imageName"}] |
Я использую узел-Neo4j. Я приведу пример того, что я хочу в формате json.
[{
"categoryName": "Test2",
"categoryDescription": "testDesc",
"imageUrl": "testUrl",
"children": [{
"categoryName": "Test1",
"categoryDescription": "testDesc",
"imageUrl": "testUrl",
"children" : [{
"categoryName": "Test1",
"categoryDescription": "testDesc",
"imageUrl": "testUrl"
}]
}]
}]
I это возможно? Я знаю, что всегда могу делать это программно ИЛИ, используя несколько запросов. Но это будет очень полезно, если это можно сделать в одном запросе.
Спасибо @ea n5533. Я уточню свой вопрос для лучшего понимания. – RohanJ
Отвечает ли этот ответ на ваш вопрос? Это единственный запрос. – ean5533
Нет, он отвечает на мой вопрос. Если вы проверите пример JSON, который я дал, я хочу его в _иерархическом формате_. В настоящее время я делаю это, уволяя несколько запросов. Я не знаю, возможно ли это, но если это тогда будет очень полезно. – RohanJ