Halaman ini menjelaskan cara Spanner Graph mendukung bahasa kueri standar internasional ISO untuk database grafik.
Spanner Graph didasarkan pada dua standar ISO:
- ISO/IEC 9075-16:2023 - Teknologi informasi — Kueri Grafik Properti SQL (SQL/PGQ) bahasa database, Edisi 1, 2023
- ISO/IEC 39075:2024 - Teknologi informasi — Bahasa database — GQL, Edisi 1, 2024
Tabel berikut menjelaskan hubungan tingkat tinggi antara SQL/PGQ, GQL, dan cara Spanner Graph mendukung standar ini.
Standard | SQL/PGQ | GQL | Spanner Graph | |
---|---|---|---|---|
Kueri | Kemampuan pencocokan pola grafik | Membagikan fungsi inti Graph Pattern Matching Language (GPML) dengan GQL. | Membagikan fungsi inti GPML dengan SQL/PGQ. | Kedua standar tersebut didukung. Untuk mengetahui informasi selengkapnya, lihat pola GQL Grafik Spanner. |
Kueri | Fitur bahasa kueri lainnya (misalnya, LIMIT , ORDER , agregasi) |
Berbasis SQL. | Mirip dengan SQL, tetapi fitur kueri GQL adalah pernyataan kueri grafik yang dapat disusun secara linear. | Kedua standar tersebut didukung. Untuk informasi selengkapnya, lihat Pernyataan kueri GQL dan Sintaksis kueri di GoogleSQL Graph Spanner. |
Kueri | Interoperabilitas grafik dan tabel | Didukung. | Tidak didukung. | Kedua standar tersebut didukung. Untuk mengetahui informasi selengkapnya, lihat operator GRAPH_TABLE . |
Jenis | Jenis data, fungsi, dan ekspresi di SQL/PGQ dan GQL serupa. | Jenis data, fungsi, dan ekspresi di SQL/PGQ dan GQL serupa. | Mendukung sebagian besar jenis data dan ekspresi di SQL/PGQ dan GQL. Untuk mengetahui informasi selengkapnya, lihat Jenis data di GoogleSQL, | |
DML | SQL/PGQ mewarisi DML dari SQL. | DML berbasis grafik didukung. | Mendukung DML berbasis tabel SQL. Untuk mengetahui informasi selengkapnya, lihat bahasa manipulasi data GoogleSQL. | |
Skema | Mendukung penggunaan CREATE PROPERTY GRAPH dari tabel. |
Mendukung penggunaan CREATE PROPERTY GRAPH dengan jenis terbuka dan jenis tertutup. |
Mendukung metode SQL/PGQ. Untuk mengetahui informasi selengkapnya, lihat definisi CREATE PROPERTY GRAPH . |
Dukungan SQL/PGQ
Standard | ID fitur SQL/PGQ | Spanner Graph |
---|---|---|
Kueri (Interoperabilitas grafik dan tabel) | Fitur G900: GRAPH_TABLE |
Didukung. Untuk informasi selengkapnya, lihat operator GRAPH_TABLE . |
Skema | Fitur G924: Klausa kunci eksplisit untuk tabel elemen. Hal ini menyiratkan klaim kesesuaian dengan Fitur G920: Grafik properti SQL berbasis DDL. | Didukung. Untuk mengetahui informasi selengkapnya, lihat pernyataan CREATE_PROPERTY_GRAPH . |
Skema | Fitur G925: Klausa properti dan label eksplisit untuk tabel elemen. Hal ini menyiratkan klaim kesesuaian dengan Fitur G920: Grafik properti SQL berbasis DDL. | Didukung. Untuk mengetahui informasi selengkapnya, lihat pernyataan CREATE_PROPERTY_GRAPH . |
Kueri (GPML) | Fitur G001: Mode pencocokan elemen berulang. | Didukung. Mode pencocokan elemen berulang adalah semantik default. Sintaksis klausa mode pencocokan elemen berulang eksplisit tidak didukung. |
Kueri (GPML) | Fitur G008: Klausa WHERE pola grafik. Hal ini menyiratkan klaim kesesuaian dengan Fitur G000: Pola grafik. |
Didukung. Untuk informasi selengkapnya, lihat Pola grafik. |
Kueri (GPML) | Fitur G034: Penggabungan jalur. | Didukung. Untuk informasi selengkapnya, lihat Pola grafik. |
Kueri (GPML) | Fitur G040: Pola vertex. | Didukung. Untuk informasi selengkapnya, lihat Pola elemen. |
Kueri (GPML) | Fitur G042: Pola tepi penuh dasar. | Didukung. Untuk informasi selengkapnya, lihat Pola elemen. |
Kueri (GPML) | Fitur G070: Ekspresi label: disjungsi label. | Didukung. Untuk informasi selengkapnya, lihat Ekspresi label. |
Kueri (GPML) | Fitur G073: Ekspresi label: nama label individual. | Didukung. Untuk informasi selengkapnya, lihat Ekspresi label. |
Kueri (GPML) | Fitur G090: Referensi properti. | Didukung. |
Dukungan GQL
Standard | ID fitur GQL | Spanner Graph |
---|---|---|
Skema | Fitur GG02: Grafik dengan jenis grafik tertutup. Kepatuhan terhadap setidaknya salah satu dari GG20, GG21, GG22, atau GG23:
|
Didukung. Dukungan GQL dapat dipilih dari GG01: Grafik dengan jenis terbuka atau GG02. Spanner Graph tidak mendukung pernyataan CREATE_GRAPH_TYPE yang sama persis dengan GQL. Namun, pernyataan CREATE_PROPERTY_GRAPH yang didukung oleh Spanner Graph sangat terkait dengan GG02 (dengan dukungan serupa untuk GG20, GG21, GG22, dan GG23). |
Struktur leksikal | "Klaim kesesuaian dengan versi tertentu dari TheUnicode® Standard dan versi sinkron Unicode Technical Standard #10, Unicode Standard Annex #15, dan Unicode Standard Annex #31. Versi Standar Unicode® yang diklaim tidak boleh kurang dari 13.0.0." | Spanner Graph GQL memiliki struktur leksikal yang sama persis dengan GoogleSQL. Untuk referensi nilai escape unicode, lihat Urutan escape untuk literal string dan byte. |
Jenis data | "Klaim kesesuaian dengan kumpulan semua jenis nilai yang didukung sebagai jenis nilai properti. Set ini minimal harus menyertakan:
|
Didukung. Untuk mengetahui informasi selengkapnya, lihat daftar lengkap jenis data yang didukung oleh Spanner Graph GQL. |
Fitur tambahan
Fitur yang tercantum di bagian sebelumnya adalah fitur kepatuhan minimum standar. Spanner Graph mendukung fitur tambahan dalam standar ISO. Untuk mempelajari lebih lanjut, lihat ringkasan skema Spanner Graph dan ringkasan GQL.