2017-10-01 2 views
0

Je veux créer une relation entre deux entités utilisant correspondance et créer une fonctionnalité unique dansNeo4j, mais malheureusement, il n'est pas apporter de modifications dans la base de données ou les enregistrements. Voici ma déclaration. Comment devrais-je le modifier?« Créer unique » ne pas créer relation Neo4j

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

Ces entités existent-elles? J'ai créé ceux qui utilisaient 'MATCH (ville: City {nom: 'Prague'}), (rue: Street {code: 'SVK'})' et a exécuté votre requête, qui a bien fonctionné et créé l'avantage requis. Aussi, avez-vous vérifié cette question? https://stackoverflow.com/questions/22773562/difference-between-merge-and-create-unique-in-neo4j –

+0

@GaborSzarnyas merci. il y avait un problème avec mes entités mais il y a une autre instruction qui contient la clause "WHERE" que je suis incapable d'exécuter et dans ce cas les entités ont été correctement définies. 'MATCH (pièce: Pièce), (maison: Maison {code: 1}) OERE id (pièce) = 40 CRÉER UNIQUE (pièce) - [: PLACED_IN] -> (maison);' ce qui pourrait être le problème ici? –

+0

Je ne suis pas sûr de ce problème, mais quelques observations: 1. S'il vous plaît modifier votre question et ajouter cette requête 2. Les ingénieurs de Neo4j ont noté que [en utilisant les ID internes est la pratique] (https://neo4j.com/blog/ dark-side-neo4j-worst-practices /) et vous devez fournir vos propres attributs id. Donc le noeud 'room' devrait avoir un attribut (qui pourrait s'appeler' id') et vous devriez l'utiliser dans votre clause 'MATCH' comme' (room: Room {id: ...}) '. Je ne suis pas sûr que cela réglera vos problèmes, mais ça vaut le coup d'essayer. –

Répondre

0

L'instruction de correspondance fonctionne correctement. C'était ma création d'entités qui avaient des problèmes. J'avais manqué un deux-points dedans :). Voici comment je l'ai créé.

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'})