respuesta de compilación del árbol jerárquico neo4j Cypher a JSON

¿Me pueden ayudar a construir una consulta cifrada? Tengo la siguiente estructura de gráfico db:

(parent:Category)-[:subcategory]->(child:Category)

Con este gráfico de datos tengo un árbol jerárquico con nivel profundo.

Encontré el siguiente código en Stackoverfllow.com y cambié mis datos:

MATCH (root:Category)-[:subcategory]->(parent:Category)-[:subcategory]->(child:Category)
WITH root, {category: parent, children: collect(child)} AS parent_with_children
WHERE NOT(()-[:subcategory]->(root))
RETURN {category: root, children: collect(parent_with_children)}

Pero él es la respuesta de construcción solo para la profundidad con 3 niveles de árbol. Necesito más grande Estoy tratando de construir una respuesta json como este ejemplo:

  [
    category: {
      name: "PC"
      children: {
        category: {
          name: "Parts"
          children: {
            category: {
              name: "CPU"
              ...
            }
          }
        },
        category: {
          name: "Accessories"
          ...
        }
      } 
    }, 
    category: {
      name: "Laptop"
      ...
    }
  ]

El Cypher puede hacer llamadas recursivas? Creo que esto será mejor.

Gracias.

PD Sé que hay preguntas similares sobre SO, pero no me ayudaron.

Respuestas a la pregunta(1)

Su respuesta a la pregunta