Graphexp を使用して Amazon Neptune の Gremlin グラフを視覚化する方法を教えてください。

最終更新日: 2020 年 9 月 1 日

Graphexp を使用して、Amazon Neptune に保存されている Gremlin グラフを視覚化したいと考えています。これはどのように実行できますか?

簡単な説明

Graphexp を使用して Gremlin グラフを視覚化するには、次の前提条件を完了してください。

1.    Neptune DB クラスターを作成します

2.    Neptune クラスターと同じ Virtual Private Cloud (VPC) 内に Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスを作成します。インスタンスが SSH 接続を介してローカルコンピューターからアクセスできることを確認します。

3.    EC2 インスタンスが VPC 内から Neptune クラスターに接続できるようにする VPC セキュリティグループを作成します。詳細については、「Amazon VPC の Neptune DB クラスターへのアクセス」を参照してください。

4.    AWS Identity and Access Management (IAM) 認証が無効化されていることを確認します。

5.    EC2 インスタンスで、Gremlin コンソールをインストールして、Neptune に接続します。

注意: データベースに対して neptune_enforce_ssl パラメータが「true」に設定されている場合は、HTTPS (wss) 接続を使用してください。または、REST over HTTPS を使用する場合は、REST_USE_HTTPS パラメータを「true」に設定します。このように設定しなければ、接続エラーが発生します。詳細については、「転送時の暗号化: SSL/HTTPS を使用した Neptune への接続」を参照してください。

解決方法

Gremlin グラフをロードする

注意: 以下の例は、Apache TinkerPop GitHub ドキュメントからのプロパティグラフを使用しています。

Gremlin コンソールで以下の手順を実行します。

1.    頂点を追加します。

g.addV('person').property(id,'v1').property('name','marko').property('age','29').
  addV('person').property(id,'v2').property('name','vadas').property('age','27').
  addV('software').property(id,'v3').property('name','lop').property('lang','java').
  addV('person').property(id,'v4').property('name','josh').property('age','32').
  addV('software').property(id,'v5').property('name','ripple').property('lang','java').
  addV('person').property(id,'v6').property('name','peter').property('age','35')

2.    エッジを追加します。

g.addE('created').from(g.V('v1')).to(g.V('v3')).property(id,'e9').property('weight','0.4')
g.addE('created').from(g.V('v4')).to(g.V('v5')).property(id,'e10').property('weight','1.0')
g.addE('created').from(g.V('v4')).to(g.V('v3')).property(id,'e11').property('weight','0.4')
g.addE('created').from(g.V('v6')).to(g.V('v3')).property(id,'e12').property('weight','0.2')
g.addE('knows').from(g.V('v1')).to(g.V('v2')).property(id,'e7').property('weight','0.4')
g.addE('knows').from(g.V('v1')).to(g.V('v4')).property(id,'e8').property('weight','1.0')

SSH トンネルをセットアップする

SSH トンネルは、ローカルコンピューターが EC2 サーバーに接続し、その後ローカルポートフォワーディングを使用して Neptune インスタンスに接続することを可能にします。SSH トンネルは、SSH クライアントまたは PuTTY を使用して作成できます。

SSH クライアントを使用して接続するには、以下のコマンドを実行します。この例では次の値を使用します。

8182:Neptune クラスターのポート
mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com: Neptune クラスターエンドポイント
my_keypair.pem: プライベートキーペアファイル
ec2-user@ec2-11-111-11-111.eu-west-1.compute.amazonaws.com: EC2 インスタンスのパブリック DNS ホスト名

ssh -L 8182:mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com:8182 -i my_keypair.pem ec2-user@ec2-11-111-11-111.eu-west-1.compute.amazonaws.com

PuTTY:

1.    [カテゴリ] ペインで [セッション] を選択し、次のフィールドに入力します。
[ホスト名] には、EC2 インスタンスのパブリック DNS ホスト名を入力します。
[ポート] については、値が 22 になっていることを確認します。

2.    [カテゴリ] リストで、[接続 > SSH] と展開し、[トンネル] を選択します。以下のフィールドに入力します。
[源ポート] には、Neptune クラスターを作成した時に選択したポート (8182 など) を入力します。
[送り先] には、Neptune クラスターのエンドポイントとポートを入力します。例: mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com:8182。
[ローカル] と [自動] オプションを選択します。

3.    [追加] を選択してから、[開く] を選択します。セッションが開始されると、イベントログが表示されます。

[timestamp] Local port 8182 forwarding to mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com:8182

Graphexp をセットアップする

1.    GitHub から Graphexp パッケージをダウンロードします。

2.    ローカルファイルシステムで zip ファイルを抽出します。

3.    scripts/graphConf.js ファイルを開き、以下のパラメータを設定します。

const host = "localhost";
const SINGLE_COMMANDS_AND_NO_VARS = true

ブラウザでの Neptune グラフへのアクセス

1.    ブラウザに、解凍された Graphexp ディレクトリにある graphexp.html ファイルへのパスを入力します。以下はその例です。

file:///C:/Neptune/graphexp-main/graphexp-main/graphexp.html

2.    [Get graph info] (グラフ情報を取得する) を選択してから、[Search] (検索) を選択して Gremlin グラフをロードし、表示します。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?