Ich habe zwei Knoten zwischen denen, die gleiche Kante mit der gleichen Eigenschaft immer und immer wieder erstellt wird. Wie kann ich das vermeiden? Wenn die Kanten unterschiedliche Eigenschaften haben, ist es in Ordnung und es muss beibehalten werden, aber wenn die Eigenschaften identisch sind, sollte nur eine Kante vorhanden sein.Doppelte Kanten mit gleichen Eigenschaften neo4j
EDIT: Ich benutze Schienen und ich möchte dies über die Anwendung und nicht Cypher Abfrage tun.
EDIT: einige Codes für Relevanz Gemeinsame Nutzung:
dis = Disease.where(disease: params[:disease]).first
fac = Factor.where(factor: params[:factor])
dis.factors.create(fac, prop: "p1")
Also, was ich will, ist, wenn ich Eingabe derselben Krankheit und Faktor, den Rand nicht dupliziert (was es gerade tut) als Eigenschaft festgelegt wird, ist auch gleich. Ändert sich diese p1
in Zukunft zu p2
, sollte die Kante hinzugefügt werden.
Siehe Beitrag Neo4j inconsistent behaviour of model classes für Modellklassen (Krankheit und Faktor).
Aber in diesem Fall, für verschiedene Eigenschaften auch, werde ich nicht in der Lage sein, mehrere Kanten zu machen, richtig? – vish4071
Oder es scheint "einzigartig: alles" ist was ich will ?! – vish4071
Wenn Sie 'unique: true' /' unique:: none' verwenden (beide sind identisch), wird nur eine Beziehung dieses Beziehungstyps erstellt. Wenn Sie "unique:: all" angeben, wird immer eine neue Beziehung erstellt, sofern nicht alle Attribute identisch sind. Mit der Option ': on' können Sie Eigenschaften genauer spezifizieren –