‫Spanner Graph ותקני ISO

במאמר הזה מוסבר איך Spanner Graph תומך בשפת השאילתות הבינלאומית ISO למסדי נתונים של גרפים.

‫Spanner Graph מבוסס על שני תקני ISO:

בטבלאות הבאות מתואר הקשר ברמה גבוהה בין SQL/PGQ,‏ GQL ובין האופן שבו Spanner Graph תומך בתקנים האלה.

רגילה SQL/PGQ GQL Spanner Graph
שאילתה יכולות של התאמת דפוסי גרפים משתפת את הפונקציות העיקריות של Graph Pattern Matching Language‏ (GPML) עם GQL. משתף את הפונקציות הבסיסיות של GPML עם SQL/PGQ. יש תמיכה בשני התקנים. מידע נוסף זמין במאמר בנושא תבניות GQL ב-Spanner Graph.
שאילתה תכונות נוספות של שפת השאילתות (לדוגמה, LIMIT, ORDER, צבירה) מבוסס על SQL. בדומה ל-SQL, אבל התכונות של שאילתת GQL הן משפטי שאילתת גרף שניתנים להרכבה לינארית. יש תמיכה בשני התקנים. מידע נוסף זמין במאמרים בנושא הצהרות של שאילתות GQL ב-Spanner Graph ותחביר של שאילתות ב-GoogleSQL.
שאילתה יכולת פעולה הדדית של גרפים וטבלאות יש תמיכה. לא נתמך. יש תמיכה בשני התקנים. מידע נוסף זמין במאמר בנושא האופרטור GRAPH_TABLE.
סוגים סוגי הנתונים, הפונקציות והביטויים ב-SQL/PGQ וב-GQL דומים. סוגי הנתונים, הפונקציות והביטויים ב-SQL/PGQ וב-GQL דומים. תומך ברוב סוגי הנתונים והביטויים ב-SQL/PGQ וב-GQL. מידע נוסף זמין במאמר בנושא סוגי נתונים ב-GoogleSQL.
DML ‫SQL/PGQ יורש את DML מ-SQL. יש תמיכה ב-DML מבוסס-גרף. תמיכה ב-DML שמבוסס על טבלאות SQL. מידע נוסף זמין במאמר בנושא שפת טיפול בנתונים (DML) ב-GoogleSQL.
סכימה אפשר להשתמש ב-CREATE PROPERTY GRAPH מתוך טבלאות. תמיכה בשימוש ב-CREATE PROPERTY GRAPH עם סוגים פתוחים וסוגים סגורים. יש תמיכה בשיטת SQL/PGQ. מידע נוסף זמין בהגדרה של CREATE PROPERTY GRAPH.

תמיכה ב-SQL/PGQ

רגילה מזהה התכונה של SQL/PGQ Spanner Graph
שאילתה (יכולת פעולה הדדית של גרפים וטבלאות) תכונה G900: GRAPH_TABLE יש תמיכה. מידע נוסף זמין במאמר בנושא האופרטור GRAPH_TABLE.
סכימה תכונה G924: סעיף מפתח מפורש לטבלאות רכיבים. המשמעות היא הצהרה על התאמה לתכונה G920: גרפים של מאפייני SQL מבוססי DDL. יש תמיכה. מידע נוסף זמין בדף החשבון של CREATE_PROPERTY_GRAPH.
סכימה תכונה G925: סעיף מפורש של תווית ומאפיינים לטבלאות של רכיבים. המשמעות היא הצהרה על התאמה לתכונה G920: גרפים של מאפייני SQL מבוססי DDL. יש תמיכה. מידע נוסף זמין בדף החשבון של CREATE_PROPERTY_GRAPH.
שאילתה (GPML) תכונה G001: מצב התאמה של רכיבים שניתן לחזור עליהם. יש תמיכה. מצב ההתאמה של רכיבים שניתן לחזור עליהם הוא ברירת המחדל הסמנטית. אין תמיכה בתחביר של סעיף מצב התאמה של רכיבים חוזרים מפורשים.
שאילתה (GPML) תכונה G008: סעיף של תבנית גרף WHERE. המשמעות היא הצהרה על התאמה לתכונה G000: תבנית גרף. יש תמיכה. מידע נוסף זמין במאמר בנושא דפוסים בגרף.
שאילתה (GPML) תכונה G034: שרשור נתיבים. יש תמיכה. מידע נוסף זמין במאמר בנושא דפוסים בגרף.
שאילתה (GPML) תכונה G040: דפוס Vertex. יש תמיכה. מידע נוסף מופיע במאמר בנושא תבנית רכיבים.
שאילתה (GPML) תכונה G042: דפוסים בסיסיים של קצוות מלאים. יש תמיכה. מידע נוסף מופיע במאמר בנושא תבנית רכיבים.
שאילתה (GPML) תכונה G070: ביטוי תוויות: איחוד תוויות. יש תמיכה. מידע נוסף זמין במאמר בנושא ביטויים של תוויות.
שאילתה (GPML) תכונה G073: ביטוי של תווית: שם של תווית ספציפית. יש תמיכה. מידע נוסף זמין במאמר בנושא ביטויים של תוויות.
שאילתה (GPML) תכונה G090: הפניה לנכס. יש תמיכה.

תמיכה ב-GQL

רגילה מזהה התכונה של GQL Spanner Graph
סכימה תכונה GG02: תרשים עם סוג תרשים סגור. תאימות לפחות לאחד מהתקנים GG20,‏ GG21,‏ GG22 או GG23:
  • תכונה GG20: שמות מפורשים של סוגי רכיבים.
  • תכונה GG21: הגדרות של תוויות מפתח מסוג רכיב מפורש.
  • תכונה GG22: הסקת מסקנות לגבי תווית המפתח של סוג הרכיב.
  • תכונה GG22: הסקת מסקנות לגבי תווית המפתח של סוג הרכיב.
  • תכונה GG23: קבוצות של תוויות מפתח מסוג אלמנט אופציונלי.
יש תמיכה. אפשר לבחור תמיכה ב-GQL מתוך GG01: Graph with an open type או GG02. ‫
Spanner Graph לא תומך באותה הצהרת CREATE_GRAPH_TYPE בדיוק כמו GQL. עם זאת, ההצהרה CREATE_PROPERTY_GRAPH שנתמכת על ידי Spanner Graph קשורה קשר הדוק ל-GG02 (עם תמיכה דומה ב-GG20,‏ GG21,‏ GG22 ו-GG23).
מבנה לקסיקלי "הצהרה על תאימות לגרסה ספציפית של תקן Unicode® ולגרסאות הסינכרוניות של התקן הטכני של Unicode מס' 10, נספח תקן Unicode מס' 15 ונספח תקן Unicode מס' 31. הגרסה שצוינה של תקן Unicode®‎ לא יכולה להיות נמוכה מ-13.0.0". ל-Spanner Graph GQL יש מבנה לקסיקלי זהה לזה של GoogleSQL. לעיון בערכי escape של Unicode, אפשר לעבור אל Escape sequences for string and bytes literals (רצפי escape עבור מחרוזות וליטרלים של בייטים).
סוגי נתונים ‫"A claim of conformance to the set of all value types that are supported as the types of property values. לכל הפחות, המארז צריך לכלול:
  • סוג מחרוזת התווים שצוין על ידי STRING או VARCHAR.
  • הסוג הבוליאני שצוין על ידי BOOLEAN או BOOL.
  • סוג המספר השלם הרגיל החתום שצוין על ידי SIGNED INTEGER,‏ INTEGER או INT.
  • הסוג המספרי המשוער שצוין על ידי FLOAT".
יש תמיכה. מידע נוסף זמין ברשימה המלאה של סוגי הנתונים שנתמכים על ידי Spanner Graph GQL.

תכונות נוספות

התכונות שמפורטות בקטעים הקודמים הן התכונות המינימליות של התקנים. ‫Spanner Graph תומך בתכונות נוספות בתקני ISO. מידע נוסף זמין במאמרים סקירה כללית על סכימת גרף ב-Spanner וסקירה כללית על GQL.