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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage