Heim  >  Artikel  >  Backend-Entwicklung  >  Cypher findet (mehrere) „niedrigste“ Knoten

Cypher findet (mehrere) „niedrigste“ Knoten

WBOY
WBOYnach vorne
2024-02-08 20:54:11632Durchsuche

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)

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?


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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen