データをNeo4jに書き込み、インデックスと関係を作成する
手順
-
tNeo4jOutputコンポーネントをクリックし、[Component] (コンポーネント)タブを選択して、[Basic settings] (基本設定)ビューをクリックします。
- [DB Version] (DBバージョン)リストでNeo4J 2.X.Xを選択し、ノードのラベル付けを有効にします。
- Neo4jデータベース接続を定義します。このサンプルでは、Neo4jデータベースはRESTモードでアクセス可能です。そこで、[Remote server] (リモートサーバー)チェックボックスをオンにして、[Server URL] (サーバーURL)フィールドでNeo4jサーバーのURL(このサンプルでは"http://localhost:7474/db/data")を指定します。
- tNeo4jOutputコンポーネントをダブルクリックするか、またはコンポーネントの[Basic settings] (基本設定)ビューにある[Mapping]ボタンをクリックして、インデックスおよび関係のマッピングエディターを開きます。
-
スキーマパネルでnameカラムを選択し、[Index creation] (インデックスの作成)タブをクリックし、[+]ボタンをクリックしてテーブルに行を追加し、このカラムにfirst_nameという名前のインデックスを作成します。
-
[Name] (名前)フィールドに、first_nameを二重引用符で囲んで入力します。
-
[Key] (キー)フィールドに、first_nameを二重引用符で囲んで入力し、インデックスにキーを与えます。
スキーマパネルをクリックし、インデックスの作成を確定します。 -
-
スキーマパネルでfamilyカラムを選択し、[Index creation] (インデックスの作成)タブをクリックし、[+]ボタンをクリックしてテーブルに行を追加し、このカラムにfamilyという名前のインデックスを作成します。
-
[Name] (名前)フィールドに、familyを二重引用符で囲んで入力します。
-
[Key] (キー)フィールドに、family_nameを二重引用符で囲んで入力し、インデックスにキーを与えます。
スキーマパネルをクリックし、インデックスの作成を確定します。 -
-
スキーマパネルでfamilyカラムを選択し、[Relationship creation] (関係の作成)タブをクリックし、[+]ボタンをクリックしてテーブルに行を追加し、このカラムにfamilyという名前のインデックスをベースにSpouseという名前の関係を作成します。
-
[Type] (タイプ)フィールドに、Spouseを二重引用符で囲んで入力します。
-
[Direction] (方向)リストフィールドから[Outgoing] (出力)または[Incoming] (入力)のどちらかを選択します。
-
[Index Name] (インデックス名)フィールドに、familyを二重引用符で囲んで入力します。
-
[Index Key] (インデックスキー)フィールドに、family_nameを二重引用符で囲んで入力します。
スキーマパネルをクリックして関係の作成を確定し、[OK]をクリックしてマッピングエディターを閉じます。 -
- [Use label (Neo4j > 2.0)] (ラベルの使用(Neo4j > 2.0))チェックボックスをオンにして、[Label name] (ラベル名)フィールドに、Familiesを二重引用符で囲んで入力します。その結果、作成されるノードはFamiliesとラベル付けされます。
-
[Data action] (データのアクション)リストから[Insert or update] (挿入または更新)を選択し、[Index] (インデックス)エリアが表示されたら、参照キーを設定します。
-
[Index name] (インデックス名)フィールドに、first_nameを二重引用符で囲んで入力します。
-
[Index key] (インデックスキー)フィールドに、first_nameを二重引用符で囲んで入力します。
-
[Index value] (インデックス値)フィールドでnameを選択します。インデックスの作成で[Value] (値)フィールドが空白のままであるため、インデックス値はどの行もnameカラムの値になります。
こうして、ジョブの実行時に、ノードはfirst_nameインデックスをベースにNeo4jデータベースに挿入されるか、またはそこで更新されます: 各データ行につき、同じファーストネームを持つノードがデータベースに既に存在する場合、ノードは更新されます。それ以外の場合は、新しいノードが作成されます。 -