버전 드롭다운 목록을 사용하여 서비스를 전환합니다. 탐색에 대해 자세히 알아봅니다.
적용 대상: ✅ Microsoft Fabric ✅ Azure Data Explorer
GQL(그래프 쿼리 언어)을 사용하면 표준화된 그래프 패턴 일치를 사용할 수 있습니다. GQL은 그래프 데이터베이스 쿼리에 대한 ISO GQL 표준을 따릅니다.
비고
GQL 지원은 미리 보기로 제공됩니다. 기능 및 구문은 피드백 및 지속적인 개발에 따라 변경 될 수 있습니다.
소개
GQL(그래프 쿼리 언어)은 그래프 데이터베이스를 쿼리하기 위한 새로운 ISO 표준입니다. GQL을 사용하면 그래프 패턴 일치에 SQL과 유사한 구문을 사용할 수 있으므로 데이터의 관계를 보다 쉽게 분석할 수 있습니다. 이 문서에서는 GQL을 사용하는 방법, GQL의 이점 및 주요 기능을 설명합니다.
GQL은 ISO 표준 구문을 사용하여 데이터의 관계를 분석하기 위한 표준화된 그래프 패턴 일치 기능을 제공합니다.
시작하기
GQL을 사용하려면 다음이 필요합니다.
- 그래프 모델 또는 make-graph 연산자로 끝나는 임시 그래프를 반환하는 함수인 그래프 데이터 원본입니다(1단계 참조).
- 특정 클라이언트 요청 속성을 설정합니다(2단계 참조).
1단계: 그래프 참조 만들기
GQL을 사용하기 전에 그래프 데이터 원본을 만듭니다. 이 문서에서는 메모리 내 make-graph 연산자를 사용하지만 프로덕션 시나리오에 그래프 스냅샷을 사용하는 것이 좋습니다.
.create-or-alter function G_doc() {
let nodes = datatable(id:string, lbl:string, name:string, properties:dynamic)
[
"p1","Person","Alice",dynamic({"age": 25}),
"p2","Person","Bob",dynamic({"age": 30}),
"p3","Person","Carol",dynamic({"age": 28}),
"p4","Person","David",dynamic({"age": 35}),
"p5","Person","Emma",dynamic({"age": 26}),
"c1","Company","TechCorp",,
"c2","Company","DataSoft",,
"c3","Company","CloudInc",,
"ct1","City","Seattle",,
"ct2","City","Portland",,
"ct3","City","San Francisco",
];
let edges = datatable(source:string, target:string, lbl:string, since:int)
[
"p1","c1","works_at",2020,
"p2","c1","works_at",2022,
"p3","c2","works_at",2023,
"p4","c3","works_at",2021,
"p5","c1","works_at",2024,
"p1","ct1","located_at",2019,
"p2","ct1","located_at",2021,
"p3","ct2","located_at",2022,
"p4","ct3","located_at",2020,
"p5","ct2","located_at",2023,
"c1","ct1","located_at",2015,
"c2","ct2","located_at",2018,
"c3","ct3","located_at",2017,
"p1","p2","knows",2019,
"p2","p3","knows",2021,
"p3","p4","knows",2022,
"p4","p5","knows",2023,
"p1","p4","likes",2020,
"p4","p1","likes",2020,
"p5","p2","likes",2022
];
edges
| make-graph source --> target with nodes on id
}
2단계: 클라이언트 요청 속성 구성
GQL 쿼리를 실행하려면 세 개의 클라이언트 요청 속성을 설정합니다. 지시문을 사용하여 SDK, API 또는 Kusto Explorer 또는 Azure Data Explorer 웹 UI 에서 직접 이러한 속성을 설정합니다.
GQL 쿼리를 실행하려면 세 개의 클라이언트 요청 속성을 설정합니다. 지시문을 사용하여 SDK, API 또는 Kusto Explorer 또는 KQL 쿼리 세트에서 직접 이러한 속성을 설정합니다.
클라이언트 요청 속성 설정
중요합니다
GQL 쿼리를 실행하기 전에 각 지시문을 개별적으로 실행합니다. 지시문은 GQL 실행을 위한 쿼리 환경을 설정합니다.
#crp query_language=gql
#crp query_graph_reference=G_doc()
GQL에서 레이블을 사용하려면 레이블 열 이름을 설정합니다.
#crp query_graph_label_name=lbl
팁 (조언)
레이블은 GQL에서 선택 사항이지만 형식별로 노드 및 가장자리를 필터링하는 데 자주 사용됩니다. GQL 쿼리에서 레이블을 사용하도록 레이블 열 이름을 설정합니다.
프로그래밍 방식으로 클라이언트 요청 속성 설정
프로그래밍 방식 액세스의 경우 다음 클라이언트 요청 속성을 설정합니다.
-
query_language: 로"gql"설정합니다. -
query_graph_reference: 그래프 함수 이름(예:"G_doc()")으로 설정합니다. -
query_graph_label_name: 레이블 열 이름(예:"lbl")으로 설정합니다.
3단계: GQL 쿼리 실행
설치를 완료한 후 표준 GQL 구문을 사용하여 GQL 쿼리를 실행합니다. 아래 예제를 사용하여 기본 및 고급 GQL 기능을 탐색합니다.
예시
여기에서 패턴 일치 및 레이블에 대한 기본 예제를 찾습니다. 더 복잡한 예제는 GQL 쿼리 패턴, 예제 및 일반적인 시나리오를 참조하세요. 기본 사항 및 함수 세부 정보를 포함한 참조 설명서는 GQL(그래프 쿼리 언어) 참조를 참조하세요.
기본 패턴 일치에 대한 예제 GQL 쿼리
MATCH (n)-[e]->(n2)
RETURN COUNT(*) as CNT
출력
다음 표에서는 쿼리의 결과를 보여줍니다.
| CNT |
|---|
| 20 |
레이블이 있는 예제 GQL 쿼리
MATCH (p:Person)-[e]->(target)
RETURN p.name, target.name, e.lbl
ORDER BY p.name, target.name
LIMIT 2
출력
다음 표에서는 쿼리의 결과를 보여줍니다.
| p.name | target.name | e.lbl |
|---|---|---|
| 앨리스 | 밥 | 알고 |
| 앨리스 | 다윗 | 좋아하는 |