2016-12-08 16 views
0

Java API for Neo4j組み込みDBを使用しています。新しいneo4jノードとJavaの既存ノードとの関係を作成する

インスタンスをNodeとして保存していて、別のノードにRelationshipを作成したいと考えていますが、プロパティ(ID /キー)以外の参照はありません。

nodeBeingSavedSeparately.createRelationshipTo(
      nodeToHaveRelationshipTo, 
      RELATIONSHIP_TYPE 
); 

しかし、私はちょうど新しいノードを追加していると私は別の既存のノードとの関係を持っているしたいと思います:私はそれを理解したよう私は2つのノードを持っていると思います場合

、私はちょうど使用します新しいノードを作成しないでください。

Nodeの正しいインスタンスをデータベースから取得し、その方法で使用できますか?以下のような何か:

nodeBeingSavedSeparately.createRelationshipTo(
      getNodeByProperty("idPropertyOfTheNodeToHaveRelationshipTo"), 
      RELATIONSHIP_TYPE 
); 

私はgetNodeById(long);方法があることが、分かったが、ないNode.setId(long);方法がありません。関係の正しい参照を設定/取得するにはどうすればよいですか?

答えて

1

findNodeまたはfindNodesのいずれかをGraphDataBaseServiceに使用すると、既存のノードを取得できます。

+0

私はノードNode = createNode()のノードを作成しています。 node.setProperty( "id"、 "john"); findNode(Label.label( "users")、 "id"、 "john"); 'で検索しようとしている別のトランザクションでは、node.addLabel(Label.label(" users "))不成功です。私は間違って何をしていますか? – BBerry

+0

私は別のプロパティを使って検索するように変更しました。プロパティ名 'id'は予約されていますか? – BBerry

+0

複数の一致するノードがある場合、 'findNode'はMultipleFoundExceptionをスローできます。それは何が起こっているのですか? – cybersam

関連する問題