Ich habe zwei Benutzer:Neo4j Cypher Erstellen v2 Einzigartig Relation Gekennzeichnet mit Feldern ändern
CREATE (a:user {id: 1})
CREATE (b:user {id: 2})
Ich mag Benutzer in der Lage sein, sie zu folgen:
MATCH (a:user {id: 1}), (b:user {id: 2})
CREATE (a)-[r:FOLLOWS]->(b)
Aber ich brauche auch den Überblick behalten wann die Folge passiert:
MATCH (a:user {id: 1}), (b:user {id: 2})
CREATE (a)-[r:FOLLOWS {t: 32409823}]->(b)
Mein Problem ist, dass ich die :FOLLOWS
Beziehung, wenn sie erstellen müssen existiert nicht bereits, ohne eine Abfrage zu machen, die überprüft wird, dann eine andere Abfrage, um sie zu erstellen. Idealerweise würde lösen CREATE UNIQUE
diese, die ohne Ändern von Feldern auf die Beziehung funktioniert gut:
MATCH (a:user {id: 1}), (b:user {id: 2})
CREATE UNIQUE (a)-[r:FOLLOWS]->(b)
(THIS WORKS)
Aber wenn ich einen Zeitstempel auf der Beziehung sind, schaffen einzigartige eine zweite Beziehung machen, weil sie einen anderen Zeitstempel hat.
MATCH (a:user {id: 1}), (b:user {id: 2})
CREATE UNIQUE (a)-[r:FOLLOWS {t: 32409823}]->(b)
(THIS DOESN'T WORK)
Das obige erstellt eine neue Beziehung jedes Mal, weil der Zeitstempel sich ständig ändert. Gibt es eine Möglichkeit, dass ich überprüfen kann, ob eine Beziehung mit dem Label :FOLLOWS
besteht und die Beziehung mit Feldern erstellen, wenn dies nicht der Fall ist?