Neo4j Connector - Mule 4

Neo4j Connector v3.0

Neo4j 用 Anypoint Connector では、CQL ステートメントを実行、および Neo4j Graph データベースインスタンスに対してノードの作成、更新、削除、選択などの基本操作を実行することができます。

リリースノート: 『Neo4j Connector リリースノート』
Exchange: Neo4j ConnectorLeaving the Site

始める前に

この情報を使用するには、Neo4j、Mule、Anypoint Connector、Anypoint Studio、Mule の概念、Mule フローの要素、グローバル要素に精通している必要があります。

対象リソースへの接続をテストするには、ログイン情報が必要です。

ソフトウェアの要件および互換性情報については、「コネクタリリースノート」を参照してください。

POM ファイル情報

<dependency>
  <groupId>com.mulesoft.connectors</groupId>
  <artifactId>mule-neo4j-connector</artifactId>
  <version>x.x.x</version>
  <classifier>mule-plugin</classifier>
</dependency>
xml

x.x.x​ を使用しているコネクタに対応するバージョンに置き換えます。

最新の ​pom.xml​ ファイル情報を取得するには、​ Anypoint ExchangeLeaving the Site​ でコネクタにアクセスし、​[Dependency Snippets (連動関係スニペット)]​ をクリックします。

メタデータ

Neo4j Connector のメタデータは、次の前提に基づいています。

  • 操作の表示ラベルは、データベースでインスタンス化される表示ラベルである。

  • データベースにはノードに対する次の制約がある。

    • 一意のプロパティの制約。

    • プロパティ存在の制約。

    • データベースで制約値が定義されたノードが少なくとも 1 つある。

Studio プロジェクトへのコネクタの追加

Anypoint Studio には、Studio プロジェクトにコネクタを追加する 2 つの方法があります。Studio タスクバーの Exchange ボタンから追加するか、[Mule Palette (Mule パレット)] ビューから追加します。

Exchange を使用してコネクタを追加する

  1. Studio で Mule プロジェクトを作成します。

  2. Studio タスクバーの左上にある Exchange アイコン ​(X)​ をクリックします。

  3. Exchange で、​[Login (ログイン)]​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。

  4. Exchange で、「neo4j」を検索します。

  5. コネクタを選択して ​[Add to project (プロジェクトに追加)]​ をクリックします。

  6. 画面の指示に従ってコネクタをインストールします。

Studio でコネクタに追加する

  1. Studio で Mule プロジェクトを作成します。

  2. [Mule Palette (Mule パレット)] ビューで、​[(X) Search in Exchange ((X) Exchange 内を検索)]​ をクリックします。

  3. [Add Modules to Project (モジュールをプロジェクトに追加)]​ で、検索項目に「neo4j」と入力します。

  4. [Available modules (使用可能なモジュール)]​ で、このコネクタの名前をクリックします。

  5. [Add (追加)]​ をクリックします。

  6. [Finish (完了)]​ をクリックします。

Studio で設定する

  1. Neo4j の操作を Studio キャンバスにドラッグします。

  2. 操作を選択します。

    Studio での Neo4j Connector の使用可能な操作のリスト
    名前 説明

    Execute

    データベースに対して任意の CQL ステートメントを実行します。

    Create Node

    特定の初期表示ラベルを使用してノードを作成します。必要に応じてノードにプロパティを追加できます。

    Select Nodes

    特定の表示ラベルを使用するノードを照会します。必要に応じて、検索条件として使用するプロパティを指定できます。

    Update Nodes

    特定の表示ラベルを使用する 1 つまたは複数のノードのプロパティを変更します。必要に応じて検索条件としてプロパティを追加できます。

    Delete Nodes

    特定の表示ラベルに基づいて 1 つまたは複数のノードを削除します。インバウンド/アウトバウンドリレーションのあるノードを削除できます。必要に応じて検索条件としてプロパティを追加できます。

    注意: Neo4j Connector の基本操作では、クエリで表示ラベルを 1 つだけ使用してノードを絞り込むことができます。クエリ内で複数の表示ラベルを使用して絞り込む場合は、[Execute (実行)] 操作で適切な CQL ステートメントを実行します。

  3. コネクタのグローバル要素を設定します。

    [Global Element Properties (グローバル要素プロパティ)]
    項目 説明

    Username (ユーザー名)

    ログインに使用するユーザー名を入力します。

    Password (パスワード)

    対応するパスワードを入力します。

    BOLT URL

    Bolt エンドポイント。

    REST URL

    Rest エンドポイント URL (HTTP または HTTPS で使用できる)。

ユースケース: ノードの基本 CRUD

Listener、Transform Message、Create node、Select nodes、Delete node、および Transform Message を含む Studio フロー
  1. Anypoint Studio で新しい Mule プロジェクトを作成し、​src/main/resources/automation-credentials.properties​ で Neo4j 環境プロパティを設定します。

    config.username=<USERNAME>
    config.password=<PASSWORD>
    config.boltUrl=<BOLT_URL_ENDOPOINT>
    config.restUrl=<REST_URL_ENDPOINT>
    text
  2. HTTP Connector をキャンバスにドラッグし、デフォルト値で設定します。

  3. [Transform Message (メッセージの変換)] をキャンバスにドラッグし、次のコードを使用して params という名前でフロー変数を作成します。

    %dw 2.0
    %output application/json
    ---
    {
    	"name":"Tom Hanks",
    	"born": 1956
    }
    dataweave
  4. Neo4j Connector をキャンバスにドラッグし、次の表に従って新しいグローバル要素を設定します。

    パラメーター

    Username (ユーザー名)

    ${neo4j.username}

    Password (パスワード)

    ${neo4j.password}

    BOLT URL

    ${neo4j.boltUrl}

    REST URL

    ${neo4j.restUrl}

    <neo4j:config name="Neo4j_Config" doc:name="Neo4j Config">
    	<neo4j:connection username="${config.username}"
    	password="${config.password}"
    	boltUrl="${config.boltUrl}"
    	restUrl="${config.restUrl}" />
    	</neo4j:config>
    </neo4j:config>
    xml
  5. プロパティエディターで次のように設定します。

    パラメーター

    Display Name (表示名)

    Create node

    Connector Configuration (コネクタ設定)

    Neo4j__Basic_Authentication

    操作

    Create node

    Label (表示ラベル)

    Person

    パラメーターリファレンス

    #[payload]

    Create node のプロパティ設定ウィンドウ

    注意: [Test Connection (接続をテスト)] をクリックして、Mule が Neo4j インスタンスに接続できることを確認します。正常に接続できた場合は、[OK] をクリックして設定を保存します。失敗した場合は、パラメーターを確認して修正し、もう一度テストを実行してください。

  6. Neo4j Connector をキャンバスにドラッグして、プロパティエディターで次のパラメーターを設定します。

    パラメーター

    操作

    Select nodes

    Label (表示ラベル)

    Person

  7. Neo4j Connector をキャンバスにドラッグして、プロパティエディターで次のパラメーターを設定します。

    パラメーター

    操作

    Delete nodes

    Label (表示ラベル)

    Person

  8. [Transform Message (メッセージの変換)] をキャンバスにドラッグします。

    %dw 2.0
    %output application/json
    ---
    payload
    dataweave
  9. 変更内容を保存して、Mule アプリケーションとしてプロジェクトをデプロイします。ブラウザーを開いて、次の URL に要求を送信します。

    http://localhost:8081/CRUD

    ノードが正常に作成および削除されたら、情報が JSON 形式で表示されます。

    {"born":1956,"name":"Tom Hanks"}
    json

複数の表示ラベルを使用するノードを作成する

Listener、Transform Message、Create node、Select node、および Transform Message を含む Studio フロー
  1. Anypoint Studio で新しい Mule プロジェクトを作成し、​src/main/resources/automation-credentials.properties​ で Neo4j 環境プロパティを設定します。

    config.username=<USERNAME>
    config.password=<PASSWORD>
    config.boltUrl=<BOLT_URL_ENDOPOINT>
    config.restUrl=<REST_URL_ENDPOINT>
    text
  2. HTTP Connector をキャンバスにドラッグし、デフォルト値で設定します。

  3. [Transform Message (メッセージの変換)] をキャンバスにドラッグし、次のコードを使用して 2 つのフロー変数を作成します。

    1. Variable-create

      %dw 2.0
      %output application/json
      ---
      "CREATE (a:ACTOR:PERSON { name:\"Tom Hanks\", born:1956 })"
      dataweave
    2. Variable-select

      %dw 2.0
      %output application/json
      ---
      "MATCH (a:ACTOR:PERSON) RETURN a"
      dataweave
  4. Neo4j Connector をキャンバスにドラッグし、次の表に従って新しいグローバル要素を設定します。

    パラメーター

    Username (ユーザー名)

    ${neo4j.username}

    Password (パスワード)

    ${neo4j.password}

    BOLT URL

    ${neo4j.boltUrl}

    REST URL

    ${neo4j.restUrl}

    <neo4j:config name="Neo4j_Config" doc:name="Neo4j Config">
    	<neo4j:connection username="${config.username}"
    	password="${config.password}"
    	boltUrl="${config.boltUrl}"
    	restUrl="${config.restUrl}" />
    	</neo4j:config>
    </neo4j:config>
    xml
  5. プロパティエディターで次のように設定します。

    パラメーター

    Display Name (表示名)

    Create node (advanced)

    Connector Configuration (コネクタ設定)

    Neo4j__Basic_Authentication

    操作

    Execute

    Query (クエリ)

    #[vars.create]

    パラメーターリファレンス

    #[payload]

    Create node のプロパティ設定ウィンドウ

    [Test Connection (接続をテスト)] をクリックして、Mule が Neo4j インスタンスに接続できることを確認します。正常に接続できた場合は、[OK] をクリックして設定を保存します。失敗した場合は、パラメーターを確認して修正し、もう一度テストを実行してください。

  6. Neo4j Connector をキャンバスにドラッグして、プロパティエディターで次のパラメーターを設定します。

    パラメーター

    Display Name (表示名)

    Select node (Multi-label)

    操作

    Execute

    Query (クエリ)

    #[vars.select]

  7. [Transform Message (メッセージの変換)] をキャンバスにドラッグします。

  8. [Logger (ロガー)] をキャンバスにドラッグします。

  9. 変更内容を保存して、Mule アプリケーションとしてプロジェクトをデプロイします。ブラウザーを開いて、次の URL に要求を送信します。

    http://localhost:8081/createNodeMultiLabel

    ノードが正常に作成および削除されたら、情報が JSON 形式で表示されます。

    [{"a":{"born":1956,"name":"Tom Hanks"}}]
    json

ユースケース: XML