מחברת Spanner Graph מאפשרת לכם לחקור את הנתונים באופן חזותי בסביבת מחברת (כמו Jupyter Notebook או JupyterLab). באמצעות תחביר השאילתות של Graph Query Language (GQL), אפשר לחלץ תובנות מהגרף ודפוסי קשר, כולל מאפייני צמתים וקשתות וניתוח הרחבת השכנים. הכלי מספק גם הדמיה של מטא-נתונים של סכימת גרף, בדיקה של תוצאות בטבלה וטופולוגיות שונות של פריסות.
מחברת Spanner Graph תומכת בחיבורים של טקסט רגיל, TLS ו-TLS הדדי (mTLS).
התקנת מחברת Spanner Graph
כדי להתקין את חבילת Spanner Graph notebook (גרסה 1.1.11 ואילך) בסביבת Python או Jupyter, מריצים את הפקודה הבאה של pip:
pip install "spanner-graph-notebook>=1.1.11"
טעינת התוסף Spanner Graph
כדי לטעון את התוסף Spanner Graph במחברת Jupyter, משתמשים בפקודה הבאה:
%load_ext spanner_graphs
התחברות למסד הנתונים
כדי להתחבר למסד הנתונים של Spanner Omni, צריך לוודא שהתוסף נטען, ואז להשתמש בפקודה %%spanner_graph של התא:
טקסט פשוט
כדי ליצור חיבור בטקסט רגיל, מריצים את הפקודה הבאה:
%%spanner_graph --instance_type omni --endpoint OMNI_ENDPOINT:PORT --database DATABASE_NAME --use_plain_text
מחליפים את מה שכתוב בשדות הבאים:
OMNI_ENDPOINT: שם המארח או כתובת ה-IP של מופע Spanner Omni.
PORT: מספר היציאה של מכונת Spanner Omni.
DATABASE_NAME: השם של מסד הנתונים של Spanner Omni.
TLS
כדי ליצור חיבור TLS, צריך לציין את הנתיב לאישור ה-CA:
%%spanner_graph --instance_type omni --endpoint OMNI_ENDPOINT:PORT --database DATABASE_NAME --ca_certificate PATH_TO_CA_CERT
מחליפים את מה שכתוב בשדות הבאים:
OMNI_ENDPOINT: שם המארח או כתובת ה-IP של מופע Spanner Omni.
PORT: מספר היציאה של מכונת Spanner Omni.
DATABASE_NAME: השם של מסד הנתונים של Spanner Omni.
PATH_TO_CA_CERT: הנתיב לקובץ אישור ה-CA.
mTLS
כדי ליצור חיבור mTLS, צריך לציין את אישור ה-CA, את אישור הלקוח ואת המפתח הפרטי של הלקוח:
%%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
מחליפים את מה שכתוב בשדות הבאים:
OMNI_ENDPOINT: שם המארח או כתובת ה-IP של מופע Spanner Omni.
PORT: מספר היציאה של מכונת Spanner Omni.
DATABASE_NAME: השם של מסד הנתונים של Spanner Omni.
PATH_TO_CA_CERT: הנתיב לקובץ אישור ה-CA.
PATH_TO_CLIENT_CERT: הנתיב לקובץ אישור הלקוח.
PATH_TO_CLIENT_KEY: הנתיב לקובץ של המפתח הפרטי של הלקוח.
הדמיה של שאילתה
כדי להציג את תוצאות השאילתה של הגרף במחברת, השאילתות צריכות להחזיר רכיבי גרף בפורמט JSON באמצעות הפונקציה SAFE_TO_JSON או TO_JSON. מומלץ להשתמש בנתיבי גרף מלאים כדי להבטיח שהנתונים יהיו מלאים ושההמחשה שלהם תהיה קלה.
דוגמה: החזרת נתיב כ-JSON
בדוגמה הבאה מוצג באופן ויזואלי הנתיב שמקשר בין אדם לבין החשבונות שבבעלותו:
%%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
דוגמה: שאילתת גרף עם כמה קפיצות
בדוגמה הבאה מוצג נתיב העברות באורך משתנה (1 עד 3 קפיצות) בין חשבונות:
%%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
דוגמה: החזרה של כמה נתיבים
בדוגמה הבאה מוצגים ומודמיינים כמה נתיבים בגרף בשאילתה אחת:
%%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