이 페이지에서는 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: 꼭지점 패턴 | 지원됨 자세한 내용은 요소 패턴을 참고하세요. |
쿼리 (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 개요를 참고하세요.