Heim > Backend-Entwicklung > Golang > Cypher findet (mehrere) „niedrigste' Knoten

Cypher findet (mehrere) „niedrigste' Knoten

WBOY
Freigeben: 2024-02-08 20:54:11
nach vorne
703 Leute haben es durchsucht

Cypher 查找(多个)“最低”节点

Frageninhalt

Fall:

Mein Knoten Categories Wie unten gezeigt, habe ich die Beziehung von der Kategorie zum übergeordneten Knoten erstellt.

CREATE(p1:Categorie {
  id: 2,
  parent_id: 1,
  name: "Kids",
  is_active: true ,
  position: 1,
  level: 1,
})
CREATE(c1:Categorie {
  id: 5,
  parent_id: 2,
  name: "Toys",
  is_active: true ,
  position: 1,
  level: 2,
})

//New root category
CREATE(p2:Categorie {
  id: 9,
  parent_id: 1,
  name: "Holiday",
  is_active: true ,
  position: 1,
  level: 1,
})
CREATE(c2:Categorie {
  id: 12,
  parent_id: 9,
  name: "Water",
  is_active: true ,
  position: 1,
  level: 2,
})


CREATE(c1)-[:CHILD_OF]->(p1)
CREATE(c2)-[:CHILD_OF]->(p2)
Nach dem Login kopieren

Dann haben meine Produkte eine categorie_ids Anordnung wie diese:

<code>{
    "sku": "abc",
    "name": "Electric boot",
    "categorie_ids": [ 
        1,
        5,
        9,
        12
    ]
}
</code>
Nach dem Login kopieren

API gibt alle IDs zurück, in denen sich das Produkt befindet. Für mich sind alle Beziehungen so verwirrend. Dieses Beispiel ist minimal, aber in Wirklichkeit kann es bis zu 20 Beziehungen pro Produkt geben.

Fragen/Probleme:

Ich möchte eine Beziehung zum niedrigsten Knoten in der Kategorie erstellen. In diesem Fall hat das Produkt zwei Hauptkategorien und daher zwei Unterkategorien. Ich möchte also eine Beziehung mit den IDs 12 und 5 herstellen.

Ich verstehe die Passwortsuche einfach nicht. Kann das jemand erklären?


Richtige Antwort


Sie sehen im Wesentlichen die folgende Abfrage:

Laut Ihrem Modell erwägen Sie das Hinzufügen eines Prädikats, das der Kategorieknoten nicht hat INCOMING 类型的关系 CHILD_OF

WITH [1,5,9,12] AS categoryIds
MATCH (n:Categorie)
WHERE n.id IN categoryIds
AND NOT ()-[:CHILD_OF]->(n)
RETURN n.id
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonCypher findet (mehrere) „niedrigste' Knoten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage