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)
Dann haben meine Produkte eine categorie_ids
Anordnung wie diese:
<code>{ "sku": "abc", "name": "Electric boot", "categorie_ids": [ 1, 5, 9, 12 ] } </code>
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?
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
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!