Menjelajahi data grafik dengan notebook Spanner Graph

Notebook Spanner Graph memungkinkan Anda menjelajahi data secara visual di lingkungan notebook (seperti Jupyter Notebook atau JupyterLab). Dengan menggunakan sintaksis kueri Graph Query Language (GQL), Anda dapat mengekstrak insight grafik dan pola hubungan, termasuk properti node dan edge serta analisis perluasan tetangga. Alat ini juga menyediakan visualisasi metadata skema grafik, pemeriksaan hasil tabular, dan beragam topologi tata letak.

Notebook Spanner Graph mendukung koneksi teks biasa, TLS, dan mutual TLS (mTLS).

Menginstal notebook Spanner Graph

Untuk menginstal paket Spanner Graph notebook (versi 1.1.11 atau yang lebih baru) di lingkungan Python atau Jupyter, jalankan perintah pip berikut:

pip install "spanner-graph-notebook>=1.1.11"

Memuat ekstensi Spanner Graph

Untuk memuat ekstensi Spanner Graph di notebook Jupyter, gunakan perintah berikut:

%load_ext spanner_graphs

Menghubungkan ke database Anda

Untuk terhubung ke database Spanner Omni, pastikan Anda telah memuat ekstensi, lalu gunakan perintah sel %%spanner_graph:

Teks biasa

Untuk membuat koneksi teks biasa, jalankan perintah berikut:

%%spanner_graph --instance_type omni --endpoint OMNI_ENDPOINT:PORT --database DATABASE_NAME --use_plain_text

Ganti kode berikut:

  • OMNI_ENDPOINT: nama host atau alamat IP instance Spanner Omni Anda.

  • PORT: nomor port instance Spanner Omni Anda.

  • DATABASE_NAME: nama database Spanner Omni Anda.

TLS

Untuk membuat koneksi TLS, tentukan jalur ke sertifikat CA:

%%spanner_graph --instance_type omni --endpoint OMNI_ENDPOINT:PORT --database DATABASE_NAME --ca_certificate PATH_TO_CA_CERT

Ganti kode berikut:

  • OMNI_ENDPOINT: nama host atau alamat IP instance Spanner Omni Anda.

  • PORT: nomor port instance Spanner Omni Anda.

  • DATABASE_NAME: nama database Spanner Omni Anda.

  • PATH_TO_CA_CERT: jalur ke file sertifikat CA Anda.

mTLS

Untuk membuat koneksi mTLS, tentukan sertifikat CA, sertifikat klien, dan kunci klien pribadi:

%%spanner_graph --instance_type omni --endpoint OMNI_ENDPOINT:PORT --database DATABASE_NAME --ca_certificate PATH_TO_CA_CERT --client_certificate PATH_TO_CLIENT_CERT --client_key PATH_TO_CLIENT_KEY

Ganti kode berikut:

  • OMNI_ENDPOINT: nama host atau alamat IP instance Spanner Omni Anda.

  • PORT: nomor port instance Spanner Omni Anda.

  • DATABASE_NAME: nama database Spanner Omni Anda.

  • PATH_TO_CA_CERT: jalur ke file sertifikat CA Anda.

  • PATH_TO_CLIENT_CERT: jalur ke file sertifikat klien Anda.

  • PATH_TO_CLIENT_KEY: jalur ke file kunci pribadi klien Anda.

Memvisualisasikan kueri

Untuk memvisualisasikan hasil kueri grafik di notebook, kueri Anda harus menampilkan elemen grafik dalam format JSON menggunakan fungsi SAFE_TO_JSON atau TO_JSON. Jalur grafik lengkap direkomendasikan untuk kelengkapan data dan kemudahan visualisasi.

Contoh: Menampilkan jalur sebagai JSON

Contoh berikut memvisualisasikan jalur yang menghubungkan seseorang ke akun yang dimilikinya:

%%spanner_graph --instance_type omni --endpoint OMNI_ENDPOINT:PORT --database DATABASE_NAME --use_plain_text

GRAPH FinGraph
MATCH query_path = (person:Person {id: 5})-[owns:Owns]->(accnt:Account)
RETURN SAFE_TO_JSON(query_path) AS path_json

Contoh: Kueri grafik multi-hop

Contoh berikut memvisualisasikan jalur transfer dengan panjang variabel (1 hingga 3 hop) antar-akun:

%%spanner_graph --instance_type omni --endpoint OMNI_ENDPOINT:PORT --database DATABASE_NAME --use_plain_text

GRAPH FinGraph
MATCH query_path = (src:Account {id: 9})-[edge:Transfers]->{1,3}(dst:Account)
RETURN SAFE_TO_JSON(query_path) AS path_json

Contoh: Menampilkan beberapa jalur

Contoh berikut menampilkan dan memvisualisasikan beberapa jalur grafik dalam satu kueri:

%%spanner_graph --instance_type omni --endpoint OMNI_ENDPOINT:PORT --database DATABASE_NAME --use_plain_text

GRAPH FinGraph
MATCH path_1 = (person:Person {id: 5})-[:Owns]->(accnt:Account),
      path_2 = (src:Account {id: 9})-[:Transfers]->(dst:Account)
RETURN SAFE_TO_JSON(path_1) AS path_1,
        SAFE_TO_JSON(path_2) AS path_2

Langkah berikutnya