0

一部のデータがグラフ間で共有されている3つのグラフがあるとします。次に、プログラムで次のことを行う方法はありますか?

  1. グラフ1でノードを見つけます

  2. グラフ2でそのノードを検索します(プロパティ名を使用)

  3. 手順2で一致するものが見つかった場合は、グラフ2で見つかったノードに接続されているすべてのノード(「間接的に接続されているノード」を含む)を取得して、グラフ1のノードに接続します。

基本的に、グラフ内の特定のノードを検索し、直接または間接的に接続されているすべてのノードを見つけて、グラフ1の元のノードに接続全体をコピーしたいと思います。

これを行う方法についてのヒントは素晴らしいでしょう。前もって感謝します。

Neo4j 1.9を使用しており、Cypherクエリにあまり詳しくないため、コミュニティエディションです。

4

1 に答える 1

1

3つのグラフすべてが1つのデータベースにある場合、それは簡単です。

クエリを実行してノードを見つけます

START a=node.... MATCH ... WHERE ... RETURN a.prop as prop, ID(a) as id

関心のあるプロパティに対してノードのインデックスが作成されていると仮定して、そのプロパティのインデックスルックアップを実行します

START a=node({id}), b=node:index(property={prop}) 
MATCH (b)-->(c) 
CREATE (c)-[:REL_TYPE]->(a)
于 2013-03-26T14:20:24.010 に答える