Esplora i dati del grafico con il notebook Spanner Graph

Il notebook Spanner Graph ti consente di esplorare visivamente i tuoi dati in un ambiente notebook (come Jupyter Notebook o JupyterLab). Utilizzando la sintassi delle query Graph Query Language (GQL), puoi estrarre approfondimenti sul grafico e pattern di relazione, incluse le proprietà di nodi e archi e l'analisi dell'espansione dei nodi adiacenti. Lo strumento fornisce anche la visualizzazione dei metadati dello schema del grafico, l'ispezione dei risultati tabellari e diverse topologie di layout.

Il notebook Spanner Graph supporta connessioni in testo non crittografato, TLS e mutual TLS (mTLS).

Installa il blocco note Spanner Graph

Per installare il pacchetto Spanner Graph notebook (versione 1.1.11 o successive) nel tuo ambiente Python o Jupyter, esegui il seguente comando pip:

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

Carica l'estensione Spanner Graph

Per caricare l'estensione Spanner Graph nel notebook Jupyter, utilizza il seguente comando:

%load_ext spanner_graphs

Connetti al tuo database

Per connetterti al database Spanner Omni, assicurati di aver caricato l'estensione, quindi utilizza il comando della cella %%spanner_graph:

Testo normale

Per stabilire una connessione in testo normale, esegui il comando seguente:

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

Sostituisci quanto segue:

  • OMNI_ENDPOINT: il nome host o l'indirizzo IP dell'istanza Spanner Omni.

  • PORT: il numero di porta dell'istanza Spanner Omni.

  • DATABASE_NAME: il nome del database Spanner Omni.

TLS

Per stabilire una connessione TLS, specifica il percorso del certificato CA:

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

Sostituisci quanto segue:

  • OMNI_ENDPOINT: il nome host o l'indirizzo IP dell'istanza Spanner Omni.

  • PORT: il numero di porta dell'istanza Spanner Omni.

  • DATABASE_NAME: il nome del database Spanner Omni.

  • PATH_TO_CA_CERT: il percorso del file del certificato CA.

mTLS

Per stabilire una connessione mTLS, specifica il certificato CA, il certificato client e la chiave privata del client:

%%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

Sostituisci quanto segue:

  • OMNI_ENDPOINT: il nome host o l'indirizzo IP dell'istanza Spanner Omni.

  • PORT: il numero di porta dell'istanza Spanner Omni.

  • DATABASE_NAME: il nome del database Spanner Omni.

  • PATH_TO_CA_CERT: il percorso del file del certificato CA.

  • PATH_TO_CLIENT_CERT: il percorso del file del certificato client.

  • PATH_TO_CLIENT_KEY: il percorso del file della chiave privata del client.

Visualizzare una query

Per visualizzare i risultati delle query del grafico nel notebook, le query devono restituire elementi del grafico in formato JSON utilizzando la funzione SAFE_TO_JSON o TO_JSON. I percorsi del grafico completi sono consigliati per la completezza dei dati e la facilità di visualizzazione.

Esempio: restituisci un percorso come JSON

L'esempio seguente visualizza il percorso che collega una persona agli account di sua proprietà:

%%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

Esempio: query del grafico multi-hop

L'esempio seguente visualizza un percorso a lunghezza variabile (da 1 a 3 hop) di trasferimenti tra account:

%%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

Esempio: restituzione di più percorsi

Il seguente esempio restituisce e visualizza più percorsi del grafico in una singola query:

%%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

Passaggi successivi