2017-10-01 8 views
0

に関係を作成していない「ユニークの作成」。以下は私の声明です。どのように私はそれを変更すべきですか?私は</strong>と<strong>が<strong>のNeo4j</strong>にユニーク</strong>機能を作成<strong>一致を使用して2つのエンティティ間の関係を作成したいが、残念ながら、それはデータベースまたはレコードの変更を行っていないのNeo4j

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

これらのエンティティは存在しますか?私は 'MATCH(city:City {name: 'Prague'})、(street:{code: 'SVK'})'を使ってそれらを作成し、うまくいき、必要なエッジを作成したクエリを実行しました。また、この質問をチェックしましたか? https://stackoverflow.com/questions/22773562/difference-between-merge-and-create-unique-in-neo4j –

+0

@GaborSzarnyasありがとうございました。私のエンティティに問題がありましたが、実行できない「WHERE」節を持つ別の文があり、この場合エンティティは正しく定義されています。 「一致」(部屋:部屋)、(家:館内:{コード:1}) ID(部屋)= 40 ユニーク(部屋) - [:PLACED_IN] - >(家); ' ここの問題? –

+0

この問題についてはわかりませんが、いくつかの観察があります:1.質問を編集してこのクエリを追加してください。2. Neo4jのエンジニアは、[内部IDを使用することは実践的です](https://neo4j.com/blog/ dark-side-neo4j-worst-practices /)とあなた自身のid属性を提供する必要があります。だから、 'room'ノードは属性(' id'と呼ばれるかもしれません)を持たなければならず、 'MATCH'節でそれを'(room:Room {id:...}) 'として使うべきです。私はこれがあなたの問題を解決するかどうかはわかりませんが、試してみる価値があります。 –

答えて

0

matchステートメントは正常に動作します。それは問題を抱えていたエンティティの私の創造でした。私はそれでコロンを見逃していた:)。ここで私はそれをどのように作りましたか?

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'}) 
関連する問題

 関連する問題