グラフを可視化する
この機能に関するサポートのリクエストやフィードバックは、bq-graph-preview-support@google.com 宛てにメールでお送りください。
BigQuery Graph の可視化では、クエリによって返されたグラフ要素やグラフスキーマの要素が表示されます。グラフは、BigQuery Studio、Google Colab、Jupyter Notebook などのノートブック環境で可視化できます。
可視化は、データポイント(ノード)がどのように接続されているか(エッジ)を把握する際に役立ちます。数百個のデータポイントを含む表は解釈が難しい場合がありますが、グラフの可視化によりパターン、依存関係、異常を明らかにできます。
ノートブック環境でクエリ結果とスキーマを可視化する
BigQuery Studio、Google Colab、Jupyter Notebook などのノートブック環境で、グラフクエリの結果とグラフスキーマを可視化できます。可視化は IPython Magics として実装されます。
グラフクエリの結果を可視化する
ノートブックでクエリ結果を可視化する手順は次のとおりです。
ノートブックのセルで次のコマンドを実行して、最新の BigQuery マジック ライブラリをインストールします。
!pip install bigquery_magics==0.12.1ノートブック環境で、BigQuery Graph クライアント ライブラリがインストールされていることを確認します。
ノートブック セルで、
%%bigquery --graphマジック コマンドの後に GQL クエリを使用します。クエリは、TO_JSON関数を使用して、グラフ要素を JSON 形式で返す必要があります。個々のノードとエッジではなく、グラフパスを返すことをおすすめします。パスを返すメリットは次のとおりです。パスには、ノードとエッジの完全なデータが含まれます。個々のノードとエッジを返すと、複雑なクエリの可視化で一部の中間ノードとエッジが使用できない場合があります。
パスを返す場合、個々のノードとエッジを返す場合よりも
RETURNステートメントが複雑にならない場合があります。
セルを実行します。可視化はセルの出力領域に表示されます。
次のサンプルクエリは、人物、そのアカウント、返済済みのローンを検索し、結果をノートブックに返します。
%%bigquery --graph
GRAPH graph_db.FinGraph
MATCH
p = ((person:Person {name: "Dana"})-[own:Owns]->
(account:Account)-[transfer:Transfers]->(acount2:Account)<-[own2:Owns]-(person2:Person))
RETURN
TO_JSON(p) AS path;
クエリを実行すると、出力領域に可視化が表示されます。詳細パネルには、ノードラベルとエッジラベルの概要と、それぞれの数が表示されます。ノードまたはエッジをクリックしてグラフを移動し、プロパティ、隣接ノード、接続を表示します。次の図は、プロパティ、隣接ノード、接続を示しています。
BigQuery Graph スキーマを視覚化する
グラフの構造(ノード、エッジ、ラベル、プロパティなど)は、BigQuery テーブルのデータをグラフ要素にマッピングするスキーマによって定義されます。グラフ定義は、入力テーブルを使用して作成したスキーマに保存されます。
スキーマを使用して作成したグラフを可視化できます。スキーマを可視化すると、グラフの構造(含まれるノードとエッジのタイプ、それらの接続など)を把握できます。これは複雑なグラフに役立ちます。グラフの作成に使用した DDL ステートメントだけでは推測しにくい関係を明確に把握できるためです。次の画像は、グラフ スキーマの可視化の例を示しています。
ノートブックで BigQuery Graph スキーマの可視化を表示する手順は次のとおりです。
ノートブック セルで次のコマンドを実行して、BigQuery マジック ライブラリをインストールします。
!pip install bigquery_magics==0.12.1ノートブック環境で、BigQuery Graph クライアント ライブラリがインストールされていることを確認します。
ノートブック セルで、
%%bigquery --graphマジック コマンドの後に GQL クエリを使用します。クエリは、TO_JSON関数を使用して、グラフ要素を JSON 形式で返す必要があります。セルを実行します。可視化はセルの出力領域に表示されます。
可視化出力で、 スキーマ スキーマビューをクリックします。
BigQuery Graph の可視化のトラブルシューティング
次の情報は、BigQuery Graph の可視化に関する問題と動作のトラブルシューティングと理解に役立ちます。
BigQuery Graph クエリの可視化が表示されない
問題: BigQuery Graph クエリを実行すると、テーブル形式でのみ表示されます。
考えられる原因: クエリがグラフ要素を JSON 形式で返していません。
たとえば、次のクエリは、グラフ要素を JSON 形式で返すのではなく、プロパティ値を返すため、可視化できません。
GRAPH graph_db.FinGraph
MATCH (person:Person {name: "Dana"})-[owns:Owns]->(account:Account)
RETURN owns.create_time, account.nick_name;
解決策:
TO_JSON を使用して、グラフ要素を JSON 形式で返します。詳細については、BigQuery Graph のクエリ結果を可視化するをご覧ください。
BigQuery Graph のクエリ結果が一部だけ可視化される
問題: クエリ結果の可視化に、クエリ結果の一部しか表示されません。
考えられる原因: クエリが 2 MB を超えるデータを返しています。クエリの可視化では、最大 2 MB のデータが表示されます。
解決策: クエリを簡素化して、2 MB 未満のデータが返されるようにします。
BigQuery Graph の可視化で一部のグラフ要素が表示されない
問題: 可視化には返されたノードとエッジがすべて含まれていますが、一部のグラフ要素が表示されません。
考えられる原因: BigQuery Graph の可視化の作成に使用されたクエリが、グラフパスではなく個々のノードとエッジを返します。
解決策: グラフパスを返すようにクエリを更新します。
次のステップ
- BigQuery Graph の詳細を確認する。
- グラフを作成してクエリを実行する方法を確認する。
- グラフの可視化ツールと統合について確認する。