2017-10-01 2 views
0

Ich mag eine Beziehung zwischen zwei Entitäten Spiel mit erstellen und schaffen einzigartige Funktionalität in Neo4j aber leider hat es keine Änderungen in der Datenbank oder Platten zu machen. Folgendes ist meine Aussage. Wie soll ich das ändern?„Create Unique“ nicht Beziehung in Neo4j Schaffung

MATCH (city:City{name:'Prague'}), (street:Street{code:'SVK'}) 
CREATE UNIQUE (street)-[:BASED_IN]-(city) ; 
+0

Sind diese Entitäten vorhanden? Ich habe diese mit 'MATCH (Stadt: Stadt {Name: 'Prag'}), (Straße: Straße {code: 'SVK'})' erstellt und Ihre Suchanfrage ausgeführt, die gut funktioniert und die erforderliche Kante erstellt hat. Hast du diese Frage auch überprüft? https://stackoverflow.com/questions/22773562/difference-between-merge-and-create-unique-in-neo4j –

+0

@GaborSzarnyas danke. Es gab ein Problem mit meinen Entitäten, aber es gibt eine andere Anweisung mit der "WHERE" -Klausel, die ich nicht ausführen kann. In diesem Fall wurden die Entitäten korrekt definiert. MATCH (Zimmer: Zimmer), (Haus: Haus {code: 1}) WHERE id (Zimmer) = 40 UNIQUE CREATE (Zimmer) - [: PLACED_IN] -> (Haus); ' was könnte das Problem hier? –

+0

Ich bin mir nicht sicher über dieses Problem, aber ein paar Beobachtungen: 1. Bitte bearbeiten Sie Ihre Frage und fügen Sie diese Abfrage 2. Neo4j Ingenieure festgestellt, dass [mit internen IDs ist Praxis] (https://neo4j.com/blog/ dark-side-neo4j-worst-practices /) und Sie sollten Ihre eigenen ID-Attribute angeben. Also sollte der 'room'-Knoten ein Attribut haben (was id heißen könnte) und Sie sollten das in Ihrer' MATCH'-Klausel als '(room: Room {id: ...})' verwenden. Ich bin mir nicht sicher, dass dies Ihre Probleme beheben wird, aber es ist einen Versuch wert. –

Antwort

0

Die Übereinstimmungserklärung funktioniert einwandfrei. Es war meine Schaffung von Entitäten, die ein Problem hatten. Ich hatte einen Doppelpunkt darin verpasst :). Hier ist, wie ich es erstellt habe.

CREATE (n:City { name: 'Prague', code: 'PRG'}) 
CREATE (n:City { name: 'Kiev', code: 'KIV'}) 
CREATE (n:City { name: 'Berlin', code :'BRN'}) 
CREATE (n:street { name: 'Shveyk', code: 'SVK'}) 
CREATE (n:street { name: 'Kreshatik', code: 'KRS'}) 
CREATE (n:street { name: 'Unter den Linden', code: 'UDL'}) 
Verwandte Themen