Ich habe 1 Regel für meine Datenbank. Alles muss eine "ID" haben. Da dies mein primäres Schlüsselfeld ist, möchte ich es indexieren, aber es scheint, als wäre die einzige Möglichkeit, einen Index zu erstellen, die Angabe eines Labels.Erstellen Sie einen Eigenschaftsindex für alle Knoten in Cypher
Also mit diesem Datensatz
CREATE (:TEST1{id:"<uuid>"}),
(:RAWR{id:"<uuid>"}),
(:FOO:BAR{id:"<uuid>"}),
({id:"<uuid>"})
Ich möchte einen Index verwenden, um den unmarkierten Knoten durch seine UUID zu finden.
Ist das in Cypher möglich? Oder ist meine EINZIGE Möglichkeit, ein "Knoten" Etikett auf ALLES zu geben, das in die Datenbank einsteigt? (Es fühlt sich falsch an, ein Etikett zu erstellen und es dann alles zuzuordnen. Und alle Anfragen zum Hinzufügen dieses zusätzlichen Etiketts zu hapeln fühlt sich an, als würde ich nach Ärger fragen.)
Ja, Sie benötigen ein Label, um einen Index zu erstellen. Überdenken Sie die Einstellung einer ID auf alles. Die UUID ist eine technische ID. Sie kann nach dem Löschen eines Knotens erneut für einen anderen Knoten verwendet werden. Benutze es nicht. –
Ich sah das ist ein ID-Generator in Apoc. Sie haben möglicherweise eine Stapelabfrage, die regelmäßig ausgeführt wird, um Ihr ID-Feld zu erstellen (sind Sie sicher?) Mit einem Wert von apoc, der die Sequenz verarbeitet. –
@JeromeB Ich bin nicht wirklich besorgt über die Zuordnung der ID, noch müssen sie tatsächlich einzigartig sein. Da ich weiß, dass es ein ID-Feld gibt, und ich habe den Wert dieses Feldes, aber nicht die Beschriftungen der Knoten, würde ich gerne in der Lage sein, schnell Knoten anhand dieser ID zu finden, anstatt alle zu durchsuchen Der Knoten wurde noch nicht mit einem Label versehen. – Tezra