BigQuery Graph ותקני ISO
במאמר מוסבר איך BigQuery Graph תומך בשפת השאילתות הסטנדרטית הבינלאומית של ISO למסדי נתונים של תרשימים.
BigQuery Graph מבוסס על שני תקני ISO:
- ISO/IEC 9075-16:2023 - טכנולוגיית מידע — שפות מסדי נתונים שאילתות גרף מאפיינים של SQL (SQL/PGQ), מהדורה 1, 2023
- ISO/IEC 39075:2024 - טכנולוגיית מידע — שפות מסדי נתונים — GQL, מהדורה 1, 2024
בטבלאות הבאות מתואר הקשר הכללי בין SQL/PGQ ל-GQL, ואיך BigQuery Graph תומך בתקנים האלה.
| רגילה | SQL/PGQ | GQL | BigQuery Graph | |
|---|---|---|---|---|
| שאילתה | יכולות התאמת דפוסים בגרף | היא חולקת עם GQL את הפונקציות העיקריות של Graph Pattern Matching Language (GPML). | משתף את הפונקציות העיקריות של GPML עם SQL/PGQ. | שני התקנים נתמכים. מידע נוסף זמין במאמר תבניות GQL ב-BigQuery Graph. |
| שאילתה | תכונות אחרות של שפת השאילתות (לדוגמה, LIMIT, ORDER, צבירה) |
מבוססות על SQL. | היא דומה ל-SQL, אבל התכונות של שאילתות GQL הן הצהרות של שאילתות גרף שניתן לשלב באופן לינארי. | שני התקנים נתמכים. מידע נוסף זמין במאמרים הצהרות שאילתות GQL ותחביר שאילתות ב-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 | BigQuery 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 של תבנית גרף. המשמעות היא שהתכונה עומדת בדרישות של Feature G000: Graph pattern. |
יש תמיכה. מידע נוסף זמין במאמר תבנית תרשים. |
| שאילתה (GPML) | תכונה G034: שרשור נתיבים. | יש תמיכה. מידע נוסף זמין במאמר תבנית תרשים. |
| שאילתה (GPML) | תכונה G040: תבנית קודקוד. | יש תמיכה. מידע נוסף זמין במאמר בנושא תבנית רכיב. |
| שאילתה (GPML) | תכונה G042: דפוסי קצוות מלאים בסיסיים. | יש תמיכה. מידע נוסף זמין במאמר בנושא תבנית רכיב. |
| שאילתה (GPML) | תכונה G070: ביטוי תווית: הפרדת תווית. | יש תמיכה. מידע נוסף זמין במאמר בנושא ביטוי תווית. |
| שאילתה (GPML) | תכונה G073: ביטוי תווית: שם תווית ספציפי. | יש תמיכה. מידע נוסף זמין במאמר בנושא ביטוי תווית. |
| שאילתה (GPML) | תכונה G090: הפניה לנכס. | יש תמיכה. |
תמיכה ב-GQL
| רגילה | מזהה תכונה ב-GQL | BigQuery Graph |
|---|---|---|
| סכימה | תכונה GG02: תרשים עם סוג תרשים סגור. תאימות לאחת לפחות מההנחיות הבאות: GG20, GG21, GG22 או GG23:
|
יש תמיכה. אפשר לבחור תמיכה ב-GQL מ-GG01: תרשים עם סוג פתוח או GG02. BigQuery Graph לא תומך באותה הצהרת CREATE_GRAPH_TYPE כמו GQL. עם זאת, ההצהרה CREATE_PROPERTY_GRAPH שנתמכת ב-BigQuery Graph קשורה באופן הדוק ל-GG02 (עם תמיכה דומה ב-GG20, GG21, GG22 ו-GG23). |
| מבנה לקסיקלי | "הצהרה על תאימות לגרסה ספציפית של תקן Unicode® ולגרסאות הסינכרוניות של התקן הטכני של Unicode מס' 10, נספח תקן Unicode מס' 15 ונספח תקן Unicode מס' 31. גרסת תקן Unicode® שנטענת לא תהיה נמוכה מ-13.0.0". | ל-BigQuery Graph GQL יש את אותו מבנה לקסיקלי כמו ל-GoogleSQL. למידע נוסף על ערכי תווי בריחה (escape) ב-Unicode, קראו את המאמר רצפי תווי בריחה (escape) למחרוזות ולערכים מילוליים של בייטים. |
| סוגי הנתונים | "הצהרה על תאימות לקבוצה של כל סוגי הערכים שנתמכים כסוגים של ערכי מאפיינים. הקבוצה הזו צריכה לכלול לפחות:
|
יש תמיכה. למידע נוסף, קראו את הרשימה המלאה של סוגי הנתונים שנתמכים ב-BigQuery Graph GQL. |
תכונות נוספות
התכונות שמפורטות בקטעים הקודמים הן התכונות המינימליות שנדרשות כדי לעמוד בתקנים. BigQuery Graph תומך בתכונות נוספות בתקני ISO. למידע נוסף, קראו את הסקירה הכללית על סכימת BigQuery Graph ואת הסקירה הכללית על GQL.