이 페이지에서는 Spanner Graph가 그래프 데이터베이스의 ISO 국제 표준 쿼리 언어를 지원하는 방법을 설명합니다.
Spanner Graph는 다음 두 가지 ISO 표준을 기반으로 합니다.
- ISO/IEC 9075-16:2023 - 정보 기술 — 데이터베이스 언어 SQL 속성 그래프 쿼리(SQL/PGQ), 1판, 2023년
- ISO/IEC 39075:2024 - 정보 기술 — 데이터베이스 언어 — GQL, 1판, 2024년
다음 표에서는 SQL/PGQ, GQL 간의 대략적인 관계와 Spanner Graph가 이러한 표준을 지원하는 방식을 설명합니다.
| 표준 | SQL/PGQ | GQL | Spanner Graph | |
|---|---|---|---|---|
| 쿼리 | 그래프 패턴 일치 기능 | 핵심 그래프 패턴 일치 언어(GPML) 기능을 GQL과 공유합니다. | SQL/PGQ와 핵심 GPML 기능을 공유합니다. | 두 표준 모두 지원됩니다. 자세한 내용은 Spanner Graph GQL 패턴을 참고하세요. |
| 쿼리 | 기타 쿼리 언어 기능(예: LIMIT, ORDER, 집계) |
SQL 기반 | SQL과 유사하지만 GQL 쿼리 기능은 선형으로 구성 가능한 그래프 쿼리 문입니다. | 두 표준 모두 지원됩니다. 자세한 내용은 Spanner 그래프 GQL 쿼리 문 및 GoogleSQL의 쿼리 문법을 참고하세요. |
| 쿼리 | 그래프 및 테이블 상호 운용성 | 지원됨 | 지원되지 않음 | 두 표준 모두 지원됩니다. 자세한 내용은 GRAPH_TABLE 연산자를 참고하세요. |
| 유형 | SQL/PGQ와 GQL의 데이터 유형, 함수, 표현식은 유사합니다. | SQL/PGQ와 GQL의 데이터 유형, 함수, 표현식은 유사합니다. | SQL/PGQ와 GQL에서 대부분의 데이터 유형과 표현식을 지원합니다. 자세한 내용은 GoogleSQL의 데이터 유형을 참조하세요. | |
| DML | SQL/PGQ는 SQL에서 DML을 상속합니다. | 그래프 기반 DML이 지원됩니다. | SQL 테이블 기반 DML을 지원합니다. 자세한 내용은 GoogleSQL 데이터 조작 언어를 참고하세요. | |
| 스키마 | 테이블에서 CREATE PROPERTY GRAPH 사용을 지원합니다. |
개방형 유형 및 폐쇄형 유형에서 CREATE PROPERTY GRAPH 사용을 지원합니다. |
SQL/PGQ 메서드를 지원합니다. 자세한 내용은 CREATE PROPERTY GRAPH 정의를 참조하세요. |
SQL/PGQ 지원
| 표준 | SQL/PGQ 특성 ID | Spanner Graph |
|---|---|---|
| 쿼리(그래프 및 테이블 상호 운용성) | 특성 G900: GRAPH_TABLE |
지원됨 자세한 내용은 GRAPH_TABLE 연산자를 참고하세요. |
| 스키마 | 특성 G924: 요소 테이블의 명시적 키 절입니다. 이는 '특성 G920: DDL 기반 SQL 속성 그래프'에 대한 적합성 주장을 의미합니다. | 지원됨 자세한 내용은 CREATE_PROPERTY_GRAPH 문을 참조하세요. |
| 스키마 | 특성 G925: 요소 테이블의 명시적 라벨 및 속성 절입니다. 이는 '특성 G920: DDL 기반 SQL 속성 그래프'에 대한 적합성 주장을 의미합니다. | 지원됨 자세한 내용은 CREATE_PROPERTY_GRAPH 문을 참조하세요. |
| 쿼리(GPML) | 특성 G001: 반복 가능한 요소 일치 모드 | 지원됨 반복 가능한 요소 일치 모드는 기본 시맨틱입니다. 반복 가능한 명시적 요소 일치 모드 절 구문은 지원되지 않습니다. |
| 쿼리(GPML) | 특성 G008: 그래프 패턴 WHERE 절입니다. 이는 '특성 G000: 그래프 패턴'에 대한 적합성 주장을 의미합니다. |
지원됨 자세한 내용은 그래프 패턴을 참고하세요. |
| 쿼리(GPML) | 특성 G034: 경로 연결 | 지원됨 자세한 내용은 그래프 패턴을 참고하세요. |
| 쿼리(GPML) | 특성 G040: Vertex 패턴 | 지원됨 자세한 내용은 요소 패턴을 참고하세요. |
| 쿼리(GPML) | 특성 G042: 기본 전체 에지 패턴 | 지원됨 자세한 내용은 요소 패턴을 참고하세요. |
| 쿼리(GPML) | 특성 G070: 라벨 표현식: 라벨 논리합 | 지원됨 자세한 내용은 라벨 표현식을 참고하세요. |
| 쿼리(GPML) | 특성 G073: 라벨 표현식: 개별 라벨 이름 | 지원됨 자세한 내용은 라벨 표현식을 참고하세요. |
| 쿼리(GPML) | 특성 G090: 속성 참조 | 지원됨 |
GQL 지원
| 표준 | GQL 특성 ID | Spanner Graph |
|---|---|---|
| 스키마 | 특성 GG02: 폐쇄된 그래프 유형의 그래프입니다. GG20, GG21, GG22 또는 GG23 중 하나 이상을 준수합니다.
|
지원됨 GQL 지원은 GG01: 개방형 유형의 그래프 또는 GG02 중에서 선택할 수 있습니다. Spanner Graph는 GQL과 정확히 동일한 CREATE_GRAPH_TYPE 문을 지원하지 않습니다. 그러나 Spanner Graph에서 지원하는 CREATE_PROPERTY_GRAPH 문은 GG02와 밀접한 관련이 있으며 GG20, GG21, GG22, GG23에 대해서도 유사한 지원을 제공합니다. |
| 어휘 구조 | '특정 버전의 TheUnicode® 표준 및 유니코드 기술 표준 #10, 유니코드 표준 부록 #15, 유니코드 표준 부록 #31의 동기 버전에 대한 적합성 주장입니다. Unicode® 표준의 주장된 버전은 13.0.0 이상이어야 합니다.' | Spanner Graph GQL은 GoogleSQL과 정확한 어휘 구조를 공유합니다. 유니코드 이스케이프 값을 참고하려면 문자열 및 바이트 리터럴의 이스케이프 시퀀스를 참고하세요. |
| 데이터 유형 | '속성 값 유형으로 지원되는 모든 값 유형 집합에 대한 적합성 주장입니다. 이 집합에는 최소한 다음이 포함되어야 합니다.
|
지원됨 자세한 내용은 Spanner Graph GQL에서 지원하는 데이터 유형의 전체 목록을 참고하세요. |
추가 기능
이전 섹션에 나열된 특성은 표준의 최소한의 규정 준수 특성입니다. Spanner Graph는 ISO 표준의 추가 특성을 지원합니다. 자세한 내용은 Spanner Graph 스키마 개요 및 GQL 개요를 참고하세요.