メイン Neo4j グラフ (mainDB) の一部を別のグラフ (dupDB) にコピーしていますが、その際に、dupDB に mainDB と同様のプロパティを持つノードを作成するにはどうすればよいですか。
私はするだろう
Node main = mainDB.getNodeByID(477);
Node dup = dupDB.createNode();
main の各プロパティを手動で dup にコピーする必要がありますが、これを行うための 1 行の方法はありますか?
メイン Neo4j グラフ (mainDB) の一部を別のグラフ (dupDB) にコピーしていますが、その際に、dupDB に mainDB と同様のプロパティを持つノードを作成するにはどうすればよいですか。
私はするだろう
Node main = mainDB.getNodeByID(477);
Node dup = dupDB.createNode();
main の各プロパティを手動で dup にコピーする必要がありますが、これを行うための 1 行の方法はありますか?
Neo4j 2.1 のマップで複製を作成できます (以前のことはわかりません)。
MATCH (n:Node {name: 'abc'})
WITH n AS map
CREATE (copy:Node)
SET copy=map
RETURN copy
いずれかのプロパティに一意性制約がある場合、メッセージが表示されて失敗します...
ラベル XX とプロパティ "property"=[value] を持つノードが既に存在します
一意性制約を使用してプロパティに新しい値を指定し、新しいノードを作成して、元のノードから他の一意でないプロパティ値をコピーすることで、これを回避できます。
MATCH (n:Node {name: 'abc'})
WITH n as map
CREATE (copy:Node {name: 'def'})
SET copy.property1 = map.property1
, copy.property2 = map.property2
RETURN copy