neo4j Antwort auf die Erstellung eines hierarchischen Cypher-Baums für JSON

Können Sie mir helfen, eine Verschlüsselungsabfrage zu erstellen? Ich habe folgende Grafik DB-Struktur:

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

it diesen Graphdaten habe ich einen hierarchischen Baum mit tiefer Eben

Ich habe folgenden Code auf Stackoverfllow.com gefunden und für meine Daten geändert:

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)}

Aber er ist nur für die Tiefe mit 3 Baumebenen Antwort bauen. Ich brauche größer. Ich versuche, eine JSON-Antwort wie in diesem Beispiel zu erstellen:

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

The Cypher kann rekursive Anrufe tätigen? Ich denke das wird besser.

Vielen Dank

P.S. Ich weiß, dass es ähnliche Fragen zu SO gibt, aber sie haben mir nicht geholfen.