Platzieren Sie restriktivere Knoten in VLP-Ausdrücken (Variable-Length Path) auf der linken Seite - Amazon Neptune

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Platzieren Sie restriktivere Knoten in VLP-Ausdrücken (Variable-Length Path) auf der linken Seite

Bei VLP-Abfragen (Variable-Length Path) optimiert die Abfrage-Engine die Auswertung, indem sie entscheidet, ob die Durchquerung auf der linken oder rechten Seite des Ausdrucks gestartet wird. Die Entscheidung basiert auf der Kardinalität der Muster auf der linken und rechten Seite. Die Kardinalität ist die Anzahl der Knoten, die dem angegebenen Muster entsprechen.

  • Wenn das richtige Muster eine Kardinalität von eins hat, ist die rechte Seite der Ausgangspunkt.

  • Wenn die linke und die rechte Seite die Kardinalität eins haben, wird die Expansion auf beiden Seiten geprüft und beginnt auf der Seite mit der kleineren Ausdehnung. Expansion ist die Anzahl der ausgehenden oder eingehenden Kanten für den Knoten auf der linken und den Knoten auf der rechten Seite des VLP-Ausdrucks. Dieser Teil der Optimierung wird nur verwendet, wenn die VLP-Beziehung unidirektional ist und der Beziehungstyp angegeben ist.

  • Andernfalls wird die linke Seite der Ausgangspunkt sein.

Bei einer Kette von VLP-Ausdrücken kann diese Optimierung nur auf den ersten Ausdruck angewendet werden. Die anderen VLPs werden beginnend mit der linken Seite ausgewertet. Als Beispiel sei die Kardinalität von (a), (b) eins und die Kardinalität von (c) größer als eins.

  • (a)-[*1..]->(c): Die Bewertung beginnt mit (a).

  • (c)-[*1..]->(a): Die Bewertung beginnt mit (a).

  • (a)-[*1..]-(c): Die Bewertung beginnt mit (a).

  • (c)-[*1..]-(a): Die Bewertung beginnt mit (a).

Nun seien die eingehenden Kanten von (a) zwei und die ausgehenden Kanten von (a) drei, die eingehenden Kanten von (b) vier und die ausgehenden Kanten von (b) fünf.

  • (a)-[*1..]->(b): Die Auswertung beginnt mit (a), da die Ausgangskanten von (a) kleiner sind als die eingehenden Kanten von (b).

  • (a)<-[*1..]-(b): Die Auswertung beginnt mit (a), da die eingehenden Kanten von (a) kleiner sind als die ausgehenden Kanten von (b).

Als allgemeine Regel gilt: Platzieren Sie das restriktivere Muster auf der linken Seite eines VLP-Ausdrucks.