以圖表呈現

如要尋求支援或針對這項功能提供意見回饋,請傳送電子郵件至 bq-graph-preview-support@google.com

BigQuery 圖表視覺化會顯示圖表結構定義查詢傳回的結果。您可以在 BigQuery Studio 或筆記本環境 (例如 Google ColabJupyter Notebook) 中,以視覺化方式呈現圖表。

視覺化呈現可協助您瞭解資料點 (節點) 的連結方式 (邊緣)。數百個資料點的表格可能難以解讀,但圖表視覺化功能可以顯示模式、依附元件和異常狀況。

以視覺化方式呈現 BigQuery 圖形查詢結果

您可以使用 Google Cloud 控制台,在 BigQuery Studio 中以視覺化方式呈現 BigQuery Graph 查詢結果。如要使用 BigQuery 圖表將查詢結果視覺化,查詢必須使用 TO_JSON 函式,以 JSON 格式傳回圖表元素。建議您傳回圖形路徑,而非個別傳回節點和邊緣。傳回路徑有下列好處:

  • 路徑包含節點和邊緣的完整資料。如果傳回個別節點和邊緣,複雜查詢的視覺化呈現中,部分中繼節點和邊緣可能無法使用。

  • 如果傳回路徑,RETURN 陳述式會比個別傳回節點和邊緣簡單。

下列查詢範例會傳回帳戶轉移路徑,您可以將這些路徑視覺化:

GRAPH graph_db.FinGraph
MATCH
  p = (person:Person {name: "Dana"})-[own:Owns]->
  (account:Account)-[transfer:Transfers]->(account2:Account)<-[own2:Owns]-(person2:Person)
RETURN
  TO_JSON(p) AS path;

如要以視覺化方式呈現結果,請在「查詢結果」窗格中按一下「圖表」。詳細資料面板會顯示節點和邊緣標籤的摘要,以及每個標籤的計數。按一下節點或邊緣,即可瀏覽圖表並查看屬性、鄰居和連線。或者,您也可以將查詢結果顯示為表格,或切換為基礎圖表結構定義的視覺化呈現

查詢結果的視覺化呈現。

詳情請參閱「以 JSON 格式傳回圖形元素」。

選擇查詢結果的視覺化選項

您可以更新節點在查詢圖表中的顯示方式。舉例來說,您可以指定查詢視覺化效果的版面配置、節點顏色,以及每個節點上顯示的屬性。

查詢結果顯示更新適用於目前的查詢結果視覺化工作階段。如果您再次執行相同查詢,系統不會保留視覺化選項的更新。

選擇 BigQuery 圖表視覺化效果的版面配置

視覺化面板上的選單提供下列版面配置選項:

  • 強制版面配置 (預設):將節點呈現為彼此排斥的點,而相連的節點會聚在一起,模擬物理力來建立直覺易懂的版面配置。

  • 階層式:根據連線位置節點,建立視覺階層。

  • 循序:根據連線能力放置節點,建立視覺序列。

  • 顯示標籤:在所有縮放等級下,顯示圖表上的所有節點和邊緣標籤。

選擇要顯示的節點或邊緣屬性

根據預設,節點或邊緣會顯示第一個屬性。如要讓節點或邊緣顯示不同屬性,請按照下列步驟操作:

  1. 查看 BigQuery Graph 查詢結果的視覺化資料時,請在查詢結果面板的「結果」分頁中,按一下「切換至結構定義檢視畫面」

    切換至結構定義檢視畫面按鈕。

  2. 在結構定義視覺化中,按一下要更新的節點或邊緣類型。

  3. 在所選節點或邊緣顯示的詳細資料面板中,按一下要顯示的屬性。查詢結果中,所選節點或邊緣類型的所有節點或邊緣,都會顯示所選屬性。

選擇節點顏色

  1. 查看 BigQuery Graph 查詢結果的視覺化資料時,請按一下查詢結果面板「結果」分頁中的「切換至結構定義檢視畫面」

  2. 在結構定義視覺化中,按一下要更新的節點類型。

  3. 在所選節點顯示的詳細資料面板中,按一下「節點顯示選項」

  4. 按一下顏色。查詢結果中,所有您所選節點類型的節點都會以您選擇的顏色顯示。

選擇要顯示的節點

如要選擇要在視覺化圖表中顯示的節點,請按照下列步驟操作:

  1. 在查詢視覺化中,對節點按一下滑鼠右鍵。

  2. 按一下下列其中一個選單選項,即可修改顯示的圖表狀態:

    • 展開會遍歷所有傳入邊緣、傳出邊緣,或依特定邊緣類型篩選,進而算繪相鄰節點。

    • 「收合」會隱藏所有透過傳入邊緣、傳出邊緣或特定邊緣類型連至目標節點的節點,藉此修剪目前的檢視畫面。

    • 「隱藏節點」會從目前檢視畫面中移除目標節點。

    • 「僅顯示鄰點」會隱藏圖表中的所有節點,但目標節點和直接連線的節點除外。

    • 「醒目顯示節點」會醒目顯示目標節點。

將 BigQuery 圖表結構定義視覺化

圖表的結構 (包括節點、邊緣、標籤和屬性) 是由結構定義所定義,該結構定義會將圖表元素對應至 BigQuery 資料表中的資料。圖表定義會儲存在您使用輸入資料表建立的結構定義中。

您可以將使用結構定義建立的圖表視覺化。將結構定義視覺化,有助於瞭解圖表的結構,包括所含的節點和邊緣類型,以及這些節點和邊緣的連結方式。這項功能適用於複雜的圖表,可清楚呈現單從 DDL 陳述式可能難以推斷的關係。

如要以視覺化方式呈現圖表結構,請按照下列步驟操作:

  1. 在 BigQuery Studio 中,前往「Explorer」面板。
  2. 展開含有圖表的資料集,展開「圖表」,然後選取圖表。
  3. 按一下「圖表」分頁標籤。

在筆記本環境中以視覺化方式呈現查詢結果和結構定義

您可以在筆記本環境 (例如 BigQuery Studio、Google Colab 和 Jupyter Notebook) 中,以視覺化方式呈現圖形查詢結果和圖形結構定義。視覺化效果會以 IPython Magics 的形式導入。

以視覺化方式呈現圖形查詢結果

如要在筆記本中以視覺化方式呈現查詢結果,請按照下列步驟操作:

  1. 在筆記本儲存格中執行下列指令,安裝最新的 BigQuery 神奇指令程式庫:

    !pip install bigquery_magics==0.12.1
    
  2. 在筆記本環境中,請確認已安裝 BigQuery Graph 用戶端程式庫。

  3. 在筆記本儲存格中,使用 %%bigquery --graph 魔法指令,然後輸入 GQL 查詢。查詢必須使用 TO_JSON 函式,以 JSON 格式傳回圖形元素。建議您傳回圖形路徑,而非個別節點和邊緣。傳回路徑有下列好處:

    • 路徑包含節點和邊緣的完整資料。如果傳回個別節點和邊緣,複雜查詢的視覺化可能不會顯示部分中間節點和邊緣。

    • 如果傳回路徑,RETURN 陳述式會比傳回個別節點和邊緣簡單。

  4. 執行儲存格。視覺化內容會顯示在儲存格的輸出區域。

下列範例查詢會找出某人、其帳戶和帳戶間的轉帳交易,然後在筆記本中傳回結果:

%%bigquery --graph
GRAPH graph_db.FinGraph
MATCH
  p = ((person:Person {name: "Dana"})-[own:Owns]->
  (account:Account)-[transfer:Transfers]->(account2:Account)<-[own2:Owns]-(person2:Person))
RETURN
  TO_JSON(p) AS path;

執行查詢後,輸出區域會顯示視覺化圖表。詳細資料面板會顯示節點和邊緣標籤的摘要,以及每個標籤的計數。按一下節點或邊緣,即可瀏覽圖表並查看屬性、鄰居和連線。下圖顯示屬性、鄰居和連線。

查詢結果的視覺化呈現。

將 BigQuery 圖表結構定義視覺化

圖表的結構 (包括節點、邊緣、標籤和屬性) 是由結構定義所定義,該結構定義會將 BigQuery 資料表中的資料對應至圖表元素。圖表定義會儲存在您使用輸入資料表建立的結構定義中。

您可以將使用結構定義建立的圖表視覺化。將結構定義視覺化,有助於瞭解圖譜的結構,包括所含節點和邊緣的類型,以及這些節點和邊緣之間的連結。這項功能有助於瞭解複雜的圖表,因為您可清楚查看關係,而這些關係可能難以從用來建立圖表的 DDL 陳述式推斷。下圖顯示圖表結構定義的視覺化範例。

圖形結構定義的視覺化呈現。

如要在筆記本中查看 BigQuery 圖表結構定義的視覺化呈現方式,請按照下列步驟操作:

  1. 在筆記本儲存格中執行下列指令,安裝 BigQuery Magic 程式庫:

    !pip install bigquery_magics==0.12.1
    
  2. 在筆記本環境中,請確認已安裝 BigQuery Graph 用戶端程式庫。

  3. 在筆記本儲存格中,使用 %%bigquery --graph 魔法指令,然後輸入 GQL 查詢。查詢必須使用 TO_JSON 函式,以 JSON 格式傳回圖形元素。

  4. 執行儲存格。視覺化內容會顯示在儲存格的輸出區域。

  5. 在視覺化輸出內容中,按一下「結構定義」 結構定義檢視畫面

排解 BigQuery Graph 視覺化圖表問題

下列資訊有助於排解及瞭解 BigQuery 圖表視覺化問題和行為。

BigQuery 圖形查詢未顯示視覺化效果

問題:您執行 BigQuery 圖形查詢,但系統只以表格格式顯示查詢結果。

可能原因:查詢未以 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 圖形查詢結果視覺化」一文。

BigQuery Graph 查詢結果會以部分視覺化方式呈現

問題:查詢結果的視覺化圖表只顯示部分查詢結果。

可能原因:如果您使用筆記本視覺化,查詢會傳回超過 2 MB 的資料。筆記本視覺化內容的大小上限為 2 MB,而控制台視覺化內容則沒有嚴格限制。Google Cloud

解決方法:如果您使用筆記本,請簡化查詢,傳回少於 2 MB 的資料,或使用 Google Cloud 控制台將結果視覺化。

BigQuery 圖表視覺化畫面不會顯示部分圖表元素

問題:視覺化內容包含所有傳回的節點和邊緣,但部分圖表元素未顯示。

可能原因:用於建立 BigQuery 圖表視覺化效果的查詢會傳回個別節點和邊緣,而非圖表路徑。

解決方法:更新查詢,傳回圖表路徑。

後續步驟