Vermeiden Sie redundante Prüfungen von Knotenbezeichnungen, indem Sie detaillierte Beziehungsnamen verwenden - 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.

Vermeiden Sie redundante Prüfungen von Knotenbezeichnungen, indem Sie detaillierte Beziehungsnamen verwenden

Bei der Leistungsoptimierung ermöglicht die Verwendung von Beziehungsbezeichnungen, die ausschließlich für Knotenmuster gelten, den Labelfilter für Knoten zu entfernen. Stellen Sie sich ein Graphmodell vor, bei dem die Beziehung likes nur verwendet wird, um eine Beziehung zwischen zwei person Knoten zu definieren. Wir könnten die folgende Abfrage schreiben, um dieses Muster zu finden:

MATCH (n:person)-[:likes]->(m:person) RETURN n, m

Die person Labelprüfung für n und m ist überflüssig, da wir die Beziehung so definiert haben, dass sie nur erscheint, wenn beide vom Typ sindperson. Um die Leistung zu optimieren, können wir die Abfrage wie folgt schreiben:

MATCH (n)-[:likes]->(m) RETURN n, m

Dieses Muster kann auch angewendet werden, wenn Eigenschaften nur für ein einzelnes Knotenlabel gelten. Gehen Sie davon aus, dass nur person Knoten über die Eigenschaft verfügen. email Daher person ist es überflüssig, zu überprüfen, ob die Knotenbezeichnungen übereinstimmen. Diese Abfrage schreiben als:

MATCH (n:person) WHERE n.email = 'xxx@gmail.com' RETURN n

Ist weniger effizient als das Schreiben dieser Abfrage als:

MATCH (n) WHERE n.email = 'xxx@gmail.com' RETURN n

Sie sollten dieses Muster nur anwenden, wenn Leistung wichtig ist und Sie in Ihrem Modellierungsprozess überprüft haben, um sicherzustellen, dass diese Kantenbeschriftungen nicht für Muster wiederverwendet werden, an denen andere Knotenbeschriftungen beteiligt sind. Wenn Sie später eine email Eigenschaft für eine andere Knotenbeschriftung hinzufügencompany, z. B., dann unterscheiden sich die Ergebnisse zwischen diesen beiden Versionen der Abfrage.